Möchtest Du den gesamten Artikel lesen? Und vielleicht sogar den Artikel im PDF-Format und die Beispieldateien herunterladen? Dann hole Dir den Artikel gleich hier - völlig kostenlos!
Es gibt immer mehr Möglichkeiten, sogenannte SaaS (Software as a Service) durch Automationen zu verknüpfen. SaaS sind zum Beispiel Calendly zur Terminplanung, Online-Buchhaltungsprogramme wie lexoffice, Projektmanagement-Tools wie Trello, E-Mail-Marketing-Tools, E-Commerce-Anwendungen, CRM-Systeme, Business Intelligence Tools wie Power BI oder täglich verwendete Tools wie Microsoft Teams, Zoom oder die Google Suite. Diese Tools haben wichtige Gemeinsamkeiten: Sie sind allesamt online verfügbar und somit über den Browser steuerbar. Und sie bieten Automations-Schnittstellen an, mit denen sie einerseits Trigger auslösen können und damit andererseits verschiedene Aktionen anstoßen. Da Du als Leser dieses Magazins zweifelsohne früher oder später mit Tools wie diesen in Verbindung kommen wirst, wollen wir Dir zeigen, wie Du Automationen zwischen diesen Tools erstellen kannst. Dabei wollen wir in diesem Einführungsartikel zwei der bekanntesten Tools ansehen, und zwar Zapier und Make.com. Microsoft Power Automate haben wir bereits früher einmal in diesem Magazin vorgestellt.
Wozu überhaupt Automation?
Diese Frage wirst Du Dir vermutlich nicht stellen, denn mit zum Beispiel mit VBA-Code automatisierst Du ja selbst auch bereits Deine Access-Anwendungen. Du definierst Ereignisprozeduren, die Du für Ereigniseigenschaften von Formularen oder Steuerelementen hinterlegst und führst bestimmte Aktionen aus, wenn der Benutzer diese betätigt.
Vielleicht verwendest Du sogar anwendungsübergreifende Automationen, wo Du beispielsweise von Access aus andere Anwendungen wie Excel, Word oder Outlook so programmierst, dass Du von Access aus auf Aktionen in diesen Anwendungen reagieren kannst.
Software as a Service (SaaS)
Seit einigen Jahren gibt es immer mehr Anwendungen, die nicht wie Microsoft oder andere Desktop-Anwendungen komplett auf Deinem Rechner ablaufen, sondern die auf einem Server liegen und die Du über den Internetbrowser bedienen kannst.
Dazu gehören Anwendungen aus den folgenden Bereichen:
- Buchhaltung und Finanzen (Lexware Office, Datev, Easybill, …)
- Vertrieb und Kundenmanagement (CRM-Systeme)
- Projektmanagement (Trello, Asana, Notion, …)
- Schulungsplattformen/E-Learning
- E-Mail-Marketing-Tools zum Versenden von Newslettern
- Online-Shops (Shopware, Shopify, Magenta, …)
- Business Intelligence (Power BI)
- Kundenbetreuung (Zendesk, Intercom)
- Kommunikation und Videokonferenzen (Microsoft Teams, Slack, …)
Vielleicht bist Du schon seit Ewigkeiten Access- oder VB-Entwickler und stehst auf dem Standpunkt, dass Du bis zu Deinem Ruhestand auch noch mit den alten Tools auskommen wirst. Vielleicht steckst Du aber auch schon mittendrin und nutzt schon Tools für den einen oder anderen Zweck.
Dann hast Du vermutlich auch schon einmal in irgendeinem meiner Artikel ein Beispiel dafür gesehen, dass solche Online-Softwareprodukte Schnittstellen anbieten – und damit meinen wir nicht solche, wo Du Daten im CSV-, Excel- oder auch XML-Format hochladen oder exportieren konntest, um diese dann weiterzuverarbeiten.
Wir meinen eher sogenannte Rest-APIs. Dabei handelte es sich um programmierbare Endpunkte dieser Anwendungen, die wir alternativ zu ihrer Benutzeroberfläche nutzen können, um Daten auszutauschen, Prozesse anzustoßen oder auch um auf Ereignisse zu reagieren.
Wenn Du mir (André Minhorst) schon länger folgst, hast Du sicher in dem einen oder anderen Magazin schon einmal einen Artikel gelesen, in dem ich zeige, wir man solche Rest-APIs auch von Access auf per VBA ansprechen kann, um Daten hochzuladen, abzurufen oder auch Aktionen anzustoßen. Dabei haben wir uns beispielsweise mit dem Anlegen von Rechnungen in Lexware Office, dem Abfragen oder Erstellen von Auktionen bei eBay, dem Einlesen von Buchinformationen von Amazon und weiteren Beispielen beschäftigt.
Zapier, Make.com und Co.
Das erste Automationstool, das größere Verbreitung erlangte, war IFTTT (If This Than That). Schon damit konnte man zum Beispiel Automationen schreiben, die durch Trigger ausgelöst wurden und bestimmte Aktionen ausgelöst haben.
Aktuell gibt es verschiedene Anbieter, die alle Vor- und Nachteile haben. Die bekanntesten sind wohl Zapier und Make.com (früher Integromat) sowie Power Automate von Microsoft. Es gibt aber auch noch Alternativen.
Hier ist zu prüfen, welche Funktionen Dir wichtiger sind:
Bekanntere Tools haben meist eine größere Anzahl von Integrationen in die SaaS-Anwendungen. Ihre Nutzung hat einen entsprechenden Preis, wobei es verschiedene Grundtarife gibt und Zusatzkosten, wenn mehr als die im Grundtarif enthaltenen Aufrufe anfallen.
Weniger bekannte Tools haben vielleicht weniger Integrationen, glänzen aber durch spezielle Funktionen. Allerdings haben wir uns im Rahmen dieses Artikels nur die beiden Lösungen von Zapier und Make.com angesehen.
Rest-API für Interaktion zwischen Internetanwendungen
Nun ist es sicher praktisch, wenn wir von unserer heimischen Access-Datenbank Daten mit all diesen praktischen Softwarelösungen austauschen und Prozesse anstoßen können. Wir sollten uns jedoch allmählich mit dem Gedanken anfreunden, dass es da draußen richtig gute Lösungen gibt.
Man hätte sich vor dem Jahr 2020 noch herausreden können, dass schließlich alle Mitarbeiter, die irgendwie auf Kundendaten et cetera zugreifen müssen, im gleichen Büro sitzen und über das Netzwerk auf die Daten zugreifen können, die sie benötigen. Aber spätestens seit der Corona-bedingten Homeoffice-Offensive macht es Sinn, verschiedene Prozesse über Softwareanwendungen zu erledigen, wie wir sie oben beschrieben haben.
Und damit kommen wir zum eigentlichen Thema dieses Artikels: Der Automation solcher Softwareanwendungen mit Tools wie Zapier.
Rest-APIs bieten grundsätzlich zwei verschiedene Arten von Interaktionsmöglichkeiten:
- solche, bei denen wir den Vorgang über die Rest-API auslösen oder
- das Reagieren auf Trigger, die durch die Software ausgelöst werden.
Zugriff auf die Rest-API durch uns
Weiter oben haben wir beschrieben, dass wir bereits verschiedene Lösungen programmiert haben, wo wir von Access/VBA aus auf die Rest-API einer Software im Web zugegriffen haben.
Dabei konnten wir wiederum verschiedene Aktionen durchführen, die sich im Wesentlichen auf die folgenden Arten aufteilen:
- Ändern von Daten der Software, also Hochladen von Daten, Ändern von Daten oder Löschen von Daten.
- Aufrufen von weiteren Aktionen wie beispielsweise das Versenden einer E-Mail, das Erstellen eines Rechnungsdokuments et cetera.
- Abrufen von Informationen wie zum Beispiel Artikeldaten
Reagieren auf Trigger der Software
Eine weitere Funktion, die SaaS bieten, sind die sogenannten Trigger. Diese können nicht über die Rest-API genutzt werden, da die Rest-API immer nur Aufrufe von außen entgegennimmt und gegebenenfalls noch Informationen zurückliefert.
Deshalb funktionieren Trigger intern andersherum: Wenn wir beispielsweise eine Automation programmieren wollen, bei der wir, wenn ein Kunde einen Termin in Calendly angelegt hat, automatisch einen Eintrag im CRM-Tool für diesen Kunden anlegen wollen, würden wir zwei Schritte definieren:
- ein Trigger, der durch das Anlegen des Termins in Calendly ausgelöst wird und
- eine Aktion, welche die Kundendaten aus diesem Trigger entnimmt und diesen in das CRM einträgt.
Aber wir kann unsere Automation nun überhaupt auf den Trigger reagieren? Dazu gibt es bestimmte Schnittstellen, die wie folgt funktionieren:
- Die erste Software, zum Beispiel Calendly, hat beispielsweise eine Schnittstelle für Zapier. Das bedeutet, dass jeder neue Termin, der mit Calendly erstellt wird, automatisch an Zapier geschickt wird.
- Zapier erhält damit auch Informationen über das Benutzerkonto des Anbieters, der das Anlegen neuer Termine mit Calendly ermöglicht.
- Damit prüft Zapier, wenn ein neuer Termin eingeht, ob es Automationen gibt (im Falle von Zapier “Zaps” genannt), die mit dem Konto des entsprechenden Benutzers verknüpft sind.
- Ist das der Fall, wird der Zap ausgeführt.
- Der Trigger liefert alle wichtigen Informationen über den neuen Calendly-Termin und stellt diese innerhalb des Zaps bereit.
- Die nachfolgenden Aktionen können nun auf die Daten des Termins zugreifen und diese nutzen, um beispielsweise mit einem Vorgang wie “Neuen Benutzer anlegen” den Eintrag für diesen Kunden im CRM anzulegen.
Das wäre die vereinfachte Version. Natürlich kann es auch einmal vorkommen, dass der Kunde bereits im CRM vorhanden ist. Dazu stellt ein CRM dann wiederum Aktionen bereit, mit denen wir über verschiedene Kriterien nach einem bestimmten Benutzer im CRM suchen können – beispielsweise über die E-Mail. Ist bereits ein Benutzer mit dieser E-Mail vorhanden, wird dieser nicht erneut angelegt.
Auf diese Art und Weise können wir Automationen zwischen beliebigen SaaS-Tools anlegen.
Wir könnten eine ganze Kaskade von Aktionen auslösen, wenn ein bestimmter Trigger ausgelöst wird. Wir können innerhalb von Automationen sogar Strukturen wie Bedingungen, Schleifen et cetera nutzen.
Die Automationen werden über eine grafische Benutzeroberfläche erstellt und es prinzipiell keine Zeile Code nötig, was das Erstellen solcher Automationen für uns erst einmal ungewohnt erscheinen lässt, weil wir gern alles mit Code kontrollieren, aber wenn man sich einmal ein wenig eingearbeitet hat, macht es sogar richtig Spaß.
Und an der einen oder anderen Stelle müssen wir dann wiederum doch programmieren. Dazu bieten die meisten Automationstools Programmiersprachen wie JavaScript oder Python an. Auch wenn die meisten Access- oder VBA-Entwickler dieser Sprachen nicht mächtig sein dürften, ist das kein Problem:
Es gibt sehr viele Beispiele dazu im Internet und auch ChatGPT liefert hier sehr guten und funktionierenden Code, wenn wir die richtige Frage stellen.
Per VBA: Aktionen können genutzt werden, Trigger nicht
Damit steht bereits fest: Wir können zwar von unseren selbst programmierten Anwendungen aus Aktionen in den Automationstools wie Zapier oder Make.com anstoßen, aber wir können damit nicht auf Trigger reagieren.
Dazu müssten wir selbst eine Online-Anwendung, also ein Saas, programmieren und dafür sorgen, dass diese von Zapier oder Make.com angesprochen werden kann.
Spezieller Trigger: Der Webhook
Wie aber können wir nun von unserer Anwendung aus per VBA diese Automationen nutzen? Wie oben bereits erwähnt, können wir leider nicht auf Automationen reagieren, die durch einen externen Trigger ausgelöst wurden.
Aber wir können als Trigger agieren. Dazu bieten die meisten Automationstools einen sogenannten Webhook an.
Dabei handelt es sich um einen Trigger, der eine URL bereitstellt, über die wir diesen Trigger aufrufen können. Per Parameter können wir dieser URL auch die benötigten Informationen übergeben, die zur Durchführung der Automation benötigt werden.
Der Ablauf ist eigentlich identisch mit dem, den wir bereits in einigen Artikeln für den Aufruf der Rest-APIs verschiedener Anbieter vorgestellt haben wie Lexware Office, eBay, Amazon, Google Calendar et cetera. Wir stellen die Informationen zusammen, die wir an die Rest-API schicken wollen, und rufen damit den entsprechenden Endpunkt der Rest-API auf. Die Rest-API führt dann die geforderte Aktion aus.
Wozu sollten wir also überhaupt noch ein Tool wie Zapier oder Make.com dazwischen schalten wollen?
Weil wir damit viel komplexere Aufgaben leicht über die grafische Benutzeroberfläche definieren können.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo