Flow Nr. 8: LinkedIn-Antworten per n8n an Ihr CRM übergeben
Eine LinkedIn-Antwort gehört ins CRM. Die Kampagne taggt, wer geantwortet hat; ein geplanter n8n- oder Make-Workflow liest den Tag per API und legt den Deal an.
Von Swimlane 5 Min. Lesezeit
Zwischen „hat auf LinkedIn geantwortet“ und „im CRM steht ein Deal“ veralten Pipelines. Antworten hinüberzukopieren ist eine Freitagsaufgabe, gesammelt und aus dem Gedächtnis erledigt. Dieser Flow ist eine LinkedIn-CRM-Integration in zwei Hälften: Der Kampagnen-Builder von Swimlane markiert per Tag, wer geantwortet hat, und ein geplanter n8n-Workflow (oder ein Make-Szenario) erledigt den Papierkram auf der CRM-Seite.
- Nachricht Der Nachrichtenschritt, den Ihre Kampagne ohnehin sendet
- Bedingung Auf Nachricht geantwortet? Geprüft nach 7 Tagen Verzögerung, Zeitraum „Letzte 7 Tage“
- Ja Tag Tag „geantwortet“ hinzufügen: Hier endet die Kampagne für diese Person
- Ja Pipeline In n8n, alle 15 Minuten: liest den Tag per API, legt Person und Deal in Ihrem CRM an
- Ja Pipeline Weiter in n8n: setzt den Kontakt auf „Im Gespräch“ in Ihrer Swimlane-Pipeline
- Ja Tag Weiter in n8n: tauscht „geantwortet“ gegen „im-crm“, damit niemand zweimal übergeben wird
- Nein Tag Tag „keine-antwort“ hinzufügen, oder der nächste Schritt Ihrer Kampagne
Wer was erledigt in dieser LinkedIn-CRM-Integration
- Der Kampagnen-Builder von Swimlane führt die Nachricht, die Bedingung „Auf Nachricht geantwortet“ und den Schritt „Tag hinzufügen“ aus. Einen CRM-, Pipeline- oder Webhook-Schritt hat der Builder nicht.
- n8n oder Make übernimmt den Zeitplan, ruft die öffentliche API von Swimlane auf, schreibt ins CRM, verschiebt den Kontakt in Ihrer Swimlane-Pipeline und tauscht den Tag.
- Der Tag ist der Vertrag zwischen beiden. „geantwortet“ heißt „bitte übergeben“, „im-crm“ heißt „erledigt“.
Weil der Workflow nur einen Tag liest, nimmt er auch Antworten auf Nachrichten mit, die Sie selbst getippt haben: Fügen Sie dem Kontakt aus dem Gespräch heraus „geantwortet“ hinzu, und der nächste Lauf holt ihn ab.
Warum ein Tag und kein Webhook
Die ausgehenden Webhooks von Swimlane senden drei Ereignisse: contact.created, contact.updated und contact.deleted. Keines davon feuert, wenn ein Tag gesetzt wird, jemand antwortet oder ein Kontakt die Stufe wechselt, und ein Webhook lässt sich nicht filtern. Ein Webhook ist das richtige Werkzeug, um jeden neuen Kontakt ins CRM zu schieben. Um nur die Personen zu übergeben, die geantwortet haben, bleibt das geplante Auslesen eines Tags.
Die Kampagne in Swimlane einrichten
- Die Bedingung. Fügen Sie unter dem Nachrichtenschritt die Bedingung „Auf Nachricht geantwortet“ ein, mit 7 Tagen Verzögerung und dem Zeitraum „Letzte 7 Tage“. Eine Bedingung prüft nur einmal, wenn sie läuft: Die Verzögerung lässt eine Woche Zeit, der Zeitraum ignoriert eine Antwort aus dem letzten Frühjahr. Mit „Jederzeit“ landet jeder im Ja-Zweig, der Ihnen je geschrieben hat.
- Der Ja-Zweig. Ein Schritt „Tag hinzufügen“ mit dem Namen „geantwortet“. Tippen Sie den Namen ein; der Tag wird beim ersten Ausführen angelegt.
- Der Nein-Zweig. Was Ihre Kampagne als Nächstes tut.
- Vor dem Start. Die Schritte einer gestarteten Kampagne sind gesperrt, bauen Sie den Zweig also im Entwurf.
- Ein Token. Einstellungen → API → „Token hinzufügen“. Er wird nur einmal angezeigt: Speichern Sie ihn als Credential in n8n oder Make, gesendet als
Authorization: Bearer wpa_….
Die Seite zur LinkedIn-Automatisierung listet alle Schritte und Bedingungen des Builders.
Den Workflow in n8n oder Make einrichten
Ein Workflow mit Schedule Trigger (in Make ein geplantes Szenario), alle 15 Minuten. Setzen Sie vor dem ersten Lauf beide Tags von Hand auf einen Testkontakt, lesen Sie ihre IDs mit GET /v1/tags aus (die Liste zeigt nur verwendete Tags) und entfernen Sie sie wieder.
- Den Tag lesen.
GET /v1/contacts?tag_id=<ID geantwortet>&per_page=100. Jeder Kontakt kommt mituuid, Vor- und Nachname,headline,linkedinId,tagIdsundpipelineStageUuidzurück. - Person anlegen oder aktualisieren, Deal eröffnen. Suchen Sie vor dem Anlegen, und zwar über die LinkedIn-URL (
https://www.linkedin.com/in/+linkedinId) in einem eigenen Feld, nicht über die E-Mail, die bei LinkedIn-Kontakten oft leer ist. Die API liefert keinen Nachrichtentext: Hängen Sie die Profil-URL an den Deal, und wer ihn verantwortet, liest das Gespräch in Swimlane. - Den Kontakt verschieben.
POST /v1/pipelines/stages/<stageUuid>/contactsmit{"contactUuids": ["…"]}. Die Stufen-UUIDs liefertGET /v1/pipelines/<uuid>/stages. Nehmen Sie eine Team-Pipeline oder eine, die der Token-Inhaber angelegt hat. Ein Kontakt steht pro Pipeline in genau einer Stufe, der Aufruf verschiebt ihn also auch. - Den Tag tauschen, zuletzt.
POST /v1/contacts/<uuid>/tagsmit{"tagIds": […]}ersetzt alle Tags des Kontakts. Senden Sie seine aktuellentagIdsohne „geantwortet“, plus „im-crm“. Senden Sie nur die neue ID, sind alle anderen Tags weg.
Die Einrichtungsanleitung für n8n und die Einrichtungsanleitung für Make behandeln den Token und den HTTP-Request.
Leitplanken
- Es geht nicht sofort. Die Bedingung sieht eine Antwort vom ersten Tag erst am siebten, n8n beim nächsten Lauf. Schneller geht es mit einer Prüfung nach 3 Tagen und einer zweiten Bedingung „Auf Nachricht geantwortet“ mit eigenem Tag „geantwortet“ im Nein-Zweig, oder indem Sie den Kontakt von Hand taggen, sobald Sie antworten.
- Tauschen Sie den Tag erst nach einem erfolgreichen CRM-Aufruf. Ein fehlgeschlagener Lauf lässt „geantwortet“ stehen, und der Kontakt kommt beim nächsten Mal wieder; Suchen vor dem Anlegen verhindert, dass dieser zweite Versuch den Deal doppelt anlegt.
- 100 API-Anfragen pro Minute pro Nutzer. Jeder Kontakt kostet zwei Swimlane-Aufrufe. Bringt eine Kampagne Dutzende Antworten auf einmal, arbeiten Sie sie in Batches mit einem Wait-Node ab.
- Tags gelten für den ganzen Workspace. Die API liest alle Kontakte der Organisation, also speist auch die Kampagne eines Kollegen, die „geantwortet“ setzt, denselben Workflow. Für ein gemeinsames CRM ist das gewollt; sonst bekommt jedes Team seinen eigenen Tag. Die Seite zu Team und API zeigt, was der Workspace teilt.
Was Sie messen
Kontakte, die eine Stunde nach einem Lauf noch „geantwortet“ tragen: Es sollten null sein, und jeder übrige ist eine gescheiterte Übergabe. Dann den Anteil der CRM-Deals mit einer LinkedIn-Profil-URL. Steigt er, bezieht Ihr Forecast endlich den Kanal ein, den er bisher nicht sah.