Alle Arbeiten

Demonstrator / Arbeitsprobe

CourseSync: eine Make.com-Automatisierung vom Kurskauf in MindBody bis zur Klassenliste in HubSpot und zur Bestätigung an die Eltern

Ein lauffähiger Make.com-Aufbau mit erfundenen Daten, mit Begleitseite und importierbarem Blueprint. Es ist eine Arbeitsprobe, kein Kundenprojekt und kein Produkt.

Ausgangslage

Ein Anbieter von Kursen mit mehreren Terminen hat für diese Automatisierung eine Spezifikation geschrieben. Eltern kaufen einen Kurs in MindBody und buchen die Termine danach selbst, oft ein paar Minuten später und nicht immer der Reihe nach.

Gesucht war eine Automatisierung, die danach den Kontakt in HubSpot aktualisiert, ihn in die richtige Klassenliste aufnimmt, die Anmeldung festhält und eine Bestätigung an die Eltern vorbereitet. Die Klassenlisten waren uneinheitlich benannt, und mehrere Buchungen aus einem Kauf konnten den Ablauf jeweils neu anstoßen.

Vorgehen

  • Ein Kauf in MindBody startet das Szenario über einen Webhook, weil der MindBody-Connector für Make keinen Auslöser für Verkäufe hat. Bevor das Szenario die Daten verwendet, prüft es die Signatur des Webhooks.
  • Es wartet etwa zehn Minuten und sieht dann nach, ob ein Termin des Kurses gebucht ist. In MindBody liest es nur, es bucht und ändert dort nichts. Ist noch nichts gebucht, bittet es die Eltern per E-Mail um ihre Wunschtermine und hält an. Die Buchung schließt das Team dann von Hand ab.
  • Mit einem Häkchen am Kontakt kann das Team die Wartezeit und die Buchungsprüfung überspringen. Die Datensätze werden trotzdem aktualisiert.
  • Als Klassenliste nimmt es die Liste, deren Zeitraum den gebuchten Termin enthält und deren Name zur Stufe des Kurses passt und dazu, ob er vor Ort oder online stattfindet. Die Listennamen folgen keinem festen Muster. Deshalb wertet ein kleines Programm außerhalb von Make die Namen aus, und das Szenario ruft es auf. Passt keine Liste oder mehr als eine, meldet das Szenario den Fall mit allen Angaben per E-Mail an die Verwaltung und ändert nichts.
  • Bevor es etwas schreibt, prüft es, ob der Kontakt schon auf dieser Liste steht. Dann hat eine frühere Buchung aus demselben Kauf die Arbeit bereits erledigt, und der Lauf endet dort.
  • Danach trägt es den Kurs in die Kurshistorie des Kontakts ein, ohne frühere Kurse zu überschreiben, nimmt den Kontakt in die Klassenliste auf, schreibt als Nachweis außerhalb beider Systeme eine Zeile in ein Google Sheet und benachrichtigt das Team, wenn die Regeln des Kurses das vorsehen. In HubSpot schreibt es nur Felder mit eigenem Präfix und lässt alle anderen Felder unberührt.
  • Die Bestätigung an die Eltern entsteht aus einer HubSpot-Vorlage, geht aber zuerst als Entwurf an die Verwaltung. Ein Mensch gibt den Wortlaut frei, bevor die Familie ihn zu sehen bekommt.
  • Ablaufdiagramm des Szenarios: Kauf-Webhook aus MindBody, Prüfung des Häkchens, zehn Minuten Wartezeit, Buchungsabfrage ohne Änderungen in MindBody, Listenauswahl über den Zeitraum und Duplikatprüfung, am Ende die Schritte 2 bis 6. Drei Seitenzweige beenden den Lauf: kein Termin gebucht (E-Mail an die Eltern), keine eindeutige Liste (Meldung an die Verwaltung) und bereits verarbeitet.
    Der ganze Ablauf mit den drei Stellen, an denen das Szenario anhält. An zwei davon übernimmt ein Mensch.
  • Zeitleiste von Juni bis August mit einem gebuchten Termin am 13. Juli und drei Klassenlisten. Die HS-Liste vom 6. bis 17. Juli passt. Eine Juni-Liste endet zu früh, und eine Liste ab dem 13. Juli gehört zur Stufe MS, also passen beide nicht.
    Auswahl der Klassenliste: Nur eine Liste deckt das Buchungsdatum ab und passt zur Stufe des Kurses.
  • Karte der Begleitseite zur Duplikatprüfung mit dem Aufruf der HubSpot-Listenmitgliedschaft und der vereinfachten Logik: Steht der Kontakt schon auf der Zielliste, endet der Lauf.
    Die Duplikatprüfung: Steht der Kontakt schon auf der Klassenliste, ist der Kauf bereits verarbeitet.
  • Karte der Begleitseite zu Schritt 6: Die Bestätigung entsteht aus einer HubSpot-Vorlage und geht als Entwurf mit dem Betreff-Präfix DRAFT COURSE CONF an die Verwaltung, nicht direkt an die Familie.
    Die Bestätigung an die Eltern geht zuerst als Entwurf an die Verwaltung.

Was der Demonstrator zeigt

Eine Begleitseite spielt den ganzen Ablauf an einem erfundenen Schüler durch und zeigt, was jeder Schritt liest und schreibt. Dazu gehören ein importierbarer Make-Blueprint mit zwanzig Modulen in drei Routen und ein Runbook, das jedes Modul beschreibt.

Ich habe das Szenario in ein echtes Make-Konto importiert und dort laufen lassen. Die Änderungen in HubSpot, die Listenmitgliedschaft und die Zeile im Sheet habe ich mit echten Testkonten geprüft. Die Abfragen an MindBody und die Listenauswahl liefen gegen einen Nachbau der MindBody-API, und bei den E-Mails habe ich geprüft, dass jeder Pfad die richtige Sendeentscheidung trifft.

Der erste echte Lauf hat zwei Fehler gefunden, die eine reine Strukturprüfung des Blueprints nicht bemerkt hatte. Einige handgeschriebene HTTP-Module scheiterten erst zur Laufzeit, und Make wertete einen Filterausdruck als leeren Wert aus, sodass der Filter alles durchließ. Beides habe ich in dem Skript behoben, das den Blueprint erzeugt, und den Lauf danach fehlerfrei wiederholt.

Gebaut habe ich den Demonstrator nach dieser Spezifikation, mit erfundenen Daten und ohne Zugriff auf die Konten des Anbieters.