Din röstagent svarar… och frågar sedan direkt efter samma grunder varje gång. Namn, konto, ordernummer, abonnemang. Det går långsamt, det låter robotiskt och det får uppringare att upprepa sig.
Supportansvariga märker det först eftersom de hör frustrationen live. Byråbyggare som levererar Retell-agenter till kunder stöter också på det. Till och med en ensam grundare kan inte skala samtal om varje konversation börjar med ett litet förhör. Den här automatiseringen för Retell Sheets-personalisering löser det.
Du får se hur det här arbetsflödet hämtar uppringarens uppgifter från Google Sheets baserat på telefonnummer och sedan matar in dessa värden i Retell som dynamiska variabler så att din agent kan hälsa på folk som om den redan känner dem.
Så här fungerar automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Retell + Google Sheets: personanpassa varje samtal
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/>Incoming Webhook Trigger"]
n1@{ icon: "mdi:database", form: "rounded", label: "Retrieve User By Phone", 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/webhook.dark.svg' width='40' height='40' /></div><br/>Return Webhook Response"]
n0 --> n1
n1 --> n2
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 n1 database
class n0,n2 api
classDef customIcon fill:none,stroke:none
class n0,n2 customIcon
Problemet: din agent kan inte ”känna igen” uppringare
Retell-agenter kan låta grymma i en demo, men faller i verkligheten eftersom de saknar kontext. Om agenten inte vet vem som ringer bränner den första minuten på att samla in detaljer som din verksamhet redan har någonstans (ett CRM, ett kalkylark, en databas). Den minuten är dyr. Den sänker nöjdheten, ökar avhopp och leder till stel upprepning när uppringare måste bokstavera saker. Ärligt talat får det också agenten att kännas mindre ”AI” och mer ”telefonträd med bättre formuleringar”.
Det blir snabbt mycket. Här är var det brukar skapa fel på hårt belastade linjer.
- Uppringare slösar ungefär en minut på att upprepa grunder som teamet redan har sparat.
- Agenter ställer fel följdfrågor eftersom de inte känner till abonnemang, status eller senaste order.
- Problem med telefonnummerformat (+, mellanslag, anknytningar) leder till ”ingen träff”, vilket är svårt att upptäcka innan supportärenden börjar öka.
- Teamet gör ändå manuella uppslag mitt i samtalet, så den utlovade automatiseringen blir aldrig riktigt verklighet.
Lösningen: personalisera Retell-uppringare från Google Sheets
Det här arbetsflödet gör ett enkelt Google Sheet till en källa för ”uppringarkontext” för Retell. När ett samtal kommer in till ditt Retell-nummer skickar Retell en inkommande webhook till n8n. n8n kontrollerar den inkommande förfrågan, extraherar uppringarens telefonnummer och söker i ditt Google Sheet efter en matchande rad. Om den hittar en paketerar den radens fält i det svarsformat som Retell förväntar sig och returnerar dem direkt. Retell använder värdena för att fylla dynamiska variabler som {{first_name}} eller {{plan}} i din agentprompt, vilket innebär att samtalet startar med kontext i stället för frågor.
Arbetsflödet startar när Retell triggar den inkommande webhooken. Därefter hämtar n8n en användarpost från Google Sheets baserat på uppringarens telefonnummer. Till sist svarar n8n Retell med en felfri uppsättning variabler så att din agent kan personalisera konversationen i realtid.
Det här får du: automatisering vs. resultat
| Det här automatiserar arbetsflödet | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att din agent hanterar cirka 30 inkommande samtal per dag. Utan personalisering lägger den ungefär 1 minut på att bekräfta namn, abonnemang och senaste order, plus ytterligare en minut när uppringaren rättar något. Det är ungefär en timmes ”uppstartstid” dagligen. Med det här arbetsflödet triggar samtalet webhooken på sekunder, uppslaget i Sheets kör i bakgrunden och Retell hälsar uppringaren med rätt uppgifter direkt. De flesta team får tillbaka ungefär en timme per dag bara genom att ta bort den upprepade intagningen.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Retell AI för att skicka webhookar för inkommande samtal
- Google Sheets för uppslag av uppringardata via telefon
- Google-inloggning (skapa i n8n:s Google OAuth-setup)
Kunskapsnivå: Nybörjare. Du klistrar in en webhook-URL i Retell och mappar en Sheets-kolumn till telefonnummer.
Vill du inte sätta upp detta själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så här fungerar det
Webhook för inkommande samtal träffar n8n. Retell skickar en ”Inbound Webhook Call”-förfrågan till din n8n Webhook-URL när någon ringer ditt Retell-nummer.
Uppringarens telefonnummer extraheras och normaliseras. Arbetsflödet hämtar telefonvärdet från webhook-payloaden så att det kan användas som uppslagsnyckel (det är här konsekvent formatering är avgörande).
Uppslag i Google Sheets hittar matchande rad. n8n söker i ditt ark efter en rad där telefonnummerkolumnen matchar uppringaren. Resterande kolumner blir dina dynamiska variabler och returneras som strängar.
Retell tar emot variabler och personaliserar prompten. n8n svarar direkt med ”Respond to Webhook”, och Retell byter in värden i din agentprompt med {{variable_name}}.
Du kan enkelt byta Google Sheets mot Airtable eller Postgres beroende på behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera webhook-triggern
Konfigurera den inkommande webhooken som tar emot POST-begäran och lämnar över kontrollen till uppslagssteget.
- Lägg till en Incoming Webhook Trigger-nod som er trigger.
- Ställ in Path till
retell-dynamic-variables. - Ställ in HTTP Method till
POST. - Ställ in Response Mode till
responseNodeså att svaret kommer från Return Webhook Response. - Under Options, ställ in IP Whitelist till
0.0.0.0om ni vill tillåta alla källor.
0.0.0.0 med specifika IP-adresser som får anropa webhooken.Steg 2: Anslut Google Sheets
Använd Google Sheets för att hitta en användarpost baserat på det inkommande telefonnumret.
- Lägg till noden Retrieve User By Phone och anslut den efter Incoming Webhook Trigger.
- Autentiseringsuppgifter krävs: Anslut era googleSheetsOAuth2Api-autentiseringsuppgifter.
- Ställ in Document till ert kalkylblads-ID (ersätt
[YOUR_ID]). - Ställ in Sheet Name till
Users. - I Filters, ställ in Lookup Column till
Phone Numberoch Lookup Value till{{ $json.body.call_inbound.from_number }}.
Phone Number i ert ark; minsta avvikelse gör att inga rader returneras.Steg 3: Konfigurera svars-payloaden
Returnera ett JSON-svar med dynamiska variabler som mappas från resultatet i Google Sheets.
- Lägg till noden Return Webhook Response och anslut den efter Retrieve User By Phone.
- Ställ in Respond With till
json. - Ställ in Response Body till:
{ "call_inbound": { "dynamic_variables": { "first_name": "{{ $json['First Name'] }}", "last_name": "{{ $json['Last name'] }}", "email": "{{ $json['E-Mail'] }}", "variable_1": "{{ $json['User Variable 1'] }}", "variable_2": "{{ $json['User Variable 2']}}" }, "metadata": { } } }
First Name, Last name, E-Mail, User Variable 1 och User Variable 2 så att svarsfälten löses korrekt.Steg 4: Testa och aktivera ert workflow
Validera flödet från start till mål och aktivera det för användning i produktion.
- Använd Incoming Webhook Trigger-test-URL:en och skicka en POST-payload som innehåller
body.call_inbound.from_number. - Bekräfta att Retrieve User By Phone returnerar förväntad rad från Google Sheets.
- Verifiera att Return Webhook Response svarar med förväntad JSON och ifyllda dynamiska variabler.
- Klicka på Activate för att aktivera workflowet för inkommande webhook-förfrågningar.
Vanliga fallgropar
- Google Sheets-inloggning kan gå ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera inloggningen i n8n:s Credentials-panel och autentisera om först.
- Telefonnummerformat är oftast den verkliga boven. I Google Sheets: se till att nummer börjar med ”+”, att eventuell anknytning hanteras konsekvent och att de inte innehåller mellanslag.
- Retells webhook-förfrågningar bör filtreras på deras IP-adresser i allowlist. Om du hoppar över den kontrollen riskerar du att slumpmässig trafik träffar din endpoint och skapar skräpuppslag.
Vanliga frågor
Cirka 30 minuter om ditt ark är redo.
Nej. Du kopplar ihop Retell och Google Sheets och mappar sedan telefonuppslaget.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver också räkna med kostnader för Retell och Google Workspace (om tillämpligt), men själva arbetsflödet kräver inga betalda AI-tokens.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, men behåll uppslagslogiken oförändrad. Byt ut Google Sheets-steget ”Retrieve User By Phone” mot Airtable eller Postgres och säkerställ att frågan fortfarande använder det inkommande telefonnumret som nyckel. Vanliga anpassningar är att bara returnera några få fält (som first_name och plan), lägga till ett fallback-värde vid ”ingen träff”, eller skriva tillbaka samtalsdetaljerna till din databas för spårning.
Oftast är webhook-URL:en i Retell fel, avstängd eller pekar på ett testarbetsflöde. Kontrollera också IP-allowlist-filtret och bekräfta att din n8n-webhook är satt till POST. Om samtal fungerar ibland kan du skicka telefonnummer i ett annat format än det som finns i ditt Google Sheet.
Ett typiskt litet team kan hantera hundratals samtal per dag med detta, förutsatt att din n8n-instans mår bra och att ditt Google Sheet inte är en röra.
Ofta, ja, eftersom inkommande webhookar och realtidssvar är där n8n verkligen glänser. Du styr request/response på ett ställe, vilket är viktigt när Retell väntar på variabler innan samtalet fortsätter. n8n är också lättare att bygga ut senare (Airtable, Postgres, Telegram-notiser, extra filter) utan att göra det till ett dussin betalda ”tasks”. Zapier eller Make kan fungera för lättare automationsflöden, men just detta tjänar på att du äger hela webhook-flödet. Vill du ha en second opinion? Prata med en automationsspecialist.
När din agent känner igen uppringare förändras hela upplevelsen. Sätt upp det en gång, håll arket uppdaterat och låt arbetsflödet sköta de repetitiva delarna.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.