Heute sind Business-Prozesse oft komplett digital abgebildet. Aber es besteht weiteres Potenzial, um Abläufe mit Automatisierung noch besser zu unterstützen. Eine Automatisierung erhöht die Geschwindigkeit, die Zuverlässigkeit und Datenintegrität und spart damit Kosten.

Stellen Sie sich vor, eine Außendienstmitarbeiterin entdeckt bei einer Routineinspektion einen Defekt an einem Bauteil, der die Betriebssicherheit gefährdet. Das könnte ein beschädigter Zaun rund um eine Hochspannungsanlage sein. Der Inspektionsauftrag wurde vom Einsatzleiter digital erstellt, die Mitarbeiterin navigierte mittels App zur Anlage, führte die Inspektion mit Hilfe einer mobilen App formularbasiert durch und erfasste den Schaden im System. Und das, während die Einsatzleitung dank Tracking alles in Echtzeit verfolgen konnte. Bei all diesen Schritten unterstützte ArcGIS. Darüber hinaus ist es mittels Integrationsplattformen möglich, Geschäftsprozesse mit ArcGIS weiter zu automatisieren: ein dringender Wartungsauftrag an den Bereitschaftsdienst kann ohne das Zutun der Außendienstmitarbeiterin direkt ausgelöst oder eine bestimmte Person per E-Mail gleich informiert werden.

In diesem Blogbeitrag zeigen wir Ihnen eine ausführliche Schritt-für-Schritt-Anleitung, wie sich das mit der App ArcGIS Field Maps umsetzen lässt.

Abbildung 2: Geöffnetes ArcGIS Workforce-Projekt mit abgearbeiteten Inspektions-Aufträgen (grün) und automatisch erstellten Wartungs-Aufträgen (rot) mit hoher Dringlichkeit. Diese wurden automatisch aufgrund bestimmter Attributwerte in den Inspektionsformularen erstellt.

1. Lösungsarchitektur: die nötigen Zutaten

Wir gehen von folgendem Szenario im Bereich Wasserversorgung aus: Es liegen bereits erfasste Punktdaten von Hydranten vor. Die Hydranten müssen jährlich inspiziert und ggf. auch gewartet werden. Es gibt also eine 1-n-Beziehung zwischen jedem Hydranten und dazugehörigen Inspektionen. Dies kann mit Hilfe von Beziehungen und Tabellen abgebildet werden. In unserem Fall liegt in ArcGIS Online ein gehosteter Punkt-Feature-Layer mit einer dazugehörigen Tabelle für Wartungen und Inspektionen vor. Ein entsprechendes Template steht in ArcGIS Online direkt zur Verfügung (Tab «Inhalt» à «Neues Element» à «Feature-Layer» à «Vorlage verwenden» à «Hydrant Maintenance Inspections»).

Weitere Ingredienzen für den Use Case sind der Einsatz von ArcGIS Field Maps, um die Inspektionen und Wartungen im Feld formularbasiert durchzuführen und ArcGIS Workforce, um das Auftragsmanagement abzubilden. Auf diese Basis gehen wir in diesem Artikel nicht weiter ein.

Dank der offenen Programmierschnittstelle (API) zu ArcGIS Workforce und mit der Hilfe von Webhooks und Integrationsplattformen wie Power Automate oder Integromat, kann dann das automatisierte Erstellen von Arbeitsaufträgen in ArcGIS mit folgenden Workflows sehr einfach erreicht werden.

Nützliche Hinweise:

2. Einschub: Webhooks

Wie erwähnt, benötigt die Lösung Webhooks. Ein Webhook ist eine Möglichkeit für eine Anwendung, anderen Anwendungen über Callbacks Informationen nahezu in Echtzeit zur Verfügung zu stellen. Diese Technologie ist die Basis für die Umsetzung des hier gezeigten Workflows.

Webhooks sind ein nutzerdefinierter HTTP-Request, welcher von einem Event ausgelöst wird. Wenn dieser Event eintritt, dann sendet die konfigurierte App oder der Service einen HTTP-POST-Request zur konfigurierten Webhook-URL. Ein solcher Event kann im Fall eines in ArcGIS Online gehosteten Feature-Services beispielsweise die Erstellung, das Aktualisieren oder das Löschen von Features sein.

Es gibt einige Schlüsselkonzepte für die Verwendung von Webhooks:

  • Trigger – Startet den Webhook Task/ Prozess
  • Action – etwas, was der Webhook macht
  • Provider – Drittanbieter Software welche Webhooks erlaubt
  • Payload – Content, der zum Webhook gesendet wird

Wenn ein Webhook ausgelöst wird, dann wird Payload mit Informationen an die angegebene URL gesendet. Der Provider, welcher die URL verwaltet (in unserem Beispiel Integromat), kann anschließend eine Aktion mit den bereitgestellten Informationen durchführen. Es gibt verschiedenste Provider: neben Integromat z.B. auch Microsoft Power Automate oder Zapier. Diese erlauben es, Webhooks zu konsumieren und so Automatisierungen umzusetzen.

3. Automatisierung von ArcGIS mit Integromat

Falls Sie noch kein Konto bei Integromat.com haben, erstellen Sie ein neues. Nachdem Sie sich eingeloggt haben, können Sie ein neues Szenario erstellen, um den Workflow zu automatisieren.

Klicken Sie auf das große Symbol, um ein Szenario zu erstellen. Suchen Sie nach «Field Maps» und klicken Sie auf ArcGIS Field Maps, um die Field Maps App verwenden zu können. Wählen Sie das Watch Features-Modul.

Abbildung 3: Hinzufügen des Watch Feature-Moduls in Integromat.

Klicken Sie Add im Webhook-Konfigurationsdialog, um die Webhook-Konfiguration durchzuführen. Ein Webhook wird benötigt, um neue Inspektionen detektieren zu können. Füllen Sie folgende Informationen aus:

  • Webhook Name – Geben Sie dem Webhook einen beschreibenden Namen.
  • Connection – Klicken Sie auf Add, um sich mit Ihrem ArcGIS Account zu verbinden. Bennen Sie die Verbindung mit einer sinnvollen Bezeichnung. Die Subdomäne ist die Umgebung, unter welcher der Inhalt Ihrer Organisation gehostet wird. Diese Nummer kann im verwendeten Hydranten-Feature Layer in ArcGIS Online in den Elementinformationen unter URL gefunden werden. Dieselbe Verbindung wird später verwendet, um API Call-Module zu erstellen.
Abbildung 4: ArcGIS Elementinformationen, Abschnitt URL. Markiert ist die Subdomäne
Abbildung 5: Verbindungseinstellungen in Integromat mit Eingabe der entsprechenden Subdomäne.

Wählen Sie den Hydranten-Feature Layer und den Trigger Event «Features Created» aus. Klicken Sie auf Speichern, um den Webhook mit ArcGIS Online zu registrieren. Anschließend klicken Sie auf OK, um die Konfiguration für das Watch Features-Modul zu beenden.

Abbildung 6: Webhook-Konfiguration in Integromat

Als nächstes fügen Sie ein Iterator-Modul hinzu. Dieses Modul erlaubt es, durch ein Array (also eine Liste) von Features iterieren zu können, falls mehrere Features gleichzeitig zurückgegeben werden. Wenn mehrere Feldmitarbeitende neue Inspektionen zur selben Zeit hinzufügen, stellt ein Iterator sicher, dass alle Inspektionen prozessiert werden.

Wählen Sie Flow Control in der Tools-Sektion.

Abbildung 7: Integromat Tools

Wählen Sie Iterator aus der Liste aus. Das Iterator-Modul wird automatisch mit dem Field Maps-Modul verbunden.

Klicken Sie in das Array-Textfeld und verwenden Sie dann das Dropdown um Adds[] in der Tabelle (1) zu finden. Das ist das Array der neuen Features, über das iteriert wird.

Abbildung 8: Einstellungen des Iterators

Für jede der Inspektionen muss das zugehörige Feature, also der spezifische Hydrant, abgefragt werden, damit ein Workforce Auftrag an demselben geografischen Ort erstellt werden kann.

Selektieren Sie nochmals Field Maps App. Es ist nun unter den Favoriten platziert.

Abbildung 9: ArcGIS Field Maps Modul in den Integromat-Favoriten.

Wählen Sie nun das Make an API Call-Modul und verbinden Sie es mit dem Iterator, in dem Sie es in seine Nähe ziehen.

Als URL verwenden Sie den relativen Pfad zum Hydranten-Layer, welcher in den Field Maps App verwendet wird. Sie können die URL aus der Items Details Page in ArcGIS Online kopieren. Stellen Sie sicher, dass Sie den Host und die Domäne von der URL entfernen, dass Sie die Layer ID 0 verwenden und den Query-Befehl in der URL hinzufügen.

Fügen Sie in einem nächsten Schritt Query String Parameter hinzu (siehe Abbildung unten). Der erst Parameter bestimmt, dass die Daten im JSON-Format zurückgegeben werden. Der zweite bestimmt, welche Attribute zurückgegeben werden sollen (* = alle). Der dritte Parameter gibt an, welches Feature zurückgegeben werden soll (dasjenige, bei dem eine Inspektion hinzugefügt wurde, identifiziert über die Asset GUID). Und der vierte Parameter gibt an, in welchem Referenzsystem die Koordinaten vorliegen sollen – hier WGS84. Klicken Sie OK.

Abbildung 10: Make an API Call Parameter in Integromat

Fügen Sie als nächstes ein Router-Modul aus der Tools-Sektion hinzu. Verbinden Sie dieses mit dem vorherigen Modul. Der Router erlaubt es, dass verschiedene Aktionen basierend auf der Inspektion durchgeführt werden.

Das Szenario sollte nun so aussehen:

Abbildung 11: Zwischenstand des Szenarios

Als nächstes soll das Hydranten-Feature und die Inspektion verwendet werden, um einen ArcGIS Workforce-Auftrag zu erstellen. Erstellen Sie dafür ein neues Create JSON-Modul, indem Sie auf das Router-Modul klicken. Klicken Sie auf eines der zwei neuen grauen Module und suchen Sie nach JSON. Wählen Sie Create JSON. Klicken Sie Add und fügen Sie eine neue Data Structure hinzu, in dem Sie den Generator verwenden. Fügen Sie nachfolgendes JSON, welches die generische Struktur eines Workforce Auftrags-Feature repräsentiert, als Sample Data hinzu.

{
    "attributes" : {
    "description" : "",
    "status" : 0,
    "priority" : 1,
    "assignmenttype" : "",
    "workorderid" : "",
    "duedate" : 0,
    "workerid" : "",
    "location" : "",
    "assigneddate" : 0,
    "dispatcherid" : ""
    },
    "geometry" :
    {
        "x" : 0,
        "y" : 0,
        "spatialReference": {
            "latestWkid": 102100,

            "wkid": 3857
        }
    }
}

Drücken Sie Save, um den Generator-Dialog zu schliessen. Speichern Sie die Data Structure.

Ein Formular erscheint, welches alle Felder enthält, die für einen ArcGIS Workforce-Auftrag benötigt werden. Diese Dokumentation erklärt die Projektstruktur und alle Assignment-Attribute von ArcGIS Workforce. Setzen Sie den Status auf «0» (unassigned). Die Priorität soll auf «1» (low) gesetzt werden. Für den Auftrags-Typ (assignmenttype) brauchen wir eine korrespondierende GlobalID. Die Auftragstypen definiert man zu Beginn eines Workforce-Projektes. Die Auflistung aller Auftrags-Typen findet man im Bereich Inhalt auf ArcGIS Online. Je Workforce-Projekt wird ein Ordner erstellt. In diesem Ordner befindet sich ein Feature Layer, der das Projekt abbildet und die Tabelle Assignment Types beinhaltet. Im Reiter Daten der Item-Seite der Tabelle findet man die Tabellenansicht der Assignment Types. Unter Optionen (Button mit drei Balken) > Spalten ein-/ausblenden wählen Sie die GlobalID an, damit dieser Wert für jedes Assignment angezeigt wird. Kopieren Sie die GlobalID für den gewünschten Assignment Typ in das entsprechende Attribut-Feld in Integromat.

Abbildung 12: Tabellen-Ansicht der Assignment Types in ArcGIS Online

Das duedate, also das Fälligkeitsdatum, kann beispielsweise mittels eines Ausdrucks auf eine bestimmte Anzahl Tage in der Zukunft gelegt werden. In unserem Beispiel einen Tag ab Inspektionsdatum (CreationDate des Inspektions-Eintrages). Für das Location-Feld kann das Attribut «LOCDESC» gesetzt werden. Für die Geometrie verwenden Sie die Geometrie des zuvor abgefragten Features in den x und y Inputs, da sich der Wartungsauftrag auf denselben Hydranten bezieht, bei dem auch die Inspektion durchgeführt wurde. Allenfalls müssen Sie das Szenario testweise einmal ausführen und in der Field Maps App eine neue Inspektion erfassen, sodass Integromat die Attribute erkennt und bereitstellt.

Die weiteren Attribute können Sie so konfigurieren, wie es für Sie sinnvoll erscheint.

Das Formular in Integromat könnte beispielsweise wie folgt aussehen:

Abbildung 13: JSON-Modul Parameter 1
Abbildung 14: JSON-Modul Parameter 2

Klicken Sie OK um das Formular abzuschliessen.

Als nächstes soll ein zweites ArcGIS Field Maps Make an API Call-Modul zum Szenario hinzugefügt werden. Dieses Modul soll mit dem vorherigen Create JSON Modul verbunden werden, um den zuvor als JSON konfigurierten Auftrag an die ArcGIS Workforce-API zu senden und zu erstellen. Geben Sie den relativen Pfad zu dem Assignments-Layer für die URL ein. Sie können die URL aus den Elementinformationen des Layers «Assignments» des Workforce-Feature Services kopieren. Stellen Sie sicher, dass Sie den Host und die Domäne aus der URL entfernen, dass die Layer ID 0 verwendet wird und der Befehl «applyEdits» zur URL hinzugefügt wird (siehe Screenshot).

Als nächstes setzen Sie die Method auf POST. Ändern Sie im Abschnitt Header den Content-Type auf application/x-www-form-urlencoded. Setzen Sie den Body auf f=json&adds=[JSON String]. Weisen Sie zwischen den eckigen Klammern den JSON-String aus dem vorherigen Modul so zu, dass er an den Feature-Layer gesendet wird.

Abbildung 15: ArcGIS Field Maps API Call-Modul Parameter

Klicken Sie OK.

Nach dem Erfassen einer neuen Inspektion wird nun automatisch ein Wartungs-Auftrag in Workforce erstellt. Gratulation, Sie haben einen ersten Workflow automatisiert! Allerdings ist diese Automatisierung noch nicht unbedingt sinnvoll, denn es wird in jedem Fall ein neuer Wartungsauftrag erstellt. In der Formularkonfiguration für die Inspektion können Sie beispielsweise die Inspektorin beauftragen, den Betriebssicherheitszustand des Hydranten zu bewerten. Auf Basis dieses Attributwerts können Sie das Integromat-Szenario verfeinern und nur dann einen Wartungsauftrag auslösen, wenn dies nötig ist.

Falls Ihre Umsetzung auf dem ganz am Anfang erwähnte Hydranten-Feature Layer-Template basiert, enthält das Inspektionsformular (die verknüpfte Tabelle) die Frage (bzw. das Attribut) «Chains r’qrd?» («Chains required?» – Ketten erforderlich?). Der Einfachheit halber verwenden wir nun dieses Attribut als Grundlage, ob ein Wartungsauftrag erstellt wird oder nicht. Ein Wartungsauftrag soll nur dann erstellt werden, wenn die Frage mit Ja beantwortet wird.

Um dies zu erreichen, muss ein Filter zwischen dem Router und dem Create JSON-Modul eingefügt werden. Klicken Sie auf das Schraubenschlüssel-Symbol zwischen den beiden Modulen und klicken Sie auf Set up a filter.

Abbildung 16: Filter-Button

Geben Sie für das Label «Chains required» ein. Setzten Sie die Bedingung wie im nachfolgenden Screenshot gezeigt:

Abbildung 17: Filter-Setup

Klicken Sie auf OK.

Das Basisszenario ist damit erstellt und kann nun zum Testen verwendet werden. Es können weitere Router mit weiteren Filtern hinzugefügt werden, um z.B. aufgrund weiterer Attribute andere Arten von Aufträgen zu erstellen, verschiedene Prioritäten zu vergeben, die Aufträge anderen Personen zuzuweisen oder unterschiedliche Fälligkeitsdaten zu definieren. Die Möglichkeiten sind vielfältig.

Abbildung 18: Finales Integromat-Szenario

3.1 Szenario testen

Um das Szenario für einen Testdurchlauf zu starten, klicken Sie auf Run once. Es wird nun auf eine neue Inspektion gewartet. Öffnen Sie die Inspektionskarte in der mobilen Field Maps App auf Ihrem mobilen Gerät. Führen Sie eine Inspektion durch, indem Sie das entsprechende Formular ausfüllen. Stellen Sie sicher, dass Sie die Frage «Chains req’d?» mit «Yes» beantworten. Senden Sie das Formular ab.

Abbildung 19: Durchführen einer Inspektion in der ArcGIS Field Maps App

In Integromat sollten Sie nach einigen Augenblicken sehen, dass das Szenario mit der Ausführung beginnt und in ca. 30 Sekunden komplett durchläuft. Sie sehen hier auch allfällige Warnungen, falls spezifische Einstellungen noch nicht richtig konfiguriert sind oder es sonstige Fehler gibt. Sobald das Szenario erfolgreich durchgelaufen ist, öffnen Sie die Workforce-Dispatcher App im Browser. Dort sollten Sie nun einen neuen Wartungs-Auftrag sehen, welcher noch niemandem zugewiesen wurde.

Abbildung 20: Automatisch erstellter Auftrag in der ArcGIS Workforce Web-App

Dies ist ein Weg, das ArcGIS Field Maps-Modul der Integrationsplattform Integromat zu verwenden, um einen End-to-end-Workflow abzubilden. Duch Anpassung dieses Basis-Szenarios können Sie sehr einfach Ihre eigenen Business-Prozesse abbilden.

4. Automatisierung mit Power Automate

Wir haben nun eine Möglichkeit kennengelernt, wie das ArcGIS Field Maps-Modul in Integromat verwendet werden kann. Es gibt jedoch noch vielfältige Möglichkeiten, um mit Integromat oder einer anderen Integrationsplattform Arbeitsabläufe zu automatisieren. Nachfolgend zeigen wir ein zusätzliches Beispiel unter Verwendung der Integrationsplattform von Microsoft, Power Automate. Für die Durchführung des Esri Kon Run’s an der Esri Konferenz 2021 wurde genau diese Automatisierung zusammen mit ArcGIS Survey123 genutzt. Beim Esri Kon Run haben wir versucht, als Community gemeinsam so viele Kilometer mit dem Fahrrad oder beim Joggen zu sammeln, dass wir die Länder Deutschland, Schweiz und Österreich einmal komplett umrunden könnten. Um beim Kilometersammeln mit von der Partie sein zu können, bedurfte es einer Anmeldung mit einem Nicknamen und einer E-Mail-Adresse. Solche formularbasierten Umfragen zur Erfassung von nutzergenerierten Daten lassen sich zum Beispiel mit der ArcGIS Online Applikation ArcGIS Survey123 erstellen. Um neue Anmeldungen den Nutzenden direkt zu bestätigen und ihnen das weitere Vorgehen zur Erfassung ihrer sportlichen Leistungen zu erklären, wurde nach dem Abschicken einer Anmeldung automatisiert eine E-Mail an die Adresse geschickt, die bei der Anmeldung angegeben wurde. Auch hier hätten wir wieder die Möglichkeit gehabt, die Funktionalitäten von Integromat zu nutzen, um diese automatisierten Nachrichten zu versenden. Im Falle von ArcGIS Survey123 ist es aber so, dass Power Automate bereits einen fixfertigen Prozess zur Verfügung stellt, der das Abschicken einer ausgefüllten ArcGIS Survey123-Umfrage als Trigger-Event nutzt und damit eine automatisierte Aktion anstoßen kann. Es muss dafür lediglich der Name der Umfrage und die Art der Aktion angeben werden, die ausgeführt werden soll. Für die Anmeldung zum Esri Kon Run handelte es sich bei der Aktion um das Verschicken einer E-Mail über Outlook. Innerhalb einer ausgewählten Aktion muss diese dann noch genauer konfiguriert werden. Das heißt, die Nachricht, die später als automatische Antwort verwendet wird, kann definiert und die Absender- und die Empfänger-E-Mail-Adresse festgelegt werden. Für alle diese Felder können nun auch direkt Angaben aus den Umfrage-Antworten verwendet werden. Dies ist beispielsweise von Nutzen, um die E-Mail-Adresse der empfangenden Person dynamisch einzusetzen, oder um in der Ansprache den Vor- und Nachnamen automatisch einzusetzen.

Abbildung 21: Flow Editor in Microsoft Power Automate – Konfiguration einer automatischen E-Mail-Antwort mit Hilfe von dynamischen Umfrage-Feldern

Sobald Sie die auszuführende Aktion dann auf diese Weise konfiguriert haben, können Sie den neu erstellten sogenannten Flow mit Hilfe des eigens dafür konzipierten Flow Checkers auf seine Funktionalität überprüfen. Nach einem erfolgreichen Durchlauf ist Ihr Flow bereit und kann aktiv eingesetzt werden.

5. Zusammenfassung

Automatisierte Workflows erleichtern die Arbeit, ermöglichen durchgängige End-to-End-Prozesse und sparen so Zeit und Geld. ArcGIS kann dank offenen Schnittstellen mit diversen Automatisierungsplattformen einfach genutzt werden. Haben Sie Fragen oder dürfen wir Sie bei Ihrem Automatisierungsprojekt unterstützen? Dann kontaktieren Sie uns gerne: sales@esri.de

Dieser Blogartikel basiert auf dem Blog-Post von Aaron Pulver, Esri Inc., September 2021: Automatically create Workforce assignments after an inspection (esri.com)

Weitere nützliche Hinweise finden Sie hier:


Autor*innen: URSINA BOOS, ROLAND SCHENKEL, SOPHIE STURZENEGGER (Esri Deutschland & Schweiz)


Mit ArcGIS digitale Potenziale im Außendienst vollständig nutzen ->