Automatisierungspraxis

RPA oder API? Beides!

27.08.2021
Von 


Milad Safar ist Managing Partner der Weissenberg Group.
Trotz Trendtechnologien wie RPA und KI gehört das Application Programming Interface (API) noch lange nicht zum alten Eisen. Warum jede Automatisierungsstrategie auch die API-Integration auf dem Zettel haben sollte.
RPA und API sind komplementäre Technologien, die sich gegenseitig hervorragend ergänzen können und gut zusammenarbeiten.
RPA und API sind komplementäre Technologien, die sich gegenseitig hervorragend ergänzen können und gut zusammenarbeiten.
Foto: kirill_makarov - shutterstock.com

Während Robotic Process Automation (RPA) und alle möglichen Technologien der künstlichen Intelligenz (KI) auf keinem Strategiepapier zur Automatisierung fehlen, wird eine altbekannte Technologie immer noch stiefmütterlich behandelt: die Integration mittels Application Programming Interface, kurz API.

Der Punkt ist dabei nicht, ob man nun auf RPA oder API setzt. Viel interessanter ist die Frage, wie sich beide Technologien gegenseitig befruchten können. RPA Tools können als Bindeglied zwischen graphischen Oberflächen und den APIs in einem Geschäftsprozess fungieren. Dazu müssen aber einige Voraussetzungen hinsichtlich der zu nutzenden Systeme und des Geschäftsprozesses selbst erfüllt sein.

Für den Geschäftsprozess gilt hierbei, dass dieser automatisierbar ist. Das heißt, er muss einem standardisierten Verfahren folgen, das regelbasiert vorgeht. Er muss zudem arbeitsintensiv sein und ein großes Transaktionsvolumen mit einem nicht unwesentlichen Fehlerpotential aufweisen. Die zu nutzenden Systeme müssen über die grafische Oberfläche beziehungsweise eine bereitgestellte API zugänglich sein.

API als Wachstumsmotor

Eine API ist eine Schnittstelle zwischen zwei Programmen, die dafür sorgt, dass Daten zwischen den Anwendungen, unter Nutzung einer strukturierten und definierten Syntax, standardisiert ausgetauscht werden können. APIs sind häufig in Module oder auch Namensräume eingeteilt, die verschiedene Funktionsgruppen der API widerspiegeln. Früher waren APIs weitgehend auf technische Bereiche beschränkt. Inzwischen sind sie aber zu einem bedeutenden Motor für das Unternehmenswachstum geworden, da sie genauso wie RPA darauf ausgelegt sind, Prozesse zu optimieren. Mit einem kleinen Unterschied: APIs interagieren mit der Zielanwendung ausschließlich über das Backend, während RPA mit der Zielanwendung über das Frontend interagiert. Erfordert der zu automatisierende Prozess nur eine eng definierte Transaktion zwischen zwei Anwendungen, dann ist die API die beste Wahl. In vielen Fällen umfassen die Prozesse jedoch mehr Schritte, als eine API-Integration bewältigen kann. In diesen Fällen kann RPA im Verbund mit API helfen, komplexe Prozesse Ende-zu-Ende zu automatisieren.

Nehmen wir zur Vertiefung das Praxisbeispiel Automatisierung der Akquise im Vertrieb durch die Synchronisation von Xing mit dem CRM-System Pipedrive. Hintergrund war die Herausforderung, dass der Vertrieb die Ansprechpartner über die bisherigen Kommunikationskanäle kaum noch erreichen konnte. Stattdessen kristallisierte sich heraus, dass die Kunden über alternative Kontaktmöglichkeiten, wie die Vernetzungen in Social-Media-Kanälen wie LinkedIn und Xing, in angemessener Zeit reagierten. Im Rahmen eines Automatisierungsprojektes sollte daher ein Teil der Akquise aus Xing automatisiert werden. Indem, gestartet durch einen Trigger, Daten aus Xing extrahiert und in das CRM synchronisiert werden, sollten die Mitarbeiter entlasten und Fehler bei der Synchronisation vermieden werden.

Wenn Xing mit Pipedrive kommunizieren soll

Die Prozessaufnahme erfolgte in Form einer Klickstrecke. Diese beinhaltet für jeden Prozessschritt einen zugehörigen Screenshot der Oberfläche des genutzten Systems, der genutzten bzw. extrahierten Daten und eventuelle Entscheidungen, die in diesem Schritt zu beachten sind.

Die so gesammelten Daten und Abläufe dienten als Grundlage zur Erstellung zweier weiterer Dokumente:

  • einem BPMN-Dokument, welches die einzelnen Prozessschritte und die dazugehörigen Daten, Systeme und Entscheidungen grafisch darstellt und

  • einem Process Definition Document, das einige Rahmendaten des Prozesses beinhaltet.

Der automatisierte Prozess sollte als teilautomatisierter Prozess angelegt werden, der von einem Mitarbeiter manuell gestartet wird, ihn individuell und zeitnah bei einem Prozess unterstützt und einen Teil der Arbeit auf der Maschine des Mitarbeiters für diesen erledigt. Da der Mitarbeiter den Prozess drei- bis viermal am Tag ausführt, würde die Automatisierung des Prozesses eine Zeitersparnis von bis zu 28 Minuten pro Tag zur Folge haben. Unabhängig von der Umstellung auf einen teilautomatisierten Prozess erfolgt die Kommunikation mit Pipedrive nicht über die Oberfläche, sondern über die API von Pipedrive. Der eigentliche Prozess besteht aus zwei Schritten: dem Extrahieren von Daten aus Xing und der Kommunikation mit der Pipedrive-API.

Zur Extraktion der Daten dient ein RPA Tool von UiPath. Es ermöglicht den Zugriff auf die GUI-Elemente der Xing-Website. Außerdem bietet UiPath die Möglichkeit, sogenannte Custom Activities zu importieren, die im .NET Framework entwickelte Funktionen enthalten. Im Zuge des Prozesses liest der Bot die Daten aus Xing aus und speichert sie in Datenobjekten ab. Diese Datenobjekte werden durch Data Transfer Objects, kurz DTO, dargestellt. Die für diesen Prozess benötigten DTOs werden vom Custom Activities Package bereitgestellt. DTOs sind dazu da, um Daten in einer einheitlichen Struktur zwischen zwei Schnittstellen auszutauschen und erleichtern die Kommunikation mit der Pipedrive-API.

API - die konstantere Schnittstelle

Die Kommunikation über die Pipedrive-API wurde der Navigation über die Oberfläche vorgezogen, da die API die konstantere Schnittstelle abbildet. Des Weiteren verkürzt die Pipedrive-API die Dauer der Ausführung und sorgt für eine Minimierung des Fehlerpotenzials, das häufig von sich ändernden GUI Elementen ausgeht. Die Kommunikation wird während des Prozesses von mehreren Custom Activities abgebildet, die die Pipedrive-API ansprechen. In diesen Custom Activities werden alle für dieses Projekt benötigten Endpunkte abgebildet, um die Pipedrive-API ansprechen zu können.

Auf der Basis der von Xing extrahierten Daten wird mit Hilfe der Custom Activities zunächst überprüft, ob bereits Daten, die zum Xing Kontakt gehören, in Pipedrive vorhanden sind. Hierbei liefern die importierten Custom Activities die von der Pipedrive erhaltenen DTOs an UiPath zurück. Die Verwaltung und die Weiterverarbeitung der Datensätze aus Pipedrive übernimmt somit UiPath. Sind alle nötigen Daten zum Erstellen eines Deals bereits vorhanden oder wurden im Laufe des Prozesses über die Custom Activities angelegt, so wird mit Hilfe der Custom Activities ein neuer Deal erstellt.

Dank der Teilautomatisierung muss der Mitarbeiter keine monotone Copy & Paste-Arbeit mehr erledigen und kann sich stattdessen anderen Aufgaben mit höherem Mehrwert für das Unternehmen zuwenden. Darüber hinaus bietet der automatisierte Prozess die Möglichkeit, auch den Arbeitsaufwand bei steigendem Akquise-Aufkommen über Xing in wirtschaftlichen Grenzen zu halten. Außerdem bieten die entwickelten Custom Activities das Potenzial, weitere Teilaufgaben, die mit Pipedrive zusammenhängen, zu automatisieren.

RPA und API gehören auf jeden Automatisierungszettel

Wie das Beispiel zeigt, sind RPA und API keine Konkurrenten, sondern komplementäre Technologien, die sich gegenseitig hervorragend ergänzen können und gut zusammenarbeiten. Der Umstand, dass RPA-Tools nicht nur auf die Benutzeroberfläche zugreifen können, sondern auch auf APIs, verschafft den Automatisierungsspezialisten eine ungeheure Flexibilität bei der Automatisierung von Prozessen. Gibt es genügend APIs zur Kommunikation und zum Datentransfer zwischen den Systemen und Anwendungen, kann auf den Einsatz von RPA verzichtet werden. Im umgekehrten Fall ist RPA die rettende Lösung, die die Arbeit über das User Interface erledigt. Jeder, der Prozesse automatisiert, sollte neben RPA auch die API-Integration auf dem Zettel haben. (mb)