Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Twilio + Google Sheets: samtal bokas och loggas

Rickard Andersson Partner, Nodenordic.se

Inkommande samtal är toppen. Det röriga börjar efteråt: försöka komma ihåg vad personen ville, klottra ner anteckningar och sedan jaga uppföljningen senare (när tillfället redan är förbi).

Marknadschefer märker det när leads från betalda samtal inte spåras. En receptionsansvarig får samtal på samtal och har ingen tid att logga dem. Och om du driver ett litet tjänsteföretag ser den här Twilio Sheets logging-automationen till att bokningar och samtalsanteckningar inte försvinner i kaoset.

Det här arbetsflödet svarar på samtal via Twilio, använder AI för att hantera konversationen på flera språk och loggar de viktigaste detaljerna i Google Sheets. Du får se hur det fungerar, vad du behöver och var team oftast går bet.

så här fungerar automatiseringen

Här är hela arbetsflödet du kommer att sätta upp:

n8n Workflow Template: Twilio + Google Sheets: samtal bokas och loggas

varför detta är viktigt: inkommande samtal skapar ”osynligt” arbete

De flesta intäkter som missas är inte dramatiska. De är små. Någon ringer och ber om en tid, du svarar på frågor, du lovar att återkomma … och sedan ligger detaljerna i någons minne (eller ännu värre, på en post-it). När du till slut öppnar ditt CRM eller kalkylark är allt redan otydligt: stavning på namn, önskat datum, typ av tjänst, språk, vad de fick för pris, vad de lät oroliga över. Multiplicera det med några samtal per dag så får du ett tyst operativt läckage: inkonsekventa anteckningar, ojämn uppföljning och en pipeline du inte kan lita på.

Det växer snabbt. Här brukar friktionen synas i verkliga team.

  • Samtal besvaras, men bokningsdetaljerna hamnar inte i ett system du kan söka i senare.
  • Teammedlemmar skriver anteckningar på olika sätt, så du kan inte jämföra utfall eller ens läsa dem snabbt.
  • Språkbarriärer saktar ner samtalet, vilket betyder mer väntetid och fler som lägger på.
  • Uppföljningar bygger på minnet, och ärligt talat är minnet ett uselt arbetsflöde.

vad du bygger: AI-samtalshantering som loggar varje bokning

Det här n8n-arbetsflödet gör ett inkommande Twilio-samtal till en strukturerad post i Google Sheets, där AI gör grovjobbet. När någon ringer träffar Twilio din n8n-webhook och skickar inringarinfo plus eventuellt talunderlag som finns tillgängligt. Arbetsflödet kontrollerar om det faktiskt fick in användbart tal; om inte skickar det en vänlig välkomstprompt så att inringaren vet vad som ska göras härnäst. Om tal finns genererar OpenAI ett naturligt svar (på inringarens språk), och sedan konverterar ElevenLabs texten till realistiskt ljud. Ljudet lagras via en HTTP-begäran och n8n skickar tillbaka TwiML till Twilio så att inringaren hör svaret direkt. I bakgrunden loggas varje samtal till Google Sheets, och om AI:t upptäcker bokningsintention lägger det även till en bokningsrad.

Så samtalet hanteras i realtid, och adminarbetet sker tyst i bakgrunden. Du får ett ark för fullständiga samtalsloggar och ett annat för bokningar, klart för uppföljning eller rapportering.

det du bygger

förväntade resultat

Säg att du får runt 15 inkommande samtal per dag och försöker logga varje samtal manuellt. Om det tar ungefär 10 minuter att sammanfatta ärendet, fånga kontaktuppgifter och skriva en användbar uppföljningsanteckning blir det cirka 2,5 timmar per dag. Med det här arbetsflödet sker interaktionen med inringaren automatiskt och loggningen sker direkt; du lägger mest cirka en minut på att skumma arket och agera på de heta leadsen. Det är ungefär 2 timmar tillbaka per dag, plus färre ”vad sa de nu igen?”-ögonblick.

innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Twilio för att ta emot samtal och köra webhooks
  • Google Sheets för att lagra samtalsloggar och bokningar
  • OpenAI API-nyckel (hämta den i din OpenAI-dashboard)

svårighetsnivå: Medel. Du kopplar några konton, klistrar in en webhook-URL i Twilio och mappar kolumner i arket.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

steg för steg

Ett inkommande samtal träffar din webhook. Twilio skickar samtalshändelsen till n8n:s ”Incoming Voice Webhook”, som blir triggern för resten av automatiseringen.

Arbetsflödet kontrollerar om det finns användbart tal. Om talinmatning saknas eller är tom styrs samtalet till ett enkelt välkomstsvar så att inringaren kan försöka igen utan att du behöver göra något manuellt.

AI skriver svaret och konverterar det till ljud. OpenAI genererar svarstexten, ElevenLabs gör om den till röst och ett steg med HTTP Request lagrar ljudfilen så att Twilio kan spela upp den utan strul.

Allt loggas och bokningar identifieras. Ett Google Sheets-steg registrerar samtalet (tidsstämpel, caller ID, talinmatning, AI-svar, språk, call SID), och en kontroll av ”intention” lägger till en bokningsrad när inringaren faktiskt försöker boka.

Du kan enkelt justera reglerna för bokningsidentifiering så att de passar din verksamhet (till exempel bara tolka ”boka” plus ett datum som en bokning). Se hela implementeringsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera webhook-triggern

Sätt upp den inkommande voice-webhooken och validera talinmatningen innan ni routar vidare till AI eller välkomstmeddelandet.

  1. Lägg till noden Incoming Voice Webhook och ställ in HTTP MethodPOST, Pathvoice-webhook och Response ModeresponseNode.
  2. I Validate Speech Input, ställ in villkoret till Exists med Left Value {{$json.SpeechResult}}.
  3. Koppla Incoming Voice WebhookValidate Speech Input för att routa flödet för inkommande samtal.
Om tal-payloaden kan vara tom, låt den andra utgången från Validate Speech Input vara ansluten till Send Welcome Message för att hantera förstagångsringare eller tystnad.

Steg 2: Anslut Google Sheets

Logga samtalsdetaljer och fånga bokningsförfrågningar med två append-åtgärder i Google Sheets.

  1. Öppna Record Call Log och ställ in Operationappend, Sheet NameCall_Logs och Document ID[YOUR_ID].
  2. I Record Call LogColumns, mappa värden: call_sid {{$json.CallSid}}, caller_id {{$json.From}}, timestamp {{$now}}, ai_response {{$json.choices[0].message.content}}, speech_input {{$json.SpeechResult}}.
  3. Autentisering krävs: Anslut era googleSheetsOAuth2Api-credentials i Record Call Log.
  4. Öppna Append Appointment Entry och ställ in Operationappend, Sheet NameAppointments och Document ID[YOUR_ID].
  5. I Append Appointment EntryColumns, mappa värden: status pending, call_sid {{$json.CallSid}}, caller_id {{$json.From}}, timestamp {{$now}}, request_details {{$json.SpeechResult}}.
  6. Autentisering krävs: Anslut era googleSheetsOAuth2Api-credentials i Append Appointment Entry.
⚠️ Vanlig fallgrop: Om ni lämnar [YOUR_ID] oförändrat kommer append att misslyckas. Ersätt det med ert faktiska Google Sheet-ID.

Steg 3: Sätt upp Generate AI Reply

Konfigurera genereringen av OpenAI-svar som driver voice assistant-svaret.

  1. Öppna Generate AI Reply och ställ in Modelgpt-4o.
  2. I Messages, behåll system-prompten och ställ in user-innehållet till {{$json.SpeechResult || 'Hello, how can I help you today?' }}.
  3. Autentisering krävs: Anslut era openAiApi-credentials i Generate AI Reply.

Steg 4: Konfigurera utdata- och routningsnoder

Gör om AI-text till ljud, lagra MP3:an, skicka TwiML och detektera bokningsintention.

  1. I Convert Text to Voice, ställ in Text{{$json.choices[0].message.content}}, Model IDeleven_monolingual_v1 och Voice ID21m00Tcm4TlvDq8ikWAM.
  2. Autentisering krävs: Anslut era elevenLabsApi-credentials i Convert Text to Voice.
  3. I Store Audio File, ställ in Operationupload, Binary Property Namedata och ytterligare fält File Name response.mp3 samt Content Type audio/mpeg.
  4. I Send TwiML Reply, behåll TwiML-XML:en och säkerställ att {{$json.audio_url}} används i och att action använder {{$node.webhook.getWebhookUrl()}}.
  5. I Send Welcome Message, behåll hälsnings-XML:en och ställ in gather-action till {{$node['Incoming Voice Webhook'].getWebhookUrl()}}.
  6. I Detect Appointment Intent, ställ in villkoret Contains med Left Value {{$json.choices[0].message.content.toLowerCase()}} och Right Value appointment.
  7. Koppla Detect Appointment IntentAppend Appointment Entry för att spara förfrågningar som innehåller bokningsintention.

Generate AI Reply skickar utdata till både Convert Text to Voice och Record Call Log parallellt.

Om ni ändrar röstmodell eller ID i Convert Text to Voice, behåll ljudets content type som audio/mpeg för att undvika uppspelningsproblem i TwiML.

Steg 5: Testa och aktivera ert workflow

Validera end-to-end-flödet från samtalsmottagning till TwiML-svar och loggning.

  1. Använd Execute Workflow i n8n och skicka en test-POST till Incoming Voice Webhook-URL:en med en SpeechResult-payload.
  2. Bekräfta att Generate AI Reply returnerar ett svar och att Convert Text to Voice producerar ljuddata.
  3. Verifiera att Store Audio File returnerar en audio_url och att Send TwiML Reply spelar upp ljudet och samlar in tal.
  4. Kontrollera Google Sheets för nya rader i Call_Logs och, när intention matchar, Appointments.
  5. Aktivera workflowet för att börja hantera livesamtal i produktion.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

tips för felsökning

  • Twilio-uppgifter och webhook-inställningar är petiga. Om samtal plötsligt slutar nå n8n, kontrollera först telefonnumrets Voice webhook-URL och request-loggar i Twilio-konsolen.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in ert tonalitet och varumärkesspråk tidigt, annars kommer du redigera output för alltid.

snabba svar

Hur lång tid tar det att sätta upp den här Twilio Sheets logging-automationen?

Cirka 45 minuter om ditt Twilio-nummer och ditt Google-ark är redo.

Behövs kodning för den här samtalsloggningsautomationen?

Nej. Du kopplar främst konton och klistrar in rätt webhook- och sheet-ID:n.

Är n8n gratis att använda för det här Twilio Sheets logging-arbetsflödet?

Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna in OpenAI API-kostnader samt ElevenLabs-användning för röstgenerering.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar, men kräver grundläggande serverhantering.

Kan jag anpassa det här Twilio Sheets logging-arbetsflödet för andra användningsfall?

Ja, och det bör du förmodligen. De flesta ändringar sker i steget ”Generate AI Reply” (din systemprompt) och kontrollen ”Detect Appointment Intent” (vad som räknas som en bokning). Vanliga justeringar är att lägga till regler för öppettider, fånga extra fält som tjänstetyp eller adress, och routa ”brådskande” intentioner till e-post via noden Send Email.

Varför misslyckas min Twilio-anslutning i det här arbetsflödet?

Oftast är webhook-URL:en i Twilio fel eller så är n8n-arbetsflödet inte aktivt. Kontrollera Twilios request-loggar för att se om den får ett icke-200-svar, och bekräfta sedan att din n8n-webhook-sökväg matchar exakt. Om webhooken når n8n men ljuduppspelningen misslyckas kan det bero på att den lagrade ljud-URL:en inte är publikt åtkomlig. Rate limits kan också dyka upp när du testar upprepade gånger under ett kort tidsfönster.

Vilken volym kan det här Twilio Sheets logging-arbetsflödet hantera?

I en typisk n8n Cloud-setup hanterar de flesta team dussintals samtal per dag utan att ens tänka på det. Om du kör egen drift är den praktiska gränsen din server och hur snabbt du kan generera ljud med ElevenLabs. Det säkraste sättet är att lasttesta under en lugn timme och sedan skala upp resurser om du ser timeouts.

Är den här Twilio Sheets logging-automationen bättre än att använda Zapier eller Make?

Ofta, ja. Du hanterar webhooks, förgreningar (saknat tal vs tal finns), AI-generering och en överlämning av röstfil, vilket är mer än en enkel Zap i två steg. n8n låter dig också köra egen drift för obegränsade körningar, och du kan ha hela logiken på ett ställe i stället för att kedja flera scenarier. Zapier eller Make kan fortfarande fungera om du bara vill ”logga samtalet” med minimal AI. Om du vill ha hjälp att välja, prata med en automationsexpert.

När detta väl rullar slutar samtal att vara ”någon borde skriva ner det här”. Du får ett strukturerat ark, tillförlitliga uppföljningar och betydligt mer andrum under rusningstimmar.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal