Samtalstranskriptioner är guld. Men om dina ligger kvar inne i Retell (eller ännu värre, i någons inkorg) är de i praktiken osynliga när du behöver dem för coachning, QA eller ett snabbt ”vad sa kunden?”-ögonblick.
Det här drabbar säljchefer och supportansvariga först, helt ärligt. Ops-folk dras också in eftersom de till slut bygger ”systemet” i kalkylbladet för hand. En Retell Sheets-automation löser det genom att logga varje analyserat samtal automatiskt, så historiken blir sökbar och konsekvent.
Nedan är flödet, vad det fångar och vad som förändras när du slutar klistra in transkriptioner i en tracker.
Så fungerar den här automationen
Se hur detta löser problemet:
n8n Workflow Template: Retell till Google Sheets: sökbara samtalstexter
flowchart LR
subgraph sg0["Flow 1"]
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/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook"]
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set fields to export", pos: "b", h: 48 }
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/>Save to Airtable"]
n3@{ icon: "mdi:database", form: "rounded", label: "Save to Excel", pos: "b", h: 48 }
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/notion.dark.svg' width='40' height='40' /></div><br/>Save to Notion"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter - only call ended", pos: "b", h: 48 }
n0 --> n5
n1 --> n3
n1 --> n2
n1 --> n4
n5 --> 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 n5 decision
class n2,n3,n4 database
class n0 api
classDef customIcon fill:none,stroke:none
class n0,n2,n4 customIcon
Utmaningen: Retell-samtalsdata som är svår att hitta senare
Retell kan generera transkription, sammanfattning, sentiment, längd och till och med kostnad. Problemet är vad som händer sen. Någon måste hämta den, formatera den, klistra in den i ett kalkylblad och se till att den är märkt tillräckligt bra för att du ska hitta den nästa vecka. Sedan upprepar du det för nästa samtal. Och nästa. Det handlar inte bara om tid. Det är mental belastning, kontextbyten och ett långsamt dropp av misstag (fel samtals-ID, saknat sentiment, inklistrat i fel rad) som gör datan opålitlig för coachning.
Det växer snabbt, särskilt när samtalsvolymen ökar.
- Transkriptioner hamnar utspridda i Retell, Slack-trådar och slumpmässiga dokument, vilket gör QA till ett detektivjobb.
- Manuell loggning blir en daglig syssla, och den görs oftast när folk är trötta och har bråttom.
- Viktig kontext försvinner eftersom ingen konsekvent fångar samtalslängd, kostnad, tidsstämplar och sentiment på ett ställe.
- Om du vill jämföra samtal över tid lägger du mer tid på att leta än på att faktiskt coacha.
Lösningen: logga Retell-transkriptioner och analys automatiskt till ditt kalkylblad
Det här flödet lyssnar på en Retell-webhook-händelse som triggas när ett samtal har avslutats och analyserats. När payloaden för ”call_analyzed” kommer in ignorerar den andra Retell-händelser (som call_started eller call_ended) så att din databas förblir felfri. Därefter mappar den de användbara fälten till ett strukturerat format: samtals-ID, start- och sluttid, längd, total kostnad (konverterad från cent till dollar), transkription, sammanfattning och sentiment. Till sist skriver den en ny post till verktyget du faktiskt använder för sök och rapportering, till exempel Google Sheets (och valfritt Airtable eller Notion). Slutresultatet är enkelt: varje analyserat samtal blir en rad du kan filtrera, sortera och granska när du vill.
Flödet startar med att Retell skickar en POST-förfrågan till din n8n-webhook-URL. Sedan säkerställer ett snabbt valideringssteg att endast händelser av typen ”call_analyzed” går vidare. När fält har standardiserats läggs samma mappade data till i Google Sheets, Airtable och/eller Notion beroende på vad du har aktiverat.
Vad som förändras: före vs. efter
| Det här eliminerar du | Effekten du märker |
|---|---|
|
|
Praktisk effekt i verkligheten
Säg att du hanterar 20 Retell-samtal per dag och vill att varje samtal loggas med transkription, sammanfattning, sentiment, längd och kostnad. Manuellt är det lätt att lägga cirka 5 minuter per samtal på att öppna Retell, kopiera text, rensa upp den och klistra in i rätt kolumner (det är ungefär 100 minuter per dag). Med det här flödet blir det nära noll minuter ”loggningstid” eftersom webhooken triggas automatiskt efter analys och raden läggs till i Google Sheets i bakgrunden. Du granskar fortfarande samtal, men du slutar med dataregistrering.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Retell AI-konto för att skicka call_analyzed-webhooks
- Google Sheets för att lagra transkriptioner i en flik som heter ”Transcripts”
- Retell webhook-konfiguration (kopiera n8n-webhook-URL:en till Retells Agent Level Webhook URL)
Svårighetsgrad: Nybörjare. Du kopplar mest konton och matchar kalkylbladskolumner mot fält.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i korthet
Retell skickar en webhook för analyserat samtal. Efter att ett samtal avslutas och Retell är klar med sin analys postar Retell resultaten till din n8n-webhook-URL. Tajmingen spelar roll eftersom du vill ha transkription och sentiment, inte bara ”samtal avslutat”.
Endast rätt händelser går vidare. Retell kan skicka flera händelsetyper, så flödet filtrerar på call_analyzed och släpper resten. Det är ett litet steg som förhindrar dubblettrader och rörig rapportering senare.
Fälten struktureras och organiseras. Flödet mappar payloaden till ditt önskade schema: samtals-ID, start/sluttid, längd, total kostnad, transkription, sammanfattning, sentiment och riktningsbaserade telefonnummer. Kostnaden konverteras till dollar och datum konverteras till läsbara ISO-strängar så att ditt kalkylblad sorterar korrekt.
Dina verktyg uppdateras automatiskt. En ny rad läggs till i Google Sheets och du kan slå på eller av Airtable och Notion beroende på din stack. Vissa team behåller Sheets för sök och Airtable för rikare vyer, men du kan hålla det enkelt.
Du kan enkelt ändra vilka kolumner som lagras (eller lägga till egna fält för ”post-call analysis”) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera webhook-triggern
Det här arbetsflödet startar när en payload med samtalsanalys skickas in till n8n. Ni konfigurerar webhook-endpointen som tar emot händelsen.
- Lägg till noden Incoming Webhook Trigger och ställ in HTTP Method på
POST. - Ställ in Path till
poc-retell-analysis. - Kopiera Test URL från Incoming Webhook Trigger för att använda när ni skickar en exempel-payload.
Steg 2: anslut Google Sheets
Det här arbetsflödet skriver samtalsdata till Google Sheets. Anslut autentiseringsuppgifter nu så att noden kan lägga till rader.
- Öppna Append Sheet Row och välj mål-Document och Sheet (båda är för närvarande satta till
[YOUR_ID]). - Autentiseringsuppgifter krävs: anslut era googleSheetsOAuth2Api-autentiseringsuppgifter.
- Bekräfta att noden använder Operation
appendoch att Use Append är aktiverat.
='{{ $json['Phone Number'] }}, vilket inkluderar en inledande apostrof. Om ni inte vill ha det här beteendet i Sheets, ta bort apostrofen.Steg 3: konfigurera validering och fältmappning
Filtrera inkommande händelser och mappa samtalsdetaljer till ett rent schema för nedströms lagring.
- I Validate Call Event ställer ni in villkoret så att endast analyserade samtal matchas: Left Value
={{ $json.body.event }}är lika medcall_analyzed. - Öppna Map Export Fields och lägg till tilldelningarna som visas nedan med uttryck från Incoming Webhook Trigger:
- Ställ in Call ID till
={{ $('Incoming Webhook Trigger').item.json.body.call.call_id }}. - Ställ in Start Datetime till
={{ $('Incoming Webhook Trigger').item.json.body.call.start_timestamp.toDateTime('ms').toLocal().toISO() }}och End Datetime till={{ $('Incoming Webhook Trigger').item.json.body.call.end_timestamp.toDateTime('ms').toLocal().toISO() }}. - Ställ in Duration in seconds till
={{ $('Incoming Webhook Trigger').item.json.body.call.call_cost.total_duration_seconds }}. - Ställ in Transcript till
={{ $('Incoming Webhook Trigger').item.json.body.call.transcript }}. - Ställ in Call Summary till
={{ $('Incoming Webhook Trigger').item.json.body.call.call_analysis.call_summary }}och User Sentiment till={{ $('Incoming Webhook Trigger').item.json.body.call.call_analysis.user_sentiment }}. - Ställ in Phone Number till
={{ $if($('Incoming Webhook Trigger').item.json.body.call.direction == 'outbound', $('Incoming Webhook Trigger').item.json.body.call.to_number, $('Incoming Webhook Trigger').item.json.body.call.from_number) }}. - Ställ in Total Cost in Dollars till
={{ $json.body.call.call_cost.combined_cost/100 }}.
Steg 4: konfigurera utdata-noder
Mappad data sparas till tre destinationer. Arbetsflödet förgrenas parallellt efter mappningen.
- Bekräfta att Map Export Fields skickar utdata till både Append Sheet Row och Append Airtable Record och Create Notion Entry parallellt.
- I Append Airtable Record väljer ni Base och Table (för närvarande
[YOUR_ID]) och mappar kolumnerna till JSON-fälten, till exempel={{ $json['Call ID'] }},={{ $json.Transcript }}och={{ $json['Total Cost in Dollars'] }}. - Autentiseringsuppgifter krävs: anslut era airtableTokenApi-autentiseringsuppgifter i Append Airtable Record.
- I Create Notion Entry ställer ni in Resource till
databasePageoch Title till={{ $json['Call Summary'] }}. - Mappa Notion-egenskaper som Call ID, Transcript och User Sentiment med uttryck som
={{ $json['Call ID'] }}och={{ $json.Transcript }}. - Autentiseringsuppgifter krävs: anslut era notionApi-autentiseringsuppgifter i Create Notion Entry.
Steg 5: testa och aktivera ert arbetsflöde
Validera hela flödet end-to-end med en exempel-händelse för samtal innan ni aktiverar arbetsflödet.
- Klicka på Execute Workflow och skicka en test-payload till URL:en för Incoming Webhook Trigger.
- Bekräfta att Validate Call Event endast släpper igenom händelser där
={{ $json.body.event }}är lika medcall_analyzed. - Verifiera att data visas i Google Sheets, Airtable och Notion med korrekt mappade värden.
- Slå på arbetsflödet med reglaget Active för att aktivera användning i produktion.
Se upp för
- Google Sheets-åtkomst kan fallera om det anslutna Google-kontot tappar behörigheter. Om rader slutar läggas till, kontrollera n8n-inloggningsuppgifterna och bekräfta att arket är delat med det kontot.
- Om du testar med Retell och inte ser resultat beror det ofta på att händelsen är call_ended och inte call_analyzed. Det här flödet filtrerar medvetet bort dem, så bekräfta att Retells analys är aktiverad och slutförd.
- Notion-databaser är petiga med egenskapstyper. Om din kolumn ”Sentiment” är en select men du skickar vanlig text som inte matchar ett alternativ, kommer steget som skapar posten att misslyckas tills värdena stämmer överens.
Vanliga frågor
Cirka 30 minuter om din Retell-webhook och ditt kalkylblad är redo.
Ja. Du kopplar Retell och Google Sheets och matchar sedan några fält mot dina kolumner.
Ja. n8n har ett gratis alternativ för self-hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Retells användningskostnader beror på din samtalsvolym och dina analysinställningar.
Två alternativ: n8n Cloud (managed, 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 dig obegränsade körningar men kräver grundläggande serverhantering.
Börja i steget ”Map Export Fields”, eftersom det är där du väljer vad som blir ett kolumnvärde. Du kan lägga till egna kolumner för Retells post-call analysis genom att hämta värden från det anpassade analysobjektet och mappa dem till nya fält. Om du inte använder Airtable eller Notion kan du helt enkelt inaktivera ”Append Airtable Record” eller ”Create Notion Entry” och bara behålla Google Sheets. Och om du vill ha andra benämningar (som ”Agent Name” eller ”Campaign”) är det här platsen att standardisera dem så att rapporteringen förblir felfri.
Oftast är webhook-URL:en i Retell fel, oåtkomlig eller pekar på fel miljö (test vs live). Det kan också vara en mismatch i händelser: om Retell skickar call_ended och du förväntar dig call_analyzed kommer flödet att släppa den enligt design. Slutligen, bekräfta att n8n faktiskt kör och att webhook-triggern är aktiv.
Den skalar till hundratals samtal per dag för de flesta små team, och högre volymer begränsas främst av din n8n-plan (eller din server) plus Google Sheets API-gränser.
Ofta, ja, om du bryr dig om kontroll och felfri data. n8n gör det enkelt att filtrera på call_analyzed-händelser, mappa fält noggrant och skriva till flera destinationer utan att betala extra för förgreningslogik. Self-hosting är också viktigt när din samtalsvolym växer, eftersom du inte sitter och stirrar på task-limiter hela månaden. Zapier eller Make kan fungera för ett snabbt proof of concept, men de blir klumpiga när du behöver strikt fältmappning och utdata till flera verktyg. Prata med en automationsexpert om du vill ha hjälp att välja utifrån din samtalsvolym och dina rapporteringsbehov.
När detta väl kör är dina samtal inte längre som bortblåsta. Du får en sökbar spårbarhet med transkriptioner och analyser som är redo för coachning, QA och bättre beslut.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.