Naar de hoofdinhoud
Alle artikelen

Automatisering

Flow #8: LinkedIn-antwoorden met n8n naar uw CRM sturen

Een antwoord op LinkedIn hoort in uw CRM. De campagne tagt wie antwoordde; een geplande n8n- of Make-workflow leest die tag via de API en opent de deal.

Door Swimlane 5 min leestijd

Tussen “ze antwoordden op LinkedIn” en “er staat een deal in het CRM” raken pipelines verouderd. Antwoorden overnemen is een vrijdagklus, in bulk en uit het hoofd. Deze flow is een LinkedIn-CRM-koppeling in twee helften: de campagnebouwer van Swimlane markeert met een tag wie antwoordde, en een geplande n8n-workflow (of een Make-scenario) doet het papierwerk aan de CRM-kant.

De flow
  1. Bericht De berichtstap die uw campagne al verstuurt
  2. Voorwaarde Heeft op bericht geantwoord? Gecontroleerd na 7 dagen vertraging, periode "Laatste 7 dagen"
  3. Ja Label Tag "geantwoord" toevoegen: hier stopt de campagne voor die persoon
  4. Ja Pijplijn In n8n, elke 15 minuten: leest de tag via de API, maakt persoon en deal aan in uw CRM
  5. Ja Pijplijn Nog steeds n8n: zet het contact in "In gesprek" in uw Swimlane-pipeline
  6. Ja Label Nog steeds n8n: ruilt "geantwoord" in voor "in-crm", zodat niemand twee keer wordt overgedragen
  7. Nee Label Tag "geen-antwoord" toevoegen, of de volgende stap van uw campagne

Wie wat doet in deze LinkedIn-CRM-koppeling

  • De campagnebouwer van Swimlane voert het bericht, de voorwaarde “Heeft op bericht geantwoord” en de stap “Tag toevoegen” uit. Een CRM-, pipeline- of webhookstap heeft de bouwer niet.
  • n8n of Make regelt het schema, roept de publieke API van Swimlane aan, schrijft naar het CRM, verplaatst het contact in uw Swimlane-pipeline en ruilt de tag.
  • De tag is het contract tussen die twee. “geantwoord” betekent “overdragen”; “in-crm” betekent “klaar”.

Omdat de workflow alleen een tag leest, werkt hij ook voor antwoorden op berichten die u zelf typte: voeg vanuit het gesprek “geantwoord” toe aan het contact, en de volgende run pikt het op.

Waarom een tag en geen webhook

De uitgaande webhooks van Swimlane versturen drie events: contact.created, contact.updated en contact.deleted. Geen daarvan vuurt wanneer een tag wordt toegevoegd, iemand antwoordt of een contact van fase wisselt, en een webhook laat zich niet filteren. Een webhook is het juiste middel om elk nieuw contact naar het CRM te sturen. Om alleen de mensen door te geven die antwoordden, blijft het geplande uitlezen van een tag over.

De campagne in Swimlane instellen

  1. De voorwaarde. Voeg onder de berichtstap de voorwaarde “Heeft op bericht geantwoord” toe, met 7 dagen vertraging en de periode “Laatste 7 dagen”. Een voorwaarde kijkt één keer, wanneer ze draait: de vertraging geeft een week, de periode negeert een antwoord van afgelopen voorjaar. Met “Elk moment” belandt iedereen die u ooit schreef in de ja-tak.
  2. De ja-tak. Een stap “Tag toevoegen” met de naam “geantwoord”. Typ de naam; de tag wordt aangemaakt zodra de stap voor het eerst draait.
  3. De nee-tak. Wat uw campagne daarna doet.
  4. Voor de lancering. De stappen van een gelanceerde campagne liggen vast, dus bouw de tak zolang ze een concept is.
  5. Een token. Instellingen → API → “Token toevoegen”. Hij wordt één keer getoond: bewaar hem als credential in n8n of Make, verstuurd als Authorization: Bearer wpa_….

De pagina over LinkedIn-automatisering somt alle stappen en voorwaarden van de bouwer op.

De workflow in n8n of Make instellen

Eén workflow met een Schedule Trigger (in Make een gepland scenario), elke 15 minuten. Zet vóór de eerste run beide tags met de hand op een testcontact, lees hun id’s uit met GET /v1/tags (die toont alleen tags die in gebruik zijn) en haal ze weer weg.

  1. De tag lezen. GET /v1/contacts?tag_id=<id geantwoord>&per_page=100. Elk contact komt terug met uuid, voor- en achternaam, headline, linkedinId, tagIds en pipelineStageUuid.
  2. Persoon aanmaken of bijwerken, deal openen. Zoek voordat u iets aanmaakt, met de LinkedIn-URL (https://www.linkedin.com/in/ + linkedinId) als sleutel in een eigen veld, niet het e-mailadres, dat bij LinkedIn-contacten vaak leeg is. De API geeft geen berichttekst terug: zet de profiel-URL op de deal en laat de eigenaar het gesprek in Swimlane lezen.
  3. Het contact verplaatsen. POST /v1/pipelines/stages/<stageUuid>/contacts met {"contactUuids": ["…"]}. De fase-uuid’s komen uit GET /v1/pipelines/<uuid>/stages. Gebruik een teampipeline of een pipeline die de eigenaar van het token heeft aangemaakt. Een contact staat in één fase per pipeline, dus de call verplaatst het ook.
  4. De tag ruilen, als laatste. POST /v1/contacts/<uuid>/tags met {"tagIds": […]} vervangt alle tags van het contact. Stuur de huidige tagIds zonder “geantwoord”, plus “in-crm”. Stuurt u alleen het nieuwe id, dan zijn alle andere tags weg.

De handleiding om n8n in te stellen en de handleiding om Make in te stellen behandelen het token en het HTTP-request.

Vangrails

  • Het gaat niet direct. De voorwaarde ziet een antwoord van dag één pas op dag zeven, en n8n bij de volgende run. Wilt u sneller, controleer dan na 3 dagen en zet onder de nee-tak een tweede voorwaarde “Heeft op bericht geantwoord” met een eigen tag “geantwoord”; of tag het contact met de hand zodra u antwoordt.
  • Ruil de tag pas als de CRM-call is gelukt. Een mislukte run laat “geantwoord” staan en het contact komt de volgende keer terug; zoeken vóór aanmaken voorkomt dat die nieuwe poging de deal dubbel aanmaakt.
  • 100 API-requests per minuut per gebruiker. Elk contact kost twee calls naar Swimlane. Komen er tientallen antwoorden tegelijk binnen, verwerk ze dan in batches met een Wait-node.
  • Tags gelden voor de hele workspace. De API leest alle contacten van de organisatie, dus de campagne van een collega die “geantwoord” zet, voedt dezelfde workflow. Voor een gedeeld CRM is dat precies de bedoeling; zo niet, geef elk team een eigen tag. De pagina over team en API laat zien wat de workspace deelt.

Wat u meet

Contacten die een uur na een run nog “geantwoord” dragen: dat moeten er nul zijn, en elk overgebleven contact is een mislukte overdracht. Daarna het aandeel deals in het CRM met een LinkedIn-profiel-URL. Stijgt dat, dan telt uw forecast eindelijk het kanaal mee dat hij niet zag.

Doe dit met Swimlane

Alles uit dit artikel, zonder het handwerk.

Gratis proefperiode starten

Bekijk hoe het werkt in Swimlane Team & API

Verder lezen