Din “hjärna” för eventplanering är förmodligen en rörig mix av kalkylark, gamla agendor och halvt ihågkomna talarinsatser. Sedan kommer någon med en sista minuten-begäran som: “Hitta ett starkt pass om AI-etik för nybörjare”, och du är tillbaka på att leta rader och gissa.
Den här Sheets Claude AI-automationen träffar eventmarknadsförare först, eftersom det är de som svarar på snabbskjutna frågor om programmet hela dagen. Men konferensproducenter och operativa leads känner av det också. Resultatet är enkelt: du får bra sessionsrekommendationer på några minuter, med “varför” dokumenterat i Google Sheets till nästa gång.
Det här arbetsflödet gör en inkommande röstförfrågan till en rankad uppsättning sessionförslag, returnerar ett röstklart svar och loggar hela beslutskedjan. Du får se hur det fungerar, vad du behöver och var team oftast kör fast.
Så fungerar den här automationen
Hela n8n-arbetsflödet, från trigger till slutligt resultat:
n8n Workflow Template: Google Sheets + Claude AI: smartare sessionsval
flowchart LR
subgraph sg0["Recommendation Agent 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/webhook.dark.svg' width='40' height='40' /></div><br/>Incoming Webhook Start"]
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/code.svg' width='40' height='40' /></div><br/>Interpret Voice Payload"]
n2@{ icon: "mdi:database", form: "rounded", label: "Retrieve Speaker Records", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Retrieve Audience Interests", 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/code.svg' width='40' height='40' /></div><br/>Combine Request Dataset"]
n5@{ icon: "mdi:robot", form: "rounded", label: "Recommendation Agent", pos: "b", h: 48 }
n6@{ icon: "mdi:brain", form: "rounded", label: "Claude Chat Model", 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/code.svg' width='40' height='40' /></div><br/>Prepare Voice Output"]
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/webhook.dark.svg' width='40' height='40' /></div><br/>Return Voice Response"]
n9@{ icon: "mdi:database", form: "rounded", label: "Append Results Sheet", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate Output Errors", pos: "b", h: 48 }
n11["<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/code.svg' width='40' height='40' /></div><br/>Compose Error Reply"]
n12["<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 Error Reply"]
n5 --> n7
n0 --> n1
n10 --> n11
n4 --> n5
n3 --> n4
n2 --> n4
n1 --> n2
n1 --> n3
n1 --> n4
n6 -.-> n5
n11 --> n12
n7 --> n8
n7 --> n9
n7 --> n10
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 ai
class n6 aiModel
class n10 decision
class n2,n3,n9 database
class n0,n8,n12 api
class n1,n4,n7,n11 code
classDef customIcon fill:none,stroke:none
class n0,n1,n4,n7,n8,n11,n12 customIcon
Problemet: sessionsplanering blir till kalkylarksarkeologi
Att välja pass låter kreativt tills du måste göra det under press. En sponsor vill ha ett starkare program. En talare ställer in. Ditt team behöver snabbt en rekommendation som matchar publikens intressen och undviker att upprepa fjolårets “det har vi redan kört”-ämnen. Så du öppnar Google Sheets, skannar talarbetyg, söker i tidigare pass och försöker sedan minnas vad som faktiskt fungerade i rummet. Och eftersom resonemanget bara finns i någons huvud, börjar nästa förfrågan från noll igen. Ärligt talat är det utmattande.
Friktionen byggs på. Här är var det brukar fallera i praktiken.
- Du lägger ungefär 30 minuter per förfrågan på att plocka fram talarhistorik, betyg och tidigare ämnen från olika flikar.
- Två planerare kan rekommendera helt olika pass eftersom “bra match” inte är nedskrivet någonstans.
- Sista minuten-ändringar skapar felbenäget copy-paste-arbete, och en enda felaktig rad kan få dig att jaga fel talare.
- Utan en rekommendationslogg kan du inte förbättra processen, eftersom du inte kan se vad du valde och varför.
Lösningen: röst-till-rekommendation-planering med Sheets + Claude
Det här n8n-arbetsflödet ger dig ett repeterbart sätt att besvara förfrågningar om sessionsplanering snabbt, med den data du redan har i Google Sheets. Det startar när en röstagent (eller vilket externt system som helst) skickar en förfrågan till en webhook. n8n tolkar röstpayloaden till användbara parametrar och hämtar sedan talarposter och publikintressen från dina Sheets. Därefter slår det ihop allt till ett “förfrågningsdataset” och skickar det till en AI-agent som drivs av en Claude-chattmodell, som genererar rekommendationer utifrån matchning, tidigare prestation och preferenser. Till sist formaterar det resultatet till ett röstklart svar och lägger till rekommendationen (plus motivering) i Google Sheets så att du får en strukturerad historik att använda senare.
Arbetsflödet startar via en inkommande webhook, vilket betyder att du kan koppla det till en röstagent eller ett enkelt formulär. Google Sheets är sanningskällan för talare och publiksigaler. Claude sköter matchning och motivering, och n8n returnerar ett tydligt svar samtidigt som allt loggas för senare granskning.
Det här får du: automation vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du får 10 förfrågningar om sessionsplanering under en intensiv vecka. Manuellt kan varje förfrågan ta cirka 30 minuter: tolka behovet (5), kolla talarhistorik (15) och sedan skriva en vettig motivering (10). Det är ungefär 5 timmar. Med det här arbetsflödet skickar du röstförfrågan, väntar kanske en minut medan Sheets + Claude gör matchningen, och du får ett färdigt svar att läsa upp plus en loggad post. Räkna med cirka 10 minuter av din tid under veckan, mest för att granska förslagen.
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)
- Google Sheets för att lagra talare, betyg och publikintressen
- Anthropic Claude för att generera rekommendationer och motivering
- Google OAuth2-uppgifter (skapa i Google Cloud Console)
Kunskapsnivå: Medel. Du kopplar konton, sätter upp OAuth och testar webhooken med exempelrequester.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En röstförfrågan träffar din webhook. Arbetsflödet startar med en inkommande webhook, som kan anropas av en röstagent eller vilket verktyg som helst som kan skicka en request. Payloaden tolkas direkt så att resten av arbetsflödet får korrekta, strukturerade kriterier att jobba med.
Din eventdata hämtas från Google Sheets. n8n hämtar talarposter (betyg, tidigare pass, preferenser) och tar också in publikintressen från ett separat ark eller en flik. Ingen manuell filtrering i kalkylarket.
Datasetet kombineras och skickas till AI-agenten. Ett kodsteg slår ihop förfrågan med talar- och publikkontext, och sedan använder rekommendationsagenten en Claude-chattmodell för att välja de bästa sessionsalternativen och förklara logiken på enkel svenska.
Du får ett röstklart svar och en spårbarhet. Arbetsflödet formaterar slutsvaret för din röstagent, returnerar det direkt och lägger till rekommendationsdetaljerna i ett spårningsark. Om något ser fel ut returnerar en felgren ett säkert felsvar i stället för att misslyckas tyst.
Du kan enkelt justera matchningskriterierna för att prioritera ämnesexpertis eller sessionformat utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera webhook-triggern
Starta arbetsflödet genom att ta emot voice-agent-förfrågningar via en webhook.
- Lägg till och öppna Incoming Webhook Start.
- Ställ in HTTP Method på
POST. - Ställ in Path på
speaker-recommendations. - Kopiera den genererade webhook-URL:en som er voice agent eller klient ska anropa.
Tip: Använd produktions-URL:en efter aktivering så att voice-förfrågningar träffar det aktiva arbetsflödet.
Steg 2: anslut Google Sheets
Hämta talar- och målgruppsdata och lagra rekommendationer i Google Sheets.
- Öppna Retrieve Speaker Records och ställ in Authentication på
serviceAccount. - Credential Required: Anslut era googleApi-uppgifter.
- Ställ in Document på
[YOUR_ID]och Sheet påSpeakers(gid0). - Öppna Retrieve Audience Interests, behåll Authentication på
serviceAccountoch välj samma googleApi-uppgifter. - Ställ in Document på
[YOUR_ID]och Sheet påAudience Interests(gid1). - Öppna Append Results Sheet, ställ in Operation på
appendoch behåll Authentication påserviceAccount. - Credential Required: Anslut era googleApi-uppgifter.
- Ställ in Document på
[YOUR_ID]och Sheet påRecommendations(gid2).
⚠️ Vanlig fallgrop: Ersätt [YOUR_ID] med det faktiska dokument-ID:t för Google Sheets i alla tre Google Sheets-noder.
Steg 3: konfigurera tolkning av förfrågan och kombination av data
Normalisera inkommande payload och slå ihop den med data från arken för AI-bearbetning.
- Öppna Interpret Voice Payload och behåll standard-JavaScriptet som extraherar och sätter standardvärden för fält som
eventType,audienceSizeochpreferredTopics. - Bekräfta den parallella routningen: Interpret Voice Payload skickar utdata till Retrieve Speaker Records, Retrieve Audience Interests och Combine Request Dataset parallellt.
- Öppna Combine Request Dataset och behåll JavaScriptet som slår ihop
request,speakersochaudienceIntereststill ett enda JSON-objekt.
Steg 4: konfigurera AI-motorn för rekommendationer
Använd Anthropics modell för att generera talarrekommendationer från det kombinerade datasetet.
- Öppna Recommendation Agent och behåll den som AI-orkestreringsnoden som tar emot det sammanslagna datasetet.
- Öppna Claude Chat Model och välj modellen
claude-sonnet-4-20250514. - Credential Required: Anslut era anthropicApi-uppgifter.
- Säkerställ att Claude Chat Model är ansluten som språkmodell för Recommendation Agent (AI-verktygets uppgifter ska ligga på Claude Chat Model, inte på agenten).
Steg 5: konfigurera utdata och parallella svar
Formatera AI-svaret för röstutmatning, returnera det till anroparen och lagra resultat.
- Öppna Prepare Voice Output och behåll JavaScriptet som tolkar AI-JSON och genererar en
voiceResponse. - Bekräfta den parallella routningen: Prepare Voice Output skickar utdata till Return Voice Response, Append Results Sheet och Validate Output Errors parallellt.
- Öppna Return Voice Response och ställ in Respond With på
json. - Ställ in Response Body på
{{ JSON.stringify($json, null, 2) }}. - Verifiera att Append Results Sheet är ansluten för att skriva den formaterade utdata till Google Sheets.
Steg 6: lägg till felhantering
Identifiera tomma eller felaktigt formaterade rekommendationer och returnera ett kontrollerat felsvar.
- Öppna Validate Output Errors och bekräfta att villkoren kontrollerar
{{ $json.error }}och{{ $json.recommendations?.length || 0 }}med Combine Operation inställd påany. - Öppna Compose Error Reply och behåll JavaScriptet som skapar ett strukturerat felsvar och
voiceResponse. - Öppna Return Error Reply och ställ in Respond With på
json. - Ställ in Response Body på
{{ JSON.stringify($json, null, 2) }}och behåll Response Code på500.
Tip: Om ni vill logga fel i stället för att returnera dem, lägg till en loggnod mellan Compose Error Reply och Return Error Reply.
Steg 7: testa och aktivera ert arbetsflöde
Verifiera flödet från början till slut och aktivera sedan arbetsflödet för användning i produktion.
- Klicka på Execute Workflow och skicka en POST-förfrågan till Incoming Webhook Start med en exempel-payload.
- Bekräfta ett lyckat svar från Return Voice Response som innehåller
recommendationsoch envoiceResponse-sträng. - Kontrollera Append Results Sheet för att verifiera att en ny rad har lagts till i arket
Recommendations. - Trigga ett felscenario (t.ex. tomma rekommendationer) och bekräfta att Return Error Reply svarar med
status: "error". - Slå på arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- Google Sheets OAuth-behörigheter kan vara kinkiga, särskilt om arket ligger i en delad Drive. Om det skapar fel, kontrollera Google Sheets-uppgifterna i n8n och bekräfta att kontot fortfarande har åtkomst till filen.
- Om din röstagent skickar en payload med lite annan struktur kan kodsteget “Interpret Voice Payload” tolka tomma fält. När rekommendationerna blir generiska, börja med att granska webhookens senaste exekveringsdata.
- Standardprompter för AI är ofta för otydliga för eventplanering. Lägg in era eventregler tidigt (inga återkommande talare, publikkunskapsnivå, tidsluckor), annars kommer du redigera varje rekommendation för hand.
Vanliga frågor
Cirka en timme om dina Sheets redan är organiserade.
Nej. Du kopplar mest konton och klistrar in uppgifter. Den enda “koden” finns redan i arbetsflödet och behöver oftast inte ändras.
Ja. n8n har ett gratis alternativ för egen hosting 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 Claude API-användning, som beror på hur långa dina prompter och din Sheets-data är.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärt och klarar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det bör du. De flesta team justerar stegen Combine Request Dataset och Recommendation Agent för att lägga till regler som “inga återkommande talare”, “bara nybörjarspår” eller “panel föredras framför soloföreläsning”. Du kan också justera prompten i Claude Chat Model för att prioritera sessionlängd, rumsstorlek eller sponsorkrav. Och om din röstagent behöver en annan svarsstruktur uppdaterar du steget Prepare Voice Output så att texten som returneras matchar ditt manus.
Oftast beror det på att Google OAuth2-åtkomsten har löpt ut eller att behörigheterna till arket har ändrats. Anslut Google Sheets-uppgifterna igen i n8n och bekräfta sedan att samma Google-konto kan öppna exakt det kalkylarket. Om arket flyttades till en delad enhet kan du behöva auktorisera på nytt så att token får rätt åtkomst.
Många, så länge dina Google Sheets- och Claude-gränser tillåter det. På n8n Cloud Starter begränsas du av körningar per månad, medan egen hosting tar bort körningsbegränsningen och flyttar gränsen till din serverstorlek. I praktiken kör de flesta team dussintals förfrågningar om dagen utan att tänka på det, och skalar sedan upp när de börjar logga varje planeringsbeslut.
För det här användningsfallet brukar n8n passa bättre eftersom logiken är mer än “om X så Y”. Du parsar en payload, hämtar flera dataset, kombinerar dem, genererar ett strukturerat svar och skriver tillbaka loggar till Sheets. n8n hanterar grenar och felvägar snyggt, och egen hosting kan hålla kostnaderna mer förutsägbara när volymen växer. Zapier eller Make kan fungera, men AI-arbetsflöden med många steg blir ofta dyra snabbt, och felsökning är svårare när du behöver se exakt vilka indata som låg bakom rekommendationen. Om du är osäker, prata med en automationsexpert så kvalitetssäkrar vi din setup.
När det här väl rullar slutar dina “bästa sessionsval” att ligga i någons minne och börjar i stället leva i ditt arbetsflöde. Du får snabbare svar, tydligare motivering och en planeringslogg som du faktiskt kan lära dig av.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.