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

WhatsApp + Google Kalender: admin direkt i chatten

Rickard Andersson Partner, Nodenordic.se

Din kalenderadministration fallerar inte för att du är oorganiserad. Den fallerar för att förfrågningar kommer in på den stökigaste platsen som finns: chatten. Ett “kan du flytta samtalet?” försvinner under fem andra meddelanden, och plötsligt är du dubbelbokad.

Den här WhatsApp-kalenderautomationen träffar grundare först, om vi ska vara ärliga. Men byråledare som jonglerar kundsamtal och ops managers som koordinerar interna möten känner av den också. Resultatet är enkelt: du meddelar din assistent en gång, och din kalender uppdateras utan fram och tillbaka.

Nedan ser du hur arbetsflödet beter sig i praktiken, vad du behöver för att köra det och hur det förvandlar chatt till strukturerade Google Calendar-åtgärder (med minne så att den inte “glömmer” vad du menade).

Varför det här spelar roll: kalenderförfrågningar försvinner i chatten

Kalenderadministration är bedrägligt dyrt eftersom det inte är en stor uppgift. Det är dussintals små avbrott. Du är halvvägs in i en offert, någon pingar “boka en avstämning nästa vecka”, du byter kontext, öppnar Google Calendar, ställer följdfrågor och glömmer sedan att skicka bekräftelsen. Senare ändrar någon tiden och nu letar du efter originaldetaljerna. Även när du gör allt “rätt” saknar chatten struktur, så misstag smyger sig in: fel tidszon, saknad mötestitel, ingen plats, eller så skickas aldrig inbjudan.

Det bygger upp snabbt. Här är var det oftast fallerar.

  • Du läser en bokningsförfrågan i WhatsApp och tänker göra det senare, vilket är exakt så den försvinner.
  • Följdfrågor (“Vilken dag?” “Vad är agendan?”) skapar en minitråd som är svår att återskapa när du väl öppnar kalendern.
  • Ombokningar skapar dubbelarbete eftersom du manuellt måste hitta rätt händelse att ändra eller ta bort.
  • När någon skickar en skärmdump eller ett foto skriver du om detaljerna för hand och missar oundvikligen något.

Så fungerar den här automationen

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

n8n Workflow Template: WhatsApp + Google Kalender: admin direkt i chatten

Vad du bygger: en WhatsApp-assistent som uppdaterar Google Calendar

Det här arbetsflödet gör en WhatsApp-chatt till en entré för admin. När ett meddelande kommer in upptäcker automationen vad du skickade (text eller bild), bekräftar med en skriver-indikator och matar sedan in en strukturerad, enhetlig “förfrågan” till en AI-agent. Agenten läser meddelandet som en mänsklig assistent skulle göra, kontrollerar korttidsminnet för aktuell kontext och hämtar långsiktiga preferenser eller tidigare detaljer från ett MongoDB-vektorlager vid behov. Därefter väljer den rätt verktyg: skapa en händelse, hämta kommande händelser, ändra ett befintligt möte eller ta bort ett avbokat. Om du skickar en bild (till exempel en skärmdump med tider eller ett foto av en whiteboard) laddar den först ner och analyserar den, och använder sedan den extraherade informationen för att schemalägga korrekt.

Arbetsflödet startar med inkommande WhatsApp-meddelanden. Det standardiserar sedan inputen (inklusive bildanalys när det är relevant) och skickar förfrågan till en “hjärna”-agent som avgör vad som ska göras i Google Calendar. Till sist skickar det en tydlig bekräftelse tillbaka till WhatsApp och loggar konversationen för minne så att assistenten blir bättre över tid.

Det här bygger du

Förväntade resultat

Säg att du hanterar 6 schemaläggningsändringar per dag (nya bokningar, ombokningar, avbokningar). Manuell hantering innebär oftast att du öppnar Google Calendar, hittar rätt tidslucka, redigerar detaljer och sedan bekräftar tillbaka i WhatsApp, kanske 8 minuter per förfrågan. Det är runt 50 minuter dagligen. Med det här arbetsflödet skickar du ett WhatsApp-meddelande och agenten hanterar kalenderåtgärden; du gör i princip bara en snabb koll på bekräftelsen, vilket är närmare en eller två minuter per förfrågan. Du får tillbaka ungefär 40 minuter de flesta dagar, och “oj, jag glömde”-ögonblicken minskar kraftigt.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Självhostningsalternativ om du föredrar det (Hostinger fungerar bra)
  • Åtkomst till WhatsApp Business Platform för att ta emot och skicka meddelanden.
  • Google Calendar för att skapa och redigera händelser.
  • MongoDB Atlas för att lagra långtidsminne (vektorlager).
  • Åtkomst till AI-modell/API (OpenRouter, Groq eller Vercel AI Gateway) för agentens resonemang.

Kunskapsnivå: Medel. Du kommer att koppla in autentiseringar, sätta upp webhooks och testa några riktiga WhatsApp-meddelanden hela vägen end-to-end.

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

Steg för steg

Ett WhatsApp-meddelande sätter igång allt. Arbetsflödet triggar på inkommande meddelanden och routar dem direkt efter typ (ren text vs. bild) så att det kan hantera varje typ korrekt.

Bilder tolkas innan agenten “tänker”. Om du skickade en skärmdump laddar arbetsflödet ner mediet, kör bildanalys via en multimodal modell och slår sedan ihop de extraherade detaljerna till samma format som en vanlig textförfrågan.

AI-agenten avgör vilken åtgärd som ska utföras. Orkestratorn använder korttidsminne för den aktuella konversationen och hämtar långtidskontext från MongoDB när det är användbart, och väljer sedan rätt verktyg (Google Calendar skapa/ändra/ta bort/hämta). Den kan även routa research eller andra verktyg, men kalenderflödet är där de flesta team känner tidsvinsten först.

Du får en bekräftelse tillbaka i WhatsApp. Efter att kalenderåtgärden körts svarar arbetsflödet med vad det gjorde (eller ställer en förtydligande fråga) och loggar konversationen så att assistenten kan minnas nästa gång.

Du kan enkelt justera kalenderbeteendet efter dina namngivningskonventioner, tidszonsregler eller policies som “fråga alltid innan schemaläggning”. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera WhatsApp-triggern

Sätt upp triggern för inkommande meddelanden så att ert arbetsflöde startar på WhatsApp-meddelanden och routar till rätt innehållsväg.

  1. Lägg till och konfigurera WhatsApp Incoming Trigger med uppdateringstypen messages.
  2. Credential Required: Anslut era whatsAppTriggerApi-inloggningsuppgifter i WhatsApp Incoming Trigger.
  3. Bekräfta att WhatsApp Incoming Trigger är ansluten till Route by Content som visas i flödet.

Steg 2: routa text- kontra bildmeddelanden

Separera bildmeddelanden från textchatt och starta rätt nedströmsflöde.

  1. I Route by Content, behåll bildvillkoret med ={{ $json.messages[0].image }} och chattvillkoret med ={{ $json.messages[0].text?.body || '' }}.
  2. Säkerställ att bildgrenen går till Fetch Media Content och chattgrenen går till Send Typing Indicator.
  3. Credential Required: Anslut era whatsAppApi-inloggningsuppgifter i Fetch Media Content.
  4. Credential Required: Anslut era whatsAppApi-inloggningsuppgifter i Send Typing Indicator.
  5. I Send Typing Indicator, behåll URL inställd på =https://graph.facebook.com/v22.0/{{ $json.metadata.phone_number_id }}/messages och JSON Body som matchar payloaden för skrivindikatorn.

Tips: Om triggern inte tar emot händelser, validera om WhatsApp-webhook-prenumerationen i Meta och kör ett manuellt test från WhatsApp-testnumret.

Steg 3: bygg ihop indata och kör den primära AI-orkestreraren

Normalisera det inkommande meddelandet och kör AI-agenten med minne, verktyg och modeller.

  1. I Assemble Input Payload, behåll JavaScript-logiken som väljer utdata från bildanalys eller text, och kastar ett fel om ingen indata finns.
  2. Bekräfta att Assemble Input Payload skickar vidare till Primary AI Orchestrator.
  3. I Primary AI Orchestrator, behåll Text-prompten med uttrycken {{ $now }} och {{ $json.input }}.
  4. Koppla på minne genom att låta Session Memory Buffer vara ansluten som ai_memory till Primary AI Orchestrator.
  5. Säkerställ att AI-modellerna som är länkade till Primary AI Orchestrator inkluderar OpenAI Gateway Model och Groq Gateway Model. Credential Required: Anslut era vercelAiGatewayApi-inloggningsuppgifter i OpenAI Gateway Model och era groqApi-inloggningsuppgifter i Groq Gateway Model.
  6. Se till att verktygsnoderna är kopplade som ai_tool: Weather Forecast Tool, Gmail Utility Agent, Calendar Assistant Agent, Research Assistant Agent, MongoDB Vector Tool A och Image Generation Hook.

⚠️ Vanlig fallgrop: AI-verktygens undernoder (som Weather Forecast Tool eller Retrieve Email List) använder inloggningsuppgifter på den överordnade verktygs- eller modellnoden. Lägg till inloggningsuppgifter på de överordnade noderna (t.ex. Primary AI Orchestrator eller den anslutna språkmodellen), inte på undernodens anslutning.

Steg 4: konfigurera flödet för mediaanalys (bilder)

När en bild kommer in, hämta den, analysera den och mata in resultatet i AI-prompten.

  1. I Fetch Media Content, behåll Resource inställd på media, Operation inställd på mediaUrlGet och Media Get ID inställd på ={{ $json.messages[0].image.id }}.
  2. I Media Fetch Request, ställ in URL till ={{ $json.url }} och Authentication till predefinedCredentialType med Node Credential Type whatsAppApi.
  3. Credential Required: Anslut era whatsAppApi- och httpBearerAuth-inloggningsuppgifter i Media Fetch Request.
  4. I Inspect Image, behåll Resource inställd på image, Input Type binary och Operation analyze. Credential Required: Anslut era googlePalmApi-inloggningsuppgifter.
  5. Säkerställ att Inspect Image skickar vidare till Assemble Input Payload.

Steg 5: koppla verktyg för kalender, uppgifter och Gmail

Gör det möjligt för AI-assistenten att skapa, hämta och hantera kalenderhändelser, uppgifter och e-postsammanfattningar.

  1. Behåll Calendar Assistant Agent ansluten som ett verktyg till Primary AI Orchestrator, med dess prompt som använder {{ $now }}.
  2. Anslut Google Calendar-inloggningsuppgifter i kalenderverktygsnoderna (5 totalt): Retrieve Calendar Events, Create Calendar Entry, Modify Calendar Entry, Remove Calendar Entry och Fetch Calendar Entry. Credential Required: Anslut era googleCalendarOAuth2Api-inloggningsuppgifter i varje nod.
  3. Ställ in fälten i Create Calendar Entry till ={{ $fromAI('Start', ``, 'string') }} och ={{ $fromAI('End', ``, 'string') }}, med sammanfattning ={{ $fromAI('Summary', ``, 'string') }}.
  4. För uppgifter, behåll Task Manager Agent ansluten och säkerställ att Add Task Item, Remove Task Item och Retrieve Task Items har task inställd på [YOUR_ID]. Credential Required: Anslut era googleTasksOAuth2Api-inloggningsuppgifter på dessa tre noder.
  5. För Gmail, behåll Gmail Utility Agent ansluten till Primary AI Orchestrator, och säkerställ att Retrieve Email List och Fetch Email Message använder gmailOAuth2-inloggningsuppgifter.

Tips: Ersätt platshållare som [YOUR_EMAIL] och [YOUR_ID] i kalender- och uppgiftsnoderna innan ni testar.

Steg 6: konfigurera verktyg för research och webbsök

Låt assistenten besvara aktuella frågor med sökningar via Wikipedia, Brave och Tavily.

  1. Behåll Research Assistant Agent ansluten som ett ai_tool till Primary AI Orchestrator.
  2. Credential Required: Anslut era braveSearchApi-inloggningsuppgifter i Brave Web Search och Brave News Search.
  3. I Perplexcia Query Tool, behåll URL inställd på http://selfhosted perplexicia link/api/search och headern Content-Type inställd på application/json.
  4. I Tavily Search Tool, uppdatera headern Authorization genom att ersätta Bearer [CONFIGURE_YOUR_API_KEY] med er riktiga Tavily API-nyckel.
  5. Behåll Wikipedia Lookup ansluten till Research Assistant Agent för snabb faktakoll.

⚠️ Vanlig fallgrop: Tavily Search Tool har inget fält för inloggningsuppgifter—se till att API-nyckeln är satt direkt i header-värdet.

Steg 7: konfigurera pipeline för bildgenerering

Generera bilder baserat på användarens promptar och returnera dem via WhatsApp.

  1. Verifiera webhook-ingången Image Webhook med Path inställd på 92db4287-145c-4ae7-9931-ab57b4ecbe67 och ansluten till Image Prompt Agent.
  2. Säkerställ att Image Prompt Agent använder {{ $json.body['user message:'] }} och är ansluten till Clean Prompt Text. Språkmodellen Vercel Nano Model måste vara ansluten som ai_languageModel. Credential Required: Anslut era vercelAiGatewayApi-inloggningsuppgifter i Vercel Nano Model.
  3. I Clean Prompt Text, behåll JavaScript-koden som tar bort citationstecken och normaliserar blanksteg, och som output:ar cleanedPrompt.
  4. I Image API Request, behåll URL https://api.together.xyz/v1/images/generations och JSON Body med {{ $json.cleanedPrompt }}, "model": "black-forest-labs/FLUX.1-schnell", och bredd/höjd inställda till 1024 gånger 768. Credential Required: Anslut era httpHeaderAuth-inloggningsuppgifter.
  5. I Map Image Fields, behåll base64 inställd på ={{ $json.data[0].b64_json }}, och skicka sedan vidare till Convert Image File med Operation toBinary och Source Property base64.
  6. Skicka den binära bilden via Send Image Reply. Credential Required: Anslut era whatsAppApi-inloggningsuppgifter.

Steg 8: konfigurera minnesinfångning och vektorlagring

Extrahera, validera och lagra samtalsminne för framtida kontext.

  1. Behåll Memory Webhook med Path a0299e2f-a81b-48e0-a912-d9749ecf1820 ansluten till Extract Memory Details.
  2. I Extract Memory Details, behåll prompten och säkerställ att språkmodellen Gemini Chat Model är ansluten. Credential Required: Anslut era googlePalmApi-inloggningsuppgifter i Gemini Chat Model.
  3. I Validate Memory Worth, behåll villkoret ={{ $json.text.toLowerCase() }} som inte är lika med nothing.
  4. I Map Memory Fields, ställ in timestamp till ={{ $now }}, userID till [YOUR_ID], info till ={{ $json.text }}, och mappa webhook-fälten för user_message och assistant_response.
  5. Skicka validerat minne till MongoDB Vector Insert med metadata_field inställd på =info. Credential Required: Anslut era mongoDb-inloggningsuppgifter.

Steg 9: konfigurera svar och loggning

Skicka WhatsApp-svar och logga konversationen till er databas-endpoint.

  1. Säkerställ att Primary AI Orchestrator ansluter till Send WhatsApp Reply och sedan till Log Chat to Database.
  2. Credential Required: Anslut era whatsAppApi-inloggningsuppgifter i Send WhatsApp Reply.
  3. I Log Chat to Database, behåll URL inställd på https://n8n.iniyavan.space/webhook/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx och body-parametrarna som använder ={{ $('WhatsApp Incoming Trigger').item.json.messages[0].text.body }} och ={{ $('Primary AI Orchestrator').item.json.output }}.

Steg 10: testa och aktivera ert arbetsflöde

Kör end-to-end-tester för text- och bildmeddelanden och aktivera sedan arbetsflödet för produktion.

  1. Klicka på Execute Workflow och skicka ett textmeddelande till WhatsApp-numret för att bekräfta att Send Typing IndicatorAssemble Input PayloadPrimary AI OrchestratorSend WhatsApp Reply körs utan problem.
  2. Skicka ett bildmeddelande för att bekräfta att Fetch Media ContentMedia Fetch RequestInspect ImageAssemble Input Payload fungerar korrekt.
  3. Verifiera att Log Chat to Database tar emot payloaden för användarmeddelande och assistentsvar.
  4. Om bildgenerering testas via Image Webhook, bekräfta att Send Image Reply returnerar bilden och att Summarize Conversation skriver till MongoDB Vector Insert.
  5. När testerna går igenom, växla arbetsflödet till Active för att aktivera produktionsautomation.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Google Calendar OAuth-autentiseringar kan gå ut eller sakna rätt scopes. Om det skapar fel, kontrollera först din OAuth consent screen i Google Cloud och den anslutna autentiseringen i n8n.
  • Om du använder webhooks och en externt nåbar n8n kan små nätverksförändringar bryta callbacks. Bekräfta att dina webhook-URL:er fortfarande är publika och att din reverse proxy eller brandvägg inte har börjat blockera förfrågningar.
  • Behörigheter i WhatsApp Business Platform är lätta att konfigurera fel. Om triggern tar emot meddelanden men svaren misslyckas, kontrollera dina Meta-appinställningar, godkänt telefonnummer och token-giltighet igen.

Snabba svar

Hur lång tid tar det att sätta upp den här WhatsApp-kalenderautomationen?

Cirka 60–90 minuter när dina WhatsApp- och Google-uppgifter är klara.

Krävs det kodning för den här automationen som uppdaterar kalendern?

Nej. Du kopplar mest konton och klistrar in några API-nycklar. Det är en del konfigurationsarbete (webhooks, autentiseringar, testning), men du bygger ingen app.

Är n8n gratis att använda för det här arbetsflödet för WhatsApp-kalenderautomation?

Ja. n8n har ett gratis självhostat alternativ 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 kostnader för AI-modell/API (ofta några dollar i månaden vid lätt användning) och MongoDB Atlas om du går bortom gratisnivån.

Var kan jag hosta n8n för att köra den här WhatsApp-kalenderautomationen?

Två alternativ: n8n Cloud (hanterat, enklast setup) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för WhatsApp-kalenderautomation för andra use case?

Ja, och det bör du. Du kan byta Google Calendar-verktygen till “endast läsning” genom att ta bort verktygen för att skapa/ändra/ta bort kalenderpost, eller tvinga fram godkännanden genom att låta agenten föreslå en åtgärd och bara exekvera den efter att du svarar “bekräfta”. Vanliga anpassningar är att lägga till standardlängd på möten, tvinga arbetstider och spara kundpreferenser (som “lägg alltid till Zoom”) i MongoDB-minnesspåret.

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

Oftast beror det på en utgången eller ogiltig Meta-token, eller att WhatsApp Business-appen inte har rätt behörigheter för telefonnumret du använder. Dubbelkolla dina Meta developer-inställningar och bekräfta sedan att samma autentisering är vald på både triggern och noderna som skickar meddelanden. Om inkommande meddelanden kommer fram men utgående svar misslyckas är det nästan alltid auth eller telefonnummerkonfiguration.

Vilken volym kan det här arbetsflödet för WhatsApp-kalenderautomation hantera?

På en typisk n8n Cloud-plan kan du hantera tusentals körningar per månad; vid självhosting finns ingen fast körningsgräns, det beror mest på din server och hur tunga dina AI-anrop är. I praktiken kan de flesta små team köra detta hela dagen utan problem så länge ni undviker enorma batchjobb genom samma agent. Om du förväntar dig toppar (som en supportlinje) spelar rate limits från WhatsApp och din AI-leverantör större roll än n8n i sig.

Är den här WhatsApp-kalenderautomationen bättre än att använda Zapier eller Make?

För det här arbetsflödet: ja, oftast. Du flyttar inte bara fält från A till B; du routar mellan verktyg, hanterar bilder och använder minne så att assistenten håller sig konsekvent mellan konversationer. n8n låter dig också självhosta, vilket gör körkostnaderna förutsägbara när volymen växer. Zapier eller Make kan vara enklare för grundläggande “nytt meddelande → skapa händelse”-flöden, men de blir klumpiga när du lägger till förgreningar, webhooks och långtidskontext. Prata med en automationsexpert om du vill ha hjälp att välja.

Det är så här “admin hanterad i chatten” ska kännas. Sätt upp det en gång, låt arbetsflödet ta avbrotten och håll kalendern korrekt utan att behöva passa den.

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

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal