Din Typeform gör sitt jobb. Leads kommer in. Men uppföljningen känns rörig eftersom datan är rörig, och dubbletter slinker in så fort två personer rör samma lista.
Den här automatiseringen för Typeform Airtable leads träffar marketing ops först, om vi ska vara ärliga. säljteam märker det också, och det gör även byråägare som inte har råd med ”kanske är det rätt e-post” innan outreach. Du får en felfri Airtable-post per person, berikad med Dropcontact, plus Slack-notiser så att ingen missar överlämningen.
Nedan ser du hur arbetsflödet kontrollerar Airtable, uppdaterar befintliga kontakter, skapar nya och håller teamet synkat utan ständig Excel-/sheet-policing.
Så fungerar automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Typeform + Airtable: rensade leads, inga dubbletter
flowchart LR
subgraph sg0["Typeform Intake Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/typeform.dark.svg' width='40' height='40' /></div><br/>Typeform Intake Trigger"]
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>Notify Existing Lead"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Fetch Contact Records"]
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Modify Contact Entry"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>Notify New Lead"]
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Fields for Update", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/dropcontact.svg' width='40' height='40' /></div><br/>Enrich Contact Details"]
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Missing Contact ID", pos: "b", h: 48 }
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Append Contact Entry"]
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Fields for Create", pos: "b", h: 48 }
n6 --> n2
n0 --> n6
n7 --> n5
n7 --> n9
n2 --> n7
n9 --> n3
n5 --> n8
n8 --> n4
n3 --> n1
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n7 decision
class n2,n3,n8 database
classDef customIcon fill:none,stroke:none
class n0,n1,n2,n3,n4,n6,n8 customIcon
Problemet: leaddata blir skräpig i samma sekund som den kommer in
Typeform gör det enkelt att samla in leads, men den gör dem inte användbara. Någon skriver ”[email protected]” en dag och ”[email protected]” nästa, och plötsligt har du två poster, två ägare och två olika versioner av verkligheten. Sedan börjar det manuella jobbet: kolla Airtable efter dubbletter, kopiera fält, försöka gissa företagsnamn, hitta en jobbtitel och bekräfta att e-posten faktiskt går att leverera. Det här merarbetet är inte bara irriterande. Det försenar uppföljningen, skapar pinsam dubbelkontakt och sänker kampanjprestanda i det tysta eftersom din segmentering bygger på skräp.
Det eskalerar snabbt. Här är var det oftast faller isär.
- Airtable blir en dubblettmagnet eftersom man matchar på namn, inte en stabil identifierare som e-post.
- Lead-berikning sker ”senare”, vilket betyder att den ofta aldrig blir av när det blir stressigt.
- Sälj blir notifierade inkonsekvent, så heta leads blir liggande i timmar eller dagar.
- När du till slut rensar listan åtgärdar du symtom i stället för att stoppa dåliga poster uppströms.
Lösningen: Typeform till Airtable-berikning med dubblettsäkra uppdateringar
Det här arbetsflödet gör varje Typeform-inlämning till en felfri, berikad kontaktpost i Airtable. Det startar i samma ögonblick som ett nytt formulärsvar kommer in och skickar sedan leaden via Dropcontact för att hämta verifierad, namngiven e-postdata plus relevant kontext om personen och företaget. Därefter kontrollerar det din Airtable-tabell för att se om kontakten redan finns. Om det hittar en träff uppdaterar det den befintliga posten med den nya berikningen i stället för att skapa ännu en post. Om det inte hittar någon träff skapar det en ny kontakt. Oavsett vilket skickar det en Slack-notis så att teamet vet exakt vad som hände och kan följa upp medan leaden fortfarande är varm.
Arbetsflödet börjar i Typeform, berikar och normaliserar datan med Dropcontact och använder sedan Airtable som ”source of truth”. Slack är sista ”överlämningen”, så alla håller sig synkade utan att behöva fråga: ”Har vi redan kontaktat dem?”
Det här får du: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du får 15 Typeform-leads per dag. Manuellt kanske du lägger cirka 10 minuter per lead på att kolla Airtable efter dubbletter, kopiera fält och posta en snabb notis i Slack, vilket blir ungefär 2,5 timmar per dag. Med det här arbetsflödet lägger du kanske totalt 5 minuter på att granska Airtable-posterna och svara i Slack om en lead ser brådskande ut, medan berikning och avduplicering sker automatiskt i bakgrunden. Det är runt 2 timmar tillbaka per dag, och uppföljningen blir mer prydlig.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Typeform för att fånga nya lead-inlämningar
- Airtable för att lagra och avduplicera leadposter
- Dropcontact API-nyckel (hämtas i din Dropcontact-dashboard)
- Slack för att larma teamet i realtid
Kunskapsnivå: Nybörjare. Du kopplar konton, mappar några fält och testar en inlämning från start till mål.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En Typeform-inlämning triggar arbetsflödet. Så fort ett svar kommer in hämtar n8n nyckelfälten du bryr dig om (vanligtvis e-post, namn, företag och eventuella kvalificerande frågor).
Dropcontact berikar leaden. Arbetsflödet skickar inlämnad data till Dropcontact för att hämta verifierade, namngivna e-postdetaljer och extra person-/företagsinformation som gör leaden användbar för outreach.
Airtable kontrolleras efter en befintlig kontakt. n8n listar dina kontaktposter i Airtable och avgör om den inkommande leaden redan finns, så att du inte skapar dubbletter när någon skickar in ett formulär igen eller använder en lite annan variant av sina uppgifter.
Arbetsflödet uppdaterar eller skapar och pingar sedan Slack. Om posten finns mappar det de uppdaterade fälten och skriver tillbaka dem till Airtable. Om den är ny skapar det en ny post. I båda fallen skickas ett Slack-meddelande så att rätt person kan agera direkt.
Du kan enkelt justera matchningslogiken i Airtable så att den använder bara e-post (strikt) eller e-post plus företag (mer flexibel), beroende på dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera Typeform Intake Trigger
Konfigurera arbetsflödets startpunkt så att nya Typeform-svar fångas upp och skickas vidare till berikningssteget.
- Lägg till noden Typeform Intake Trigger som arbetsflödets trigger.
- Ställ in Form ID till ert Typeform-ID (för närvarande tomt i arbetsflödet).
- Inloggningsuppgifter krävs: anslut era typeformApi-inloggningsuppgifter.
- Koppla Typeform Intake Trigger till Enrich Contact Details.
- Notera att körflödet börjar så här: Typeform Intake Trigger → Enrich Contact Details.
Steg 2: konfigurera lead-berikning med Dropcontact
Berika inkommande formulärdata innan ni matchar eller skapar CRM-poster.
- Öppna Enrich Contact Details och ställ in Email till
=. - I Additional Fields mappar ni värden med hjälp av de angivna uttrycken: company →
={{$json["and your company ?"]}}, website →={{$node["Typeform Intake Trigger"].json["tell me more... What's your website ?"]}}, last_name →={{$json["Hi [field:1c6436830dfffbf1], what's your last name ?"]}}, first_name →={{$json["First, what's your name?"]}}. - Aktivera Options med siren satt till
trueoch language satt tillfr. - Inloggningsuppgifter krävs: anslut era dropcontactApi-inloggningsuppgifter.
- Bekräfta att flödet fortsätter till Fetch Contact Records.
Steg 3: anslut Airtable och kontrollera om kontakter redan finns
Sök i er Airtable-bas efter befintliga kontakter med hjälp av berikad data och förgrena sedan baserat på om ett ID finns.
- Konfigurera Fetch Contact Records med Operation satt till
listoch Table satt tillContacts. - Ställ in Filter by Formula till
=fullName="{{$json["full_name"]}}"under Additional Options. - Inloggningsuppgifter krävs: anslut era airtableApi-inloggningsuppgifter.
- I Check Missing Contact ID behåller ni villkoret: Value 1 =
={{$json["id"]}}med Operation satt tillisEmpty. - Bekräfta förgreningen: Check Missing Contact ID skickar utdata till både Map Fields for Update och Map Fields for Create i separata grenar.
full_name. Säkerställ att inkommande payload faktiskt innehåller detta fält, annars kommer filtret aldrig att matcha.Steg 4: mappa fält för skapa- och uppdateringsflöden
Förbered normaliserade fält för att uppdatera befintliga kontakter eller skapa nya.
- I Map Fields for Update ställer ni in värden med uttryck: firstName →
={{$node["Enrich Contact Details"].json["first_name"]}}, lastName →={{$node["Enrich Contact Details"].json["last_name"]}}, linkedInProfile →={{$node["Enrich Contact Details"].json["linkedin"]}}, Email →={{$node["Enrich Contact Details"].json["email"][0]["email"]}}, Phone →={{$node["Enrich Contact Details"].json["phone"]}}, website →={{$node["Enrich Contact Details"].json["website"]}}, LinkedIn Company →={{$node["Enrich Contact Details"].json["company_linkedin"]}}, Industry →={{$node["Enrich Contact Details"].json["naf5_des"]}}, Address →={{$node["Enrich Contact Details"].json["siret_address"]}}, {{$node["Enrich Contact Details"].json["siret_zip"]}} {{$node["Enrich Contact Details"].json["siret_city"]}}. - Spegla samma mappningar i Map Fields for Create för att hålla skapa-/uppdateringsfält konsekventa.
- Låt Options → dotNotation vara aktiverat i båda mappningsnoderna.
Steg 5: konfigurera Airtable-uppdateringar och Slack-notiser
Skriv tillbaka uppdateringar till Airtable och notifiera teamet i Slack baserat på om leadet redan fanns.
- För uppdateringsflödet, öppna Modify Contact Entry och ställ in ID till
={{$node["Fetch Contact Records"].json["id"]}}och Operation tillupdatemed Table satt tillContacts. - Behåll Fields enligt listan:
firstName,lastName,linkedInProfile,Email,Phone,website,LinkedIn Company,Industry,Address. - Inloggningsuppgifter krävs: anslut era airtableApi-inloggningsuppgifter för både Modify Contact Entry och Append Contact Entry.
- För skapa-flödet, konfigurera Append Contact Entry med Operation satt till
appendoch Table satt tillContacts. - Konfigurera Slack-meddelanden: Notify New Lead använder Text
=🎉 A new lead has just subscribed!; Notify Existing Lead använder Text🥳 An existing lead has just subscribed!. - Inloggningsuppgifter krävs: anslut era slackApi-inloggningsuppgifter till både Notify New Lead och Notify Existing Lead.
Steg 6: testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att bekräfta att berikning, Airtable-uppdateringar och Slack-notiser fungerar korrekt.
- Klicka på Execute Workflow och skicka in ett Typeform-testsvar.
- Verifiera att Enrich Contact Details returnerar berikade fält som
first_name,emailoch företagsdata. - Bekräfta att Fetch Contact Records returnerar en post när leadet finns, eller ingen när det inte gör det.
- Kontrollera Airtable: befintliga leads ska uppdateras via Modify Contact Entry; nya leads ska skapas via Append Contact Entry.
- Bekräfta att Slack-notiser triggas från Notify Existing Lead eller Notify New Lead beroende på vald gren.
- När testet lyckas, slå på arbetsflödet till Active för produktionsanvändning.
Vanliga fallgropar
- Airtable-autentiseringsuppgifter kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera först skärmen Credentials i n8n och din åtkomst till Airtable-workspace.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder misslyckas på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera outputs i all oändlighet.
Vanliga frågor
Cirka 30 minuter om dina konton är redo.
Nej. Du kopplar främst konton och mappar fält en gång. Sedan kör det av sig självt.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för Dropcontact API-användning (det beror på din plan och berikningsvolym).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du. De flesta team matchar bara på e-post och faller sedan tillbaka till namn + företag när e-post saknas. I n8n justerar du söklogiken i Airtable-noden ”list records” och beslutet i ”Check Missing Contact ID” så att arbetsflödet tar uppdateringsspåret när en match hittas. Du kan också ändra vilka fält Dropcontact får skriva över (till exempel behålla din egen leadstatus samtidigt som du uppdaterar jobbtitel och företagsdetaljer).
Oftast beror det på utgångna autentiseringsuppgifter eller saknad åtkomst till basen. Anslut Airtable igen i n8n och bekräfta sedan att token har behörighet att läsa och skriva till den specifika tabellen du använder. Kontrollera också att tabell- och fältnamn fortfarande matchar vad arbetsflödet förväntar sig, eftersom ett omdöpt fält kan göra att uppdateringar slutar fungera utan tydliga fel.
Några hundra per dag är realistiskt för de flesta små team, och det skalar ytterligare med self-hosting.
Ofta, ja, om dubbletter är ditt verkliga problem. Logiken här är inte bara ”skicka Typeform till Airtable”; den är ”berika, sök, avgör och uppdatera eller skapa”, och n8n hanterar den greningen snyggt. Self-hosting tar också bort oron för körningar när volymen sticker, vilket händer vid lanseringar. Zapier eller Make kan fortfarande vara ett bra val för enkla tvåstegs-zaps, men det här arbetsflödet tjänar på mer kontroll över matchning och fältmappning. Prata med en automationsexpert om du vill ha hjälp att välja.
Felfria leads är en fördel som förstärks över tid. Sätt upp detta en gång, så börjar din uppföljning ske från en databas du faktiskt litar på.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.