Workflow-Builder
procuris ohne eigene Software mit Teams und Excel verbinden, Schritt für Schritt in Make und Power Automate.
Diese Leistung erhalten Sie über ein individuelles Angebot.
Ein Workflow-Builder verbindet Programme über Bausteine statt über Programmierung. Mit ihm wird ein neuer Treffer Ihrer Suchaufträge mit Titel, Frist und Passung zu einer Nachricht in Teams oder zu einer Zeile in einer Excel-Tabelle. procuris schickt dazu eine Nachricht an den Builder, einen Webhook, und der Builder reicht sie weiter.
Für einfache Abläufe reicht ein Workflow-Builder. Für ein CRM empfehlen wir einen eigenen kleinen Dienst statt eines Workflow-Builders, weil der Abgleich eine Warteschlange und den Vergleich von Ständen braucht, siehe CRM und ERP.
Welcher Builder geht
Wir empfehlen Make, weil es die Echtheit einer Nachricht selbst prüft. procuris unterschreibt jede Webhook-Nachricht mit einem geheimen Schlüssel, dem Secret. Prüft Ihr Ablauf diese Unterschrift, kann ihm kein Fremder eine erfundene Nachricht unterschieben. Eine echte Nachricht, die jemand unterwegs mitgeschnitten hat, kann er jedoch erneut schicken, siehe Doppelte Nachrichten.
| Builder | Echtheit prüfen mit eingebauten Bausteinen | Empfehlung |
|---|---|---|
| Make | ja, mit der eingebauten Formel sha256 | erste Wahl, Rezept unten |
| Power Automate | nein, es gibt keine Funktion für HMAC-SHA256, das Rechenverfahren der Signatur. Schutz nur über die geheime Adresse des Flows. | nur mit passender Lizenz, siehe Rezept unten |
| n8n | nein. Der Baustein Crypto nimmt das Secret nur als Text, der Schlüssel von procuris ist aber binär, also keine lesbare Zeichenfolge. | nehmen Sie Make |
| Zapier | nein. Formatter by Zapier bietet Datum, Text, Zahlen und Hilfsfunktionen, aber keine HMAC-Prüfung. | nehmen Sie Make |
Einträge in procuris macht die Rolle Inhaber. Zieladressen und Secret verwaltet die Person mit dieser Rolle in procuris unter Einstellungen › Organisation › Webhooks. Den Bereich gibt es erst, wenn der Zugang nach Vertragsschluss eingerichtet ist. Bis dahin führt die Zeile Webhooks im Abschnitt Auf Anfrage derselben Seite nur zur Anfrage eines Angebots. Haben Sie selbst nicht die Rolle Inhaber, bitten Sie die Inhaberin um die Einträge, die das Rezept nennt. Den Weg von der Anfrage bis zum eingerichteten Zugang beschreibt Integrationen.
Rezept: neuer Treffer in Teams und Excel mit Make
Szenario anlegen und Rohdaten einschalten. In Make ein neues Szenario, erstes Modul Webhooks › Custom webhook, dann Add für einen neuen Webhook. In den erweiterten Einstellungen des Webhooks JSON pass-through und Get request headers einschalten. Eine Nachricht besteht aus Headern und Körper. Die Header sind Begleitangaben wie die Unterschrift. Der Körper ist der eigentliche Inhalt, also Titel, Frist und die übrigen Angaben. Mit diesen Einstellungen kommt der Körper unverändert als Text an, und die Prüfung der Echtheit braucht genau diesen Text. Einzelne Felder wie Titel oder Frist bietet Make daraus erst nach dem Schritt Körper auslesen an. Die Header stehen als Liste zur Auswahl.
Zieladresse in procuris anlegen. Make zeigt die Adresse des Webhooks. Die Inhaberin legt sie unter Webhooks als Zieladresse an, wählt das Ereignis search.hit und die Suchaufträge, deren Treffer kommen sollen.
Testnachricht holen. In Make das Szenario einmal laufen lassen. Dann wählt die Inhaberin in procuris unter Webhooks bei der Zieladresse Testnachricht senden. Make zeigt danach die Header und den Körper als Text. Mit diesen Werten richten Sie die nächsten Schritte ein.
Header auslesen. Ein Header steht in der Liste der Header als Eintrag mit Name und Wert. Den Wert eines Headers holen Sie mit dieser Formel, hier für webhook-signature:
get(map(<Header-Liste>; value; name; webhook-signature); 1)
map nimmt aus der Liste die Werte der Einträge, deren Name webhook-signature ist. get(…; 1) nimmt den ersten davon. Für webhook-id und webhook-timestamp genauso.
Secret holen. Das Secret kommt von der Inhaberin. procuris zeigt es ihr unter Webhooks bei der Zieladresse, in der Form whsec_ gefolgt von Buchstaben und Ziffern. Jede Zieladresse hat ein eigenes Secret. Die Inhaberin gibt es Ihnen über einen Passwortmanager weiter, nicht per E-Mail oder Chat. Für den nächsten Schritt brauchen Sie nur den Teil nach whsec_.
Echtheit prüfen. Direkt nach dem Webhook einen Filter: der Wert von webhook-signature (Formel oben), Bedingung Contains, Vergleichswert:
v1,{{sha256(<webhook-id>.<webhook-timestamp>.<Körper>; base64; <Secret ohne whsec_>; base64)}}
Für <webhook-id> und <webhook-timestamp> setzen Sie die Formel aus Schritt 4 ein. Für <Körper> wählen Sie das Feld mit dem unveränderten Körper aus dem Webhook. Zwischen die drei Teile gehört je ein Punkt. Für <Secret ohne whsec_> setzen Sie den Teil des Secrets nach whsec_ aus dem vorigen Schritt ein. Text steht in Make-Formeln ohne Anführungszeichen. Nur echte Nachrichten kommen durch den Filter.
Körper auslesen. Modul JSON › Parse JSON. In JSON string wählen Sie das Feld mit dem Körper aus dem Webhook. Bei Data structure wählen Sie Add, dann Generator. In das Feld Sample data fügen Sie das Beispiel „search.hit, vollständig“ von der Seite Ereignisse ein und wählen Save. Geben Sie dem Aufbau einen Namen, zum Beispiel „procuris Treffer“, und wählen Sie noch einmal Save. Make kennt danach den ganzen Aufbau der Nachricht. type, data.tender.title, data.tender.submissionDate, data.tender.url, data.search.name und data.fit stehen zur Auswahl.
Nur Treffer. Einen zweiten Filter: type ist gleich search.hit. So landen Testnachrichten und andere Ereignisse nicht in Teams.
Nachricht und Zeile. Ein Modul für Microsoft Teams, das eine Nachricht in einen Kanal schickt, zum Beispiel „Neuer Treffer: Titel, Frist, Passung, Link“. Daneben ein Modul für Excel, das eine Zeile in eine Tabelle einfügt. Spalten zum Beispiel Titel, Frist, Passung, Link und webhook-id. Die Spalte webhook-id füllen Sie mit der Formel aus Schritt 4. Sie hilft gegen doppelte Zeilen.
Ausfälle auffangen. In den Einstellungen des Szenarios Store incomplete executions einschalten. Scheitert danach ein Schritt, hebt Make den Lauf als unvollständige Ausführung auf. Automatisch wiederholt Make ihn laut eigener Hilfe nur bei drei Fehlerarten: RateLimitError (zu viele Anfragen), ConnectionError (Verbindung gescheitert) und ModuleTimeoutError (ein Modul antwortet zu spät). Bei anderen Fehlern, etwa einer Excel-Tabelle, die es nicht mehr gibt, wiederholen Sie den Lauf in Make von Hand, nachdem Sie die Ursache behoben haben.
Strecke testen
Die Testnachricht kommt am Filter aus Schritt 8 nicht vorbei. Sie trägt als type den Wert webhook.test. Damit Sie Teams und Excel ohne echten Treffer prüfen können, ändern Sie im Filter aus Schritt 8 den Vergleichswert vorübergehend auf webhook.test. Dann sendet die Inhaberin eine Testnachricht. Sie enthält eine Musterausschreibung mit Titel, Frist, Link und einer Passung von 82. Teams zeigt darum eine vollständige Nachricht, und Excel bekommt eine Zeile. Danach stellen Sie den Vergleichswert zurück auf search.hit und löschen die Testzeile in Excel.
Secret wechseln
Ein Secret-Wechsel kann in Make Nachrichten kosten. Make bestätigt procuris den Empfang mit 200, bevor der Filter prüft. Lässt der Filter eine Nachricht nicht durch, gilt sie für procuris trotzdem als zugestellt. procuris wiederholt sie dann nicht. Die Nachricht ist verloren.
- Planmäßiger Wechsel: Die Inhaberin wählt unter Webhooks bei der Zieladresse Secret erneuern und gibt Ihnen das neue Secret weiter. Tragen Sie es binnen 24 Stunden in den Filter aus Schritt 6 ein. In diesen 24 Stunden trägt jede Nachricht eine Unterschrift mit dem alten und eine mit dem neuen Secret. Der Filter lässt sie darum mit beiden durch. Nach 24 Stunden gilt nur das neue. Ein Filter mit dem alten Secret verwirft dann jede Nachricht still.
- Öffentlich gewordenes Secret: Die Inhaberin wählt Secret sofort ersetzen. Das alte Secret gilt ab dann nicht mehr, ohne Übergang. Bis das neue im Filter steht, verwirft Make jede Nachricht still. Tragen Sie es darum umgehend ein. Danach sendet die Inhaberin unter Webhooks die Nachrichten der letzten 7 Tage erneut. So kommen die verlorenen zurück. Die Nachlieferung kann auch Nachrichten enthalten, die schon durchgekommen sind, siehe Doppelte Nachrichten.
Doppelte Nachrichten
Eine Nachricht kann zweimal ankommen. Das passiert, wenn die Inhaberin Nachrichten erneut sendet. Es passiert auch, wenn jemand eine echte Nachricht mitschneidet und noch einmal schickt, denn dieses Rezept prüft den Zeitstempel der Nachricht nicht. Eine doppelte Nachricht trägt dieselbe webhook-id wie das Original.
In Teams entsteht dann eine zweite Nachricht, in Excel eine doppelte Zeile. Für einen Teams-Kanal ist das vertretbar, weil eine zweite Nachricht dort nichts verändert. In Excel kann eine doppelte Zeile jedoch Summen und Zählungen verfälschen. Prüfen Sie darum nach einer Nachlieferung die Spalte webhook-id und löschen Sie Zeilen mit einer webhook-id, die schon vorkommt.
Rezept: neuer Treffer in Teams und Excel mit Power Automate
Power Automate kann die Signatur nicht prüfen. Den Flow schützt nur seine geheime Adresse, die einen Schlüssel im Teil sig= enthält. Wer die Adresse kennt, kann dem Flow Nachrichten schicken.
Die Lizenzen von Microsoft 365 reichen nur für Standard-Connectors. Das gilt laut Microsoft auch für die kostenlose Lizenz Power Automate Free. Premium-Connectors gibt es zum Beispiel mit der Lizenz Power Automate Premium. Ob Ihre Lizenz für dieses Rezept reicht, prüfen Sie selbst, ohne IT. Ihre Lizenz steht in Power Automate unter Settings › View my licenses, im Abschnitt My licenses. Trägt der Auslöser When an HTTP request is received beim Anlegen die Kennzeichnung Premium und steht bei Ihnen nur Power Automate Free oder eine Lizenz von Microsoft 365, reicht Ihre Lizenz nicht.
Flow anlegen. Neuer Cloud-Flow mit dem Auslöser When an HTTP request is received. Unter Who can trigger the flow wählen Sie Anyone, denn procuris meldet sich nicht in Ihrem Microsoft-Konto an.
Aufbau hinterlegen. Use sample payload to generate schema wählen und das Beispiel für
search.hit von der Seite Ereignisse einfügen.
Zieladresse in procuris anlegen. Nach dem Speichern zeigt der Auslöser die Adresse des
Flows. Die Inhaberin legt sie unter Webhooks als Zieladresse an, wählt das Ereignis
search.hit und die Suchaufträge, deren Treffer kommen sollen. Geben Sie die Adresse sonst
niemandem, weil sie der einzige Schutz des Flows ist.
type ist gleich search.hit.Teams-Nachricht. Aktion Post message in a chat or channel, Post as Flow bot, Post in Channel, Nachricht mit Titel, Frist, Passung und Link aus den Feldern der Nachricht.
Excel-Zeile. Aktion Add a row into a table in einer Excel-Datei auf OneDrive oder
SharePoint. Die Daten müssen in einer Excel-Tabelle stehen, nicht nur auf einem Blatt. Spalten
zum Beispiel Titel, Frist, Passung, Link, procuris-ID und webhook-id. Die Spalte webhook-id
füllen Sie mit dem Ausdruck triggerOutputs()['headers']['webhook-id']. Sie hilft gegen
doppelte Zeilen.
Ausfälle auffangen. Über Run after einen Fehlerzweig anlegen, zum Beispiel eine E-Mail, wenn die Teams-Nachricht scheitert. Flow-Besitzer bekommen bei schweren Fehlern zusätzlich E-Mails von Microsoft.
Strecke testen. In der Condition den Vergleichswert vorübergehend auf webhook.test
ändern. Die Inhaberin sendet eine Testnachricht. Teams und Excel zeigen die Musterausschreibung.
Danach den Vergleichswert zurück auf search.hit stellen und die Testzeile in Excel löschen.
Auch Power Automate legt nach einer Nachlieferung doppelte Zeilen an. Sendet die Inhaberin Nachrichten erneut, kommt jede noch einmal mit derselben webhook-id. Der Flow fügt dann eine zweite Zeile ein und schickt eine zweite Teams-Nachricht. Prüfen Sie darum nach einer Nachlieferung die Spalte webhook-id und löschen Sie Zeilen mit einer webhook-id, die schon vorkommt, wie bei Make unter Doppelte Nachrichten.
Eine bekannt gewordene Adresse braucht einen neuen Schlüssel. Power Automate erneuert ihn nur über die Entwicklerwerkzeuge des Browsers. Überlassen Sie das Ihrer IT, nach der Anleitung von Microsoft „Regenerate the SAS key used in HTTP trigger flows“. Danach ändert die Inhaberin die Zieladresse unter Webhooks auf die neue Adresse.
Wenn der Ablauf ausfällt
Ein Fehler nach dem Empfang bleibt beim Builder. Make und Power Automate bestätigen procuris den Empfang, sobald die Nachricht angekommen ist. Scheitert danach ein Schritt, gilt die Nachricht für procuris als zugestellt und kommt nicht erneut. Darum gehört die Fehlerbehandlung des Builders in jedes der beiden Rezepte.
Ist der Builder selbst nicht erreichbar, wiederholt procuris die Zustellung. Die Versuche laufen über gut drei Tage, siehe Zustellung und Sicherheit. Gelingt 5 Tage lang keine Zustellung an die Zieladresse, stellt procuris die Zustellung dorthin ein und schreibt der Inhaberin. Läuft der Builder wieder, wählt sie unter Webhooks bei der Zieladresse Zustellung wieder aufnehmen und sendet die verpassten Nachrichten der letzten 7 Tage erneut.
Verwandte Seiten
Angebot anfordern
Schildern Sie uns, was Sie nutzen oder anbinden möchten. Ihr Angebot richtet sich nach diesem Umfang.
CRM und ERP
Neue passende Ausschreibungen automatisch als Verkaufschance im CRM, Fristen und Werte im ERP, mit Feldzuordnung und Schutz vor Dubletten.
Single Sign-On
Anmeldung bei procuris mit dem Firmenkonto über SAML 2.0 oder OpenID Connect, Konten automatisch anlegen und sperren, Werte für Microsoft Entra ID und Google Workspace.