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

Facebook Messenger + Airtable: standardsvar om lagerstatus

Rickard Andersson Partner, Nodenordic.se

Facebook-DM:ar väntar inte. Och när ”Finns den här i lager?” ligger obesvarad i två timmar är du inte bara efter i supporten. Du tappar försäljning i det tysta.

Den här automatiseringen för Messenger-svar slår först mot e-handelsansvariga, men ensamma butiksägare och stressade supportansvariga känner samma smärta. Målet är enkelt: omedelbara, korrekta lagersvar hämtade från Airtable, utan att du behöver bo i Meta Business Suite.

Du får se hur det här n8n-flödet läser nya meddelanden, listar ut vilken produkt kunden menar (även med stavfel), kollar ditt Airtable-lager, svarar i samma konversation och loggar konstiga kantfall till Google Sheets.

Så fungerar automatiseringen

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

n8n Workflow Template: Facebook Messenger + Airtable: standardsvar om lagerstatus

Varför det här spelar roll: lagerfrågor kapar din dag

Produktfrågor i Facebook Messenger ser ”små” ut tills du är den som svarar på dem hela dagen. En enda DM-tråd blir ofta fyra meddelanden: tillgänglighet, färg, storlek, ”hur lång är frakten”, och sedan ”kan du hålla den?” Samtidigt ändras lagret, så du antingen alt-tabbar in i Airtable (eller din butikens backend) eller chansar och rättar i efterhand. Den mentala belastningen är påtaglig. Och ärligt talat är det värsta inkonsekvensen: två olika personer svarar på två olika sätt, och kunder tappar snabbt förtroendet.

Friktionen bygger på. Här är var det faller isär.

  • Du copy-pastar samma ”i lager”-svar dussintals gånger, vilket stjäl fokus från riktiga supportärenden.
  • Lagret hinner ändras mellan DM:et och ditt svar, så du bekräftar av misstag lager som redan är slut.
  • Kunder använder smeknamn och stavfel (”air pods”, ”Airpod pros”), och manuell sökning gör allt långsammare.
  • Felaktigt formaterade meddelanden och märkliga trådar ignoreras eftersom ingen hinner triagera dem.

Det du bygger: omedelbara Messenger-svar drivna av Airtable

Det här flödet körs enligt ett schema (varje timme) och kontrollerar din Facebook-sidas inkorg efter nya konversationer. För varje konversation hämtar det kundens senaste meddelande och validerar att det innehåller de fält du behöver för att kunna jobba vidare (text, avsändare, tidsstämplar). Om meddelandet är giltigt extraherar GPT‑4o produkten och kundens avsikt, och sedan levererar Airtable den aktuella lagerlistan som ”source of truth”. Därefter matchar ett andra AI-steg det kunden menade mot en faktisk lagerartikel, avgör om produkten finns och genererar ett svar som är redo att skickas. Till sist postar n8n svaret tillbaka i exakt samma Messenger-tråd. Om något är felaktigt formaterat eller inte går att behandla loggar flödet det till Google Sheets så att du kan granska det senare istället för att tappa bort det i kaoset.

Flödet startar med timvis polling av din Messenger-inkorg via Facebook Graph API. Sedan gör AI röriga, mänskliga meddelanden till strukturerad data, som korsvalideras mot Airtable-lagret. Svar skickas automatiskt, och kantfall hamnar i Google Sheets för en snabb kontroll.

Det du bygger

Förväntade resultat

Säg att du får cirka 30 ”finns den här?”-DM:ar per dag. Manuell hantering: du läser meddelandet, söker i lagret och svarar, vilket blir kanske 4 minuter per styck när du räknar in kontextbyten (cirka 2 timmar per dag). Med det här flödet är ”arbetet” i princip noll: meddelanden kontrolleras varje timme, AI genererar svaret och du öppnar bara Google Sheets för att granska den handfull som inte klarar valideringen. För många butiker betyder det en eller två timmar tillbaka de flesta dagar, plus färre lagerfel.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Facebook Graph API för att läsa och svara på DM:ar.
  • Airtable som din source of truth för lager.
  • Azure OpenAI (GPT‑4o)-uppgifter (hämta dem från din Azure OpenAI-resurs).
  • Google Sheets OAuth (koppla ditt Google-konto i n8n).

Kunskapsnivå: Medel. Du kommer inte att skriva ”kodtung” programvara, men du kommer att klistra in API-tokens, testköra några gånger och justera prompts på ett säkert sätt.

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

Steg för steg

En timvis Messenger-kontroll drar igång allt. n8n kör på en schematrigger och använder sedan Facebook Graph API för att hämta din sidas konversationslista och plocka meddelanden från relevant tråd.

Flödet isolerar det enda meddelandet som spelar roll. Ett litet kodsteg sorterar tråden och väljer det senaste DM:et, och sedan bekräftar en ”if”-kontroll att meddelandestrukturen är användbar. Dåliga poster leds om till Google Sheets för granskning senare.

AI gör DM:et till strukturerad avsikt och matchar sedan mot lagret. GPT‑4o extraherar först produktnamn och avsikt (tillgänglighet, pris, generell fråga). Airtable-lagret hämtas, slås ihop med AI-resultatet och skickas vidare till en andra AI-agent som gör produktmatchningen och genererar svarstext.

Svaren postas direkt tillbaka i konversationen. Om produkten finns får kunden ett ”i lager”-svar med detaljer för den matchade artikeln. Om inte får de ett artigt ”inte tillgänglig”-meddelande så att de inte blir hängande.

Du kan enkelt ändra formuleringen så att den matchar din ton, eller justera schemat från timvis till oftare beroende på behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera schedule trigger

Det här arbetsflödet körs varje timme för att polla Facebook-DM, så börja med att konfigurera schemaläggaren och det första Facebook-anropet.

  1. Lägg till och öppna Hourly DM Poll Trigger.
  2. Ställ in Rule på ett timintervall (redan definierat som hours i noden).
  3. Koppla Hourly DM Poll Trigger till Retrieve FB Conversation List.

⚠️ Vanlig fallgrop: Om trigger-intervallet är fel inställt kommer DM inte att kontrolleras enligt schema. Säkerställ att regeln är konfigurerad för körning varje timme.

Steg 2: Anslut Facebook Graph API och hämta meddelanden

Dessa noder hämtar konversationer och meddelandeinnehåll från Facebook.

  1. Öppna Retrieve FB Conversation List och ställ in Edgeconversations med Graph API Version v23.0.
  2. Inloggningsuppgifter krävs: Anslut era facebookGraphApi-uppgifter i Retrieve FB Conversation List.
  3. Öppna Get FB Conversation Messages och ställ in Node{{ $json.data[0].id }}.
  4. Ställ in Graph API Versionv23.0 och bekräfta att query-fältet innehåller messages{message,from,to,created_time}.
  5. Inloggningsuppgifter krävs: Anslut era facebookGraphApi-uppgifter i Get FB Conversation Messages.

Steg 3: Validera och isolera det senaste DM:et

Validera meddelandets payload, fånga upp ogiltiga meddelanden och välj det senaste DM:et för vidare bearbetning.

  1. I Validate Message Schema, behåll villkoret som kontrollerar att {{ $json.id }} inte är tomt.
  2. Koppla true-utgången från Validate Message Schema till Select Most Recent DM.
  3. Koppla false-utgången från Validate Message Schema till Log Invalid DMs to Sheets.
  4. I Log Invalid DMs to Sheets, ställ in Operation till append, välj mål-Document och Sheet.
  5. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Log Invalid DMs to Sheets.
  6. Granska Select Most Recent DM för att säkerställa att JavaScript sorterar på created_time och returnerar msgs[0].

Om er Facebook-payloadstruktur ändras, uppdatera villkoret i Validate Message Schema så att det matchar korrekt sökväg till fältet.

Steg 4: Sätt upp AI-extrahering och lagerhämtning (parallellt)

Efter att det senaste DM:et valts förgrenas arbetsflödet för att extrahera intent och hämta lager samtidigt.

Select Most Recent DM skickar utdata till både AI Intent & Product Extract och Pull Inventory from Airtable parallellt.

  1. Öppna AI Intent & Product Extract och behåll prompttexten som refererar till {{ $json.message }} och returnerar JSON.
  2. Öppna GPT-4o Intent Model Setup och ställ in Model till gpt-4o.
  3. Inloggningsuppgifter krävs: Anslut era azureOpenAiApi-uppgifter i GPT-4o Intent Model Setup. Den här språkmodellen är kopplad till AI Intent & Product Extract, så uppgifterna ska ligga på modellnoden.
  4. Öppna Pull Inventory from Airtable och välj er Base och Table (just nu platshållare).
  5. Ställ in Operation till search i Pull Inventory from Airtable.
  6. Inloggningsuppgifter krävs: Anslut era airtableTokenApi-uppgifter i Pull Inventory from Airtable.

Steg 5: Slå ihop AI och lager, matcha sedan produkter

Kombinera AI-utdata med lager, bygg en payload och matcha produkter med en andra AI-modell.

  1. Säkerställ att både AI Intent & Product Extract och Pull Inventory from Airtable är kopplade till Combine AI With Stock List.
  2. Öppna Assemble AI+Inventory Payload och bekräfta att koden parsar items[0].json.output och bygger { ai, inventory }.
  3. Öppna AI Match Product to Stock och behåll promptfälten som använder {{ $json.ai.product_name }}, {{ $json.ai.intent }} och {{ JSON.stringify($json.inventory) }}.
  4. Öppna GPT-4o Match Model Setup och ställ in Model till gpt-4o.
  5. Inloggningsuppgifter krävs: Anslut era azureOpenAiApi-uppgifter i GPT-4o Match Model Setup. Den här språkmodellen är kopplad till AI Match Product to Stock, så uppgifterna ska ligga på modellnoden.
  6. I Parse Match JSON Output, behåll JSON-parsningskoden som läser $json.output och returnerar ett rent objekt.

Steg 6: Konfigurera svarsroutning och meddelanden

Baserat på AI-matchningsresultatet skickas rätt Facebook-DM-svar.

  1. I Product Availability Check, behåll villkoret som kontrollerar att {{ $json.found }} är lika med true.
  2. Koppla true-vägen till Send FB Reply: In Stock och false-vägen till Send FB Reply: Not Available.
  3. I Send FB Reply: In Stock, ställ in Edge till messages, Graph API Version till v23.0 och HTTP Request Method till POST.
  4. Ställ in Node till {{ $('Get FB Conversation Messages').first().json.messages.data[0].to.data[0].id }} och recipient till {{ JSON.stringify({ id: $('Select Most Recent DM').first().json.from.id }) }}.
  5. Ställ in parametern message till {{ JSON.stringify({ text: $json.reply }) }}.
  6. Inloggningsuppgifter krävs: Anslut era facebookGraphApi-uppgifter i Send FB Reply: In Stock.
  7. Upprepa samma parameterinställningar för Send FB Reply: Not Available.
  8. Inloggningsuppgifter krävs: Anslut era facebookGraphApi-uppgifter i Send FB Reply: Not Available.

Om message-payloaden inte är giltig JSON kommer Facebook att avvisa begäran. Behåll exakt formatet {{ JSON.stringify({ text: $json.reply }) }}.

Steg 7: Testa och aktivera ert arbetsflöde

Kör ett manuellt test för att bekräfta meddelanden, AI-parsning, lagermatchning och routningsbeteende innan ni aktiverar timschemat.

  1. Klicka Execute Workflow och säkerställ att Hourly DM Poll Trigger startar körningen.
  2. Verifiera att Retrieve FB Conversation List och Get FB Conversation Messages returnerar en giltig meddelandepayload.
  3. Bekräfta att AI Intent & Product Extract returnerar JSON och att Parse Match JSON Output producerar ett parsat objekt.
  4. Kontrollera att Product Availability Check routar till antingen Send FB Reply: In Stock eller Send FB Reply: Not Available.
  5. Säkerställ att ogiltiga payloads routas till Log Invalid DMs to Sheets med en ny rad tillagd.
  6. När allt fungerar, växla arbetsflödet till Active så att Hourly DM Poll Trigger körs varje timme i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Facebook Graph API-uppgifter kan löpa ut eller sakna sidbehörigheter. Om svar slutar skickas, kontrollera först att din token är giltig och att du har sidåtkomst i inställningarna för din Meta-app.
  • Om du använder Wait-liknande beteende (timvis polling plus externa AI-anrop) varierar processtider. Höj timeouts eller retry-inställningar om efterföljande noder fallerar för att ett AI-svar kommer in för sent.
  • Standardprompterna i GPT‑4o-noderna är generiska. Lägg in dina katalogregler för namngivning och er tonalitet tidigt, annars kommer du att redigera utdata för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här automatiseringen för Messenger-svar?

Cirka 45 minuter om dina tokens och din Airtable-bas är redo.

Krävs kodning för den här uppgiften med automatiserade Messenger-svar?

Nej. Du kopplar främst konton och justerar sedan ett par AI-prompts och mappningar.

Är n8n gratis att använda för det här flödet med automatiserade Messenger-svar?

Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med kostnader för Azure OpenAI GPT‑4o-användning, som beror på meddelandevolym och promptstorlek.

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

Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärt och klarar n8n bra. Egen drift ger dig obegränsat antal körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här flödet för automatiserade Messenger-svar för andra användningsfall?

Ja, och det bör du. Du kan justera prompten i ”AI – Extract Product & Customer Intent” för att fånga extra fält som variant, färg eller storlek och sedan uppdatera Airtable-hämtningen så att de kolumnerna inkluderas. Många team skriver också om båda Facebook-svarsnoderna för att lägga in fraktlänkar, öppettider eller instruktioner för överlämning. Om du vill ha en mänsklig fallback kan du byta ut ”inte tillgänglig”-svaret mot en Slack-alert så att någon kan hoppa in manuellt.

Varför misslyckas min Facebook Messenger-anslutning i det här flödet?

Oftast beror det på en utgången Facebook-token eller saknade behörigheter för att läsa konversationer och skicka meddelanden. Skapa en ny access token i din Meta-app, uppdatera sedan Facebook Graph API-uppgifterna i n8n och testkör noden ”Retrieve FB Conversation List” igen. Om det fungerar ibland men fallerar vid toppar kan du också slå i API:ets rate limits, så minska pollingfrekvensen eller lägg till retry-hantering.

Vilken volym kan det här flödet för automatiserade Messenger-svar hantera?

På en typisk n8n Cloud-plan hanterar det utan problem hundratals DM:ar per dag, och vid egen drift skalar det med din server.

Är den här automatiseringen för Messenger-svar bättre än att använda Zapier eller Make?

Ofta ja, eftersom det här flödet behöver grenlogik, datasammanslagning och striktare kontroll över AI-prompts och JSON-parsning. n8n ger dig också möjligheten att köra i egen drift, vilket spelar roll när meddelandevolymen växer och prissättning per uppgift blir smärtsam. En annan praktisk poäng: du kan inspektera varje nods input/output för att felsöka varför ett specifikt DM fick ett visst svar, vilket är svårare i enklare ”black box”-automatiseringar. Zapier eller Make kan fortfarande fungera för enkla autosvar, men att matcha röriga produktnamn mot en live lagerlista i Airtable är där n8n ofta känns mer pålitligt. Prata med en automationsexpert om du vill ha hjälp att välja.

När det här väl rullar slutar din inkorg att vara en flaskhals. Airtable förblir sanningen, Messenger får svaret och du kliver bara in när något faktiskt behöver en människa.

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