Nya leads kommer in, och ändå blir de liggande. Du har fullt upp, teamet har fullt upp, och uppföljningen som ”borde ske direkt” blir i tysthet ”i morgon”. Så blir affärer kalla.
Den här Vapi Gmail follow-up-automationen träffar försäkringsbyråägare först, men säljchefer och ops-ansvariga känner av den också. Du får omedelbar kontakt, konsekventa offertutskick och spårning i Airtable så att inget faller mellan stolarna.
Nedan ser du hur workflowet ringer varje nytt lead, kvalificerar dem via samtal, tar fram en skräddarsydd ”Insurance Blueprint” och mejlar ut den automatiskt (med Slack-notiser när något behöver en människa).
Så här fungerar automationen
Se hur detta löser problemet:
n8n Workflow Template: Vapi + Gmail: snabbare uppföljning av nya leads
flowchart LR
subgraph sg0["Prepare Blueprint Flow"]
direction LR
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/webhook.dark.svg' width='40' height='40' /></div><br/>Post call"]
n4@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is Qualified ?", pos: "b", h: 48 }
n5["<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/>Update record1"]
n6@{ icon: "mdi:message-outline", form: "rounded", label: "Send a message", pos: "b", h: 48 }
n7["<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/>Send a message1"]
n8@{ icon: "mdi:robot", form: "rounded", label: "Prepare Blueprint", pos: "b", h: 48 }
n9["<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/>Error Handling"]
n10["<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/>Update record"]
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Clean data", pos: "b", h: 48 }
n3 --> n11
n11 --> n4
n10 --> n7
n4 --> n5
n4 --> n10
n6 --> n9
n5 --> n8
n8 --> n6
end
subgraph sg1["On form submission 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/form.svg' width='40' height='40' /></div><br/>On form submission"]
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/airtable.svg' width='40' height='40' /></div><br/>Create a record"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Vapi call"]
n1 --> n2
n0 --> 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 n8 ai
class n4 decision
class n5,n10,n1 database
class n3,n2 api
classDef customIcon fill:none,stroke:none
class n3,n5,n7,n9,n10,n0,n1,n2 customIcon
Utmaningen: speed-to-lead fallerar så fort du blir upptagen
När ett lead ber om en offert börjar klockan ticka. Svarar du snabbt ser du skarp och hjälpsam ut. Svarar du sent blir du ”en i mängden”. Det irriterande är att förseningen sällan är strategisk. Det är små manuella steg som staplas på hög: kopiera kontaktuppgifter, ringa första samtalet, anteckna, avgöra om de är kvalificerade och sedan försöka skriva ett vettigt offertmejl samtidigt som du jonglerar allt annat. Ett missat fält eller en vag anteckning, och du fastnar i att jaga kontext i stället för att driva affären framåt.
Det eskalerar snabbt. Här är var det faller isär i verkligheten.
- Ett nytt lead kan få vänta i timmar bara för att få första kontaktförsöket, trots att de var redo att prata för några minuter sedan.
- Samtalsanteckningar hamnar utspridda i inkorgar och CRM-system, vilket gör att nästa uppföljning känns som att börja om.
- Team slösar tid på att skriva ”tillräckligt bra” offertutkast, och tonen skiftar beroende på vem som är trött den dagen.
- Okvalificerade leads tar fortfarande upp uppmärksamhet eftersom ingen har ett konsekvent filter eller en strukturerad överlämning till rätt pipeline-status.
Lösningen: omedelbara AI-samtal, kvalificerade överlämningar och offertmejl på autopilot
Det här workflowet gör varje inkommande lead till en snabb, strukturerad uppföljning utan att vara beroende av att någon ser en notis. Ett lead skickar in ett enkelt n8n-formulär (namn, e-post, telefon). n8n loggar dem direkt i Airtable och triggar sedan Vapi att ringa ett AI-röstsamtal omgående med din konfigurerade assistent och ditt telefonnummer. När samtalet är klart skickar Vapi transkript och analys tillbaka till n8n, där workflowet normaliserar datan och kör en kvalificeringskontroll. Om personen är kvalificerad och en försäkringstyp identifieras genererar OpenAI (GPT-4) ett välskrivet ”Insurance Blueprint”-mejl anpassat efter vad prospektet faktiskt sa, och därefter skickar Gmail det. Om något misslyckas eller ett lead är okvalificerat larmar Slack ditt team med kontext, så att ni kan bestämma nästa steg.
Workflowet startar i samma ögonblick som leadet dyker upp. Sedan samlar det in krav via en riktig konversation, inte en mejltråd med fram och tillbaka. Till sist levererar det ett färdigt offertutkast och uppdaterar Airtable så att din pipeline förblir korrekt.
Vad som förändras: före vs. efter
| Det här elimineras | Effekten du kommer se |
|---|---|
|
|
Effekt i verkligheten
Säg att din byrå får 10 inkommande leads i veckan. Manuellt kan en ”snabb” process se ut så här: 10 minuter för att logga leadet, 10 minuter för att försöka ringa, och sedan ytterligare 20 minuter senare för att skriva ett bra offertutkast — alltså cirka 40 minuter per lead (ungefär 6–7 timmar per vecka). Med det här workflowet triggas formuläret direkt, Vapi-samtalet körs av sig självt, och Gmail-utkastet genereras och skickas automatiskt för kvalificerade leads. Du kommer fortfarande granska specialfall, men du lägger i huvudsak tid bara där det faktiskt spelar roll.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Vapi för AI-röstsamtal till nya leads.
- Airtable för att spåra leadstatus och sammanfattningar.
- Gmail för att skicka det genererade offertmejlet.
- Slack för interna larm vid fel/okvalificerade leads.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard).
Kunskapsnivå: Medel. Du kopplar konton, mappar några fält och klistrar in ID:n/nycklar i rätt noder.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Workflow-flödet
Ett lead skickar in ditt formulär. Workflowet startar med en n8n Form Trigger som fångar grundläggande kontaktuppgifter (namn, e-post, telefonnummer). Enkel input, snabb start.
Leadet loggas direkt. n8n skapar en ny post i Airtable så att du har ett pålitligt system of record, inklusive statusfält som du kan sortera och rapportera på senare.
Vapi ringer och kvalificerar via konversation. n8n skickar en HTTP-request till Vapi för att lägga samtalet med din assistent. Efter samtalet skickar Vapi transkript och samtalsanalys tillbaka via en webhook, och n8n kontrollerar om samtalet lyckades och om försäkringstypen faktiskt identifierades.
En offert genereras och skickas (eller så får teamet ett larm). Kvalificerade leads går via OpenAI för att generera ”Coverage Blueprint”, sedan skickar Gmail den till prospektet och Airtable uppdateras till ”Qualify”. Okvalificerade leads uppdaterar Airtable till ”Unqualified” och Slack postar orsaken, så att du slipper gissa.
Du kan enkelt justera kvalificeringsreglerna och mejltonen efter dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera formulärtriggern
Konfigurera formulärinmatningen som startar arbetsflödet och samlar in lead-detaljer.
- Lägg till noden Form Entry Trigger som trigger för ert arbetsflöde.
- Ställ in Form Title till
Harvex Insurance. - Ställ in Form Description till
Input your following details for an agent to get back to you !. - Konfigurera fält i Form Fields för
name,Email(e-posttyp) ochPhone Number(nummertyp).
⚠️ Vanlig fallgrop: Säkerställ att fältetiketterna matchar exakt (name, Email, Phone Number) eftersom efterföljande uttryck refererar till dessa nycklar.
Steg 2: anslut Airtable
Skapa den första lead-posten och förbered Airtable för senare uppdateringar.
- Lägg till Add Airtable Row och ställ in Operation till
create. - Välj Base
Leadsoch TableTable 1. - Mappa name till
{{ $json.name }}, Email till{{ $json.Email }}och Phone number till{{ $json["Phone Number"].toString() }}. - Behörighet krävs: Anslut era
airtableTokenApi-uppgifter.
Steg 3: konfigurera samtalshantering och normalisering
Trigga telefonsamtalet, ta emot resultat, normalisera payloaden och förgrena baserat på kvalificering.
- Lägg till Vapi Phone Request efter Add Airtable Row och ställ in URL till
https://api.vapi.ai/call/phonemed MethodPOST. - Ställ in JSON Body till den angivna mallen och bekräfta att uttryck som
{{ '+230' + $json.fields['Phone number']}}och{{ $json.fields.name }}är intakta. - Behörighet krävs: Anslut era
httpBasicAuth- ochhttpHeaderAuth-uppgifter i Vapi Phone Request. - Lägg till Call Result Webhook med HTTP Method
POSToch Pathcf226daa-a404-4c24-a44a-33526891e5f2. - Lägg till Normalize Call Data och mappa fält som Call summary till
{{ $json.body.message.analysis.summary }}och Type of Insurance till{{ $json.body.message.artifact.messages[4].message }}. - Konfigurera Qualification Check med två villkor:
{{ $json.Success }}regextrueoch{{ $json['Type of Insurance'] }}notEmpty. - Qualification Check skickar utdata till både Update Airtable Qualified och Update Airtable Unqualified i parallella grenar.
⚠️ Vanlig fallgrop: Webhooken måste vara nåbar av Vapi. Kopiera produktions-URL:en från Call Result Webhook till er Vapi-konfiguration.
Steg 4: konfigurera bearbetnings-/AI-nod
Generera e-postmeddelandet med försäkringsblueprint med AI för kvalificerade leads.
- Lägg till Generate Coverage Blueprint efter Update Airtable Qualified.
- Ställ in Model till
gpt-4.1-mini. - Säkerställ att systemprompten refererar till uttryck som
{{ $json.fields.name }},{{ $json.fields['Type of Insurance'] }}och{{ $json.fields['Call summary'] }}. - Behörighet krävs: Anslut era
openAiApi-uppgifter i Generate Coverage Blueprint.
Steg 5: konfigurera utdata-/åtgärdsnoder
Uppdatera Airtable med status, skicka blueprint-mejlet och notifiera Slack för okvalificerade leads.
- I Update Airtable Qualified, ställ in Status till
Qualify, mappa Email till{{ $json.Email }}, Call summary till{{ $json['Call summary '] }}och Type of Insurance till{{ $json['Type of Insurance'] }}. - Behörighet krävs: Anslut era
airtableTokenApi-uppgifter i Update Airtable Qualified. - I Email Blueprint Dispatch, ställ in Send To till
{{ $('Update Airtable Qualified').item.json.fields.Email }}och Message till{{ $json.output[0].content[0].text }}, med SubjectYour insurance blueprintoch Email Typetext. - Behörighet krävs: Anslut era
gmailOAuth2-uppgifter i Email Blueprint Dispatch. - I Update Airtable Unqualified, ställ in Status till
Unqualifiedoch mappa name, Email, Call summary och Phone number med de angivna uttrycken. - Behörighet krävs: Anslut era
airtableTokenApi-uppgifter i Update Airtable Unqualified. - Konfigurera Slack Unqualified Alert med meddelandemallen och välj er Channel.
- Behörighet krävs: Anslut era
slackOAuth2Api-uppgifter i Slack Unqualified Alert.
Steg 6: lägg till felhantering
Notifiera Slack när mejlet inte går att skicka så att ni kan ingripa manuellt.
- Öppna Email Blueprint Dispatch och bekräfta att On Error är inställt på att fortsätta till felutgången (detta är redan konfigurerat).
- Anslut felutgången till Slack Email Failure Alert.
- I Slack Email Failure Alert, behåll meddelandeuttrycket som refererar till
{{ $('Qualification Check').item.json.Name }},{{ $('Qualification Check').item.json.Email }}och{{ $('Generate Coverage Blueprint').item.json.output[0].content[0].text }}. - Behörighet krävs: Anslut era
slackOAuth2Api-uppgifter i Slack Email Failure Alert.
⚠️ Vanlig fallgrop: Om Slack-kanalens ID lämnas som [YOUR_ID] kommer larm att misslyckas utan att det märks. Ersätt det med ett riktigt kanal-ID.
Steg 7: testa och aktivera ert arbetsflöde
Validera flödet från början till slut och aktivera det för användning i produktion.
- Klicka på Execute Workflow och skicka in en testpost till Form Entry Trigger med giltigt namn, e-post och telefonnummer.
- Bekräfta att Add Airtable Row skapar en post och att Vapi Phone Request returnerar ett svar för initiering av samtal.
- Posta en exempel-payload till Call Result Webhook och verifiera att Normalize Call Data fyller i fält som Call summary och Type of Insurance.
- Kontrollera att Qualification Check skickar kvalificerade leads till Update Airtable Qualified och okvalificerade leads till Update Airtable Unqualified och Slack Unqualified Alert.
- För kvalificerade leads, bekräfta att Generate Coverage Blueprint genererar text och att Email Blueprint Dispatch skickar meddelandet utan problem.
- Slå på arbetsflödet som Active när alla tester lyckas.
Saker att se upp med
- Vapi-inloggningsuppgifter och assistentinställningar kan vara kinkiga. Om samtal inte startar, kontrollera din Vapi-dashboard för Assistant ID, Phone Number ID och att ”Server URL” pekar på workflowets produktions-webhook.
- Om du använder Wait-noder eller extern rendering varierar processtider. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Gmail-utskick kan misslyckas på grund av behörigheter, dagliga gränser eller problem med ”from”-identitet. Kontrollera först Gmail-nodens kopplade konto och dina Google-säkerhetsinställningar, och förlita dig sedan på Slack-larmet vid fel så att offerter inte försvinner.
Vanliga frågor
Cirka 1–2 timmar om din Vapi-assistent och din Airtable-bas redan är uppsatta.
Ja, men du vill ha en person som är bekväm med att koppla konton och mappa fält. Ingen kodning, bara noggrann konfigurering.
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 OpenAI API-kostnader (ofta några cent per offert) plus Vapi-samtalskostnader.
Två alternativ: n8n Cloud (hanterat, enklaste upplägget) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Du kan justera kvalificeringsreglerna i noden ”Qualification Check” och anpassa offertens röst i ”Generate Coverage Blueprint”. Vanliga justeringar är att lägga till extra formulärfält (som delstat eller ålder), ändra vad som räknas som ”kvalificerad” och skriva om systemprompten så att mejlet matchar din byrås tonalitet.
Oftast beror det på en ogiltig eller saknad Vapi API-nyckel, assistantId eller phoneNumberId i Vapi-requesten. Bekräfta också att Vapis ”Server URL” pekar på din n8n produktions-webhook för samtalsresultatet, inte en test-URL. Om samtalen startar men du aldrig får transkript tillbaka är felmatchad webhook-URL det första att kontrollera, ärligt talat.
På n8n Cloud beror kapaciteten på din plans månatliga körningar, men det här workflowet är vanligtvis en körning per lead plus några interna steg. Om du self-hostar finns ingen körningsgräns och de faktiska begränsningarna är din serverstorlek, OpenAI-genomströmning och hur många samtidiga Vapi-samtal din setup klarar. För många små team är det realistiskt att hantera dussintals leads per dag. Om du förväntar dig toppar, lägg till kölogik och se till att Slack-larm är kopplade så att människor kan kliva in.
För det här workflowet har n8n några fördelar: mer komplex logik med obegränsad branching utan extra kostnad, ett self-hosting-alternativ för obegränsade körningar och webhook-driven samtalshantering som förblir flexibel när dina kvalificeringsregler utvecklas. Zapier eller Make kan fungera, men flerstegslogik för leads plus AI-generering blir dyrt och svårare att felsöka. Dessutom är det enklare att underhålla när Airtable-statusuppdateringar och Slack-fallbacks finns på samma ställe. Om du är osäker på vilken väg du ska välja, prata med en automationsexpert och få en rekommendation baserat på din leadvolym.
Det här är vad ”speed-to-lead” ska kännas som: omedelbar kontakt, tydlig kvalificering och offerter som går iväg i tid. Sätt upp det en gång och låt sedan workflowet sköta den repetitiva delen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.