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

Bitrix24 + Google Gemini: direkta svar från pdf

Rickard Andersson Partner, Nodenordic.se

Dina Bitrix24-chattar går snabbt, men svaren är begravda. En kund ställer en ”enkel” fråga och plötsligt gräver du i PDF:er, gamla trådar och delade enheter medan samtalet kallnar.

Det här drabbar supportledare först, ärligt talat, eftersom det är de som städar upp i eftersläpningen. Men driftsansvariga och säljteam känner också av det när produktdetaljer är utspridda. En Bitrix24 Gemini-chatbot gör om dina PDF:er till omedelbara, konsekventa svar direkt i Open Lines.

Det här arbetsflödet visar hur du routar Bitrix24-händelser, bearbetar PDF:er till en sökbar kunskapsbas och svarar med Google Gemini med rätt dokumentkontext (inte gissningar).

Så fungerar automationen

Hela n8n-arbetsflödet, från trigger till slutligt resultat:

n8n Workflow Template: Bitrix24 + Google Gemini: direkta svar från pdf

Problemet: Bitrix24-chattar kan inte ”komma ihåg” dina PDF:er

De flesta team har redan svaren. De sitter bara fast i PDF:er: policydokument, onboarding-guider, prislistor, funktionslistor, interna SOP:er. Så när en kund ställer samma fråga för tionde gången måste någon ändå söka, skumläsa, kopiera, klistra in och sedan skriva om det i en vänlig ton. Gör du det hela dagen blir det osynligt arbete som dränerar fokus. Ännu värre: två agenter svarar olika på samma fråga, vilket skapar förvirring och eskaleringar du aldrig behövde.

Det eskalerar snabbt. Här är var det fallerar i verkligheten:

  • En enda ”snabb kontroll” i en PDF kan bli 10 minuter av skanning och tvekan.
  • Kunskapen blir inaktuell eftersom en uppdatering i ett dokument inte uppdaterar vad agenter faktiskt säger i chatten.
  • Nyanställda behöver veckor för att lära sig var svaren finns, så de eskalerar i stället för att svara.
  • Konsekvensen försämras, vilket gör att kunder ställer följdfrågor som teamet kunde ha förebyggt.

Lösningen: svara i Bitrix24-chattar utifrån PDF:er med Gemini + Qdrant

Det här n8n-arbetsflödet gör om ditt PDF-bibliotek till något som din Bitrix24 Open Lines-bot faktiskt kan använda. När Bitrix24 skickar en inkommande webhook-händelse (till exempel ett nytt chattmeddelande) validerar arbetsflödet begäran, plockar ut användarens fråga och söker i dina indexerade dokument efter de mest relevanta avsnitten. Sedan genererar Google Gemini ett svar baserat på det hämtade innehållet, så svaret förankras i dina dokument. Till sist formaterar n8n svars-payloaden och postar den tillbaka till samma Bitrix24-konversation. Om boten inte hittar tillräckligt bra kontext kan den falla tillbaka till ett säkrare svar i stället för att hitta på.

Bakom kulisserna finns också en dokumentpipeline. PDF:er läses in, delas upp i mindre chunkar, konverteras till vektorinbäddningar med Ollama och lagras i Qdrant så att framtida sökningar går snabbt och semantiskt (vilket betyder att den kan matcha avsikt, inte bara nyckelord).

Det du får: automation vs. resultat

Exempel: så här kan det se ut

Säg att ditt team får 30 ”var hittar jag / hur gör jag”-frågor per dag i Bitrix24. Manuellt, om varje fråga tar cirka 5 minuter att hitta rätt PDF och skriva ett korrekt formaterat svar, blir det ungefär 2,5 timmar agenttid per dag. Med det här arbetsflödet söker agenten inte alls: frågan träffar webhooken, hämtningen körs och Gemini skriver ett utkast till svar på under en minut. Du granskar fortfarande specialfall, men de flesta rutinfrågor slutar stjäla din förmiddag.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Bitrix24 för att ta emot och skicka Open Lines-meddelanden.
  • Google Gemini API för att generera förankrade chattsvar.
  • Qdrant-uppgifter (hämta dem från din Qdrant Cloud- eller egenhostade dashboard).

Kunskapsnivå: Medel. Du kopplar ihop några tjänster, klistrar in nycklar på ett säkert sätt och testar webhook-händelser i Bitrix24.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Bitrix24 triggar arbetsflödet. En Bitrix24 Open Lines-händelse träffar n8n-webhooken. Arbetsflödet sätter auth-variabler och kontrollerar app-token så att slumpmässiga förfrågningar inte går igenom.

Händelser routas till rätt hanterare. Installations- och anslutningshändelser får en egen väg (registrera boten, skicka ett välkomstsvar). Händelser för nya meddelanden går till logiken för att ”transformera payload” så att frågan och kontexten blir strukturerad och konsekvent.

Hämtningen hittar rätt dokumentchunkar. Dina PDF:er förbehandlas med en dokumentladdare och en rekursiv text-splitter, sedan skapas inbäddningar med Ollama och lagras i Qdrant. När en användare frågar något hämtar retrievern de mest relevanta chunkarna och skickar dem in i Retrieval QA-kedjan.

Gemini skriver svaret och Bitrix24 tar emot det. Google Gemini genererar svaret i naturligt språk baserat på hämtade avsnitt, n8n formaterar svars-payloaden och arbetsflödet skickar tillbaka svaret till chatttråden.

Du kan enkelt ändra mappen för kunskapsbasen och svarsstilen så att den matchar er supportton och policy. Se hela implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera webhook-triggern

Sätt upp den inkommande webhooken som Bitrix24 kommer att anropa för alla botthändelser och meddelanden.

  1. Lägg till och öppna Inbound Bitrix Webhook.
  2. Ställ in HTTP MethodPOST.
  3. Ställ in Pathbitrix24/openchannel-rag-bothandler.php.
  4. Ställ in Response ModeresponseNode så att svar skickas av Return Success Reply eller Return Error Reply.

Steg 2: Koppla Bitrix auth-data och validera tokens

Normalisera inkommande auth-värden och validera sedan applikationstoken innan ni routar händelser.

  1. Öppna Set Auth Variables och lägg till följande tilldelningar:
  2. Ställ in CLIENT_ID[YOUR_ID] och CLIENT_SECRET[CONFIGURE_YOUR_API_KEY].
  3. Ställ in application_token={{ $json.body['auth[application_token]'] }}.
  4. Ställ in domain={{ $json.body['auth[domain]'] }} och access_token={{ $json.body['auth[access_token]'] }}.
  5. Ställ in storageNameShared drive och folderNameOpen line chat bot documents.
  6. I Verify App Token, säkerställ att det första villkoret jämför ={{ $json.CLIENT_ID }} med ={{ $json.application_token }}.
  7. Bekräfta exekveringsflödet: Set Auth Variables skickar output till både Verify App Token och Combine Subflow Params parallellt.

⚠️ Vanlig fallgrop: Ersätt [YOUR_ID], [CONFIGURE_YOUR_API_KEY] och [YOUR_EMAIL] innan ni testar, annars kommer Bitrix att neka installation och auth-kontroller.

Steg 3: Routa händelser och transformera inkommande meddelanden

Förgrena på händelsetyp, transformera meddelandepayloads och hantera flöden för install/join/delete.

  1. I Event Router, verifiera reglerna för ONIMBOTMESSAGEADD, ONIMBOTJOINCHAT, ONAPPINSTALL och ONIMBOTDELETE med ={{ $json.body.event }}.
  2. Öppna Transform Message Payload och behåll den medföljande funktionskoden för att extrahera meddelandedata och auth.
  3. Öppna Handle Join Event och behåll funktionen som bygger ITR-meny-meddelandet.
  4. Öppna Handle Install Event och verifiera att handler_back_url sätts från item.json.webhookUrl.
  5. Bekräfta att ogiltiga tokens går till Return Error Reply med Response Body satt till {{ "result": false, "error": "Invalid application token" }}.

Tips: Använd Bitrix24-testanrop för att validera varje output från Event Router innan ni kopplar in AI-kedjan.

Steg 4: Konfigurera underflödet för dokumentinläsning och vektorindexering

Detta underflöde hittar filer i Bitrix-lagring, laddar ner dem och lägger in embeddings i Qdrant.

  1. I Run Sub-Workflow (Configure Required), ställ in Workflow ID till det underflöde ni vill köra (för närvarande tomt).
  2. I Retrieve Storage List, behåll URL som =https://{{ $json.domain }}/rest/disk.storage.getlist.json?auth={{ $json.access_token }} och JSON body-filtret för ENTITY_TYPE och %NAME.
  3. I Retrieve Folder List, behåll URL som refererar {{ $('Subflow Trigger Start').item.json.domain }} och JSON body som använder {{ $json.result[0].ID }} och {{ $('Subflow Trigger Start').item.json.folderName }}.
  4. I Retrieve Folder Items, behåll id satt till ={{ $json.result[0].ID }}.
  5. I Expand Folder Items, ställ in Field To Split Outresult.
  6. I Filter File Records, behåll villkoret att ={{ $json.TYPE }} är lika med file.
  7. I Fetch File Content, ställ in URL={{ $json.DOWNLOAD_URL }}.
  8. Bekräfta parallell körning: Fetch File Content skickar output till både Move Files to Vector Folder och Qdrant Vector Index parallellt.
  9. I Move Files to Vector Folder, behåll id som ={{ $json.ID }} och targetFolderId som ={{ $('Retrieve Folder Items').item.json.result[0].ID }}.
  10. I Default Document Loader, ställ in LoaderpdfLoader och Data Typebinary.
  11. I Recursive Text Splitter, ställ in Chunk Overlap100.
  12. I Qdrant Vector Index, ställ in Modeinsert och välj samlingen bitrix-docs.
  13. I Ollama Embeddings, ställ in Modelnomic-embed-text:latest.

Tips: Ollama Embeddings är kopplad till Qdrant Vector Index som en AI-undernod—lägg till eventuella nödvändiga inloggningsuppgifter eller anslutningsdetaljer på Qdrant Vector Index, inte på undernoden.

Steg 5: Sätt upp RAG-hämtning och AI-generering av svar

Koppla ihop retriever, embeddings och LLM för att besvara frågor med vektorlagret.

  1. I Qdrant Vector Index Alt, välj samma samling bitrix-docs för hämtning.
  2. I Ollama Embeddings Alt, ställ in Modelnomic-embed-text:latest.
  3. I Vector Store Fetcher, ställ in Top K10.
  4. I Gemini Chat Model, ställ in Model Namemodels/gemini-2.0-flash.
  5. I Retrieval QA Chain, ställ in Text={{ $json.MESSAGE_ORI }} och behåll den medföljande System Prompt Template.
  6. I Format Response Payload, ställ in data={{ $json.response.text.removeMarkdown().replace(/`+$/, '')}}.

Tips: Vector Store Fetcher och Ollama Embeddings Alt är AI-undernoder—eventuella nödvändiga inloggningsuppgifter för hämtning ska konfigureras på Qdrant Vector Index Alt och Retrieval QA Chain, inte på undernoderna.

Steg 6: Konfigurera utgående svar och botregistrering

Skicka svar tillbaka till Bitrix och hantera flöden för installation/registrering.

  1. I Register Bot API, ställ in URL till =https://{{ $json.DOMAIN }}/rest/imbot.register?auth={{$json.AUTH}} och behåll body-parametrarna för CODE, TYPE, handler-URL:er och PROPERTIES.
  2. I Post Welcome Reply, ställ in URL till =https://{{$json.DOMAIN}}/rest/imbot.message.add?auth={{$json.AUTH}} och behåll body-parametrarna för DIALOG_ID, MESSAGE och AUTH.
  3. I Dispatch Chat Reply, ställ in URL till =https://{{ $json.data.DOMAIN }}/rest/imbot.message.add?auth={{ $json.data.AUTH }} och behåll DIALOG_ID, MESSAGE och AUTH i body.
  4. Bekräfta parallell körning: Register Bot API skickar output till både Return Success Reply och Combine Subflow Params parallellt.
  5. Verifiera att Return Success Reply använder Respond With json och Response Body { "result": true }.

Steg 7: Testa och aktivera ert workflow

Validera webhooken, routningen och AI-svarscykeln innan ni aktiverar workflowet.

  1. Klicka på Test Workflow och skicka en exempelbegäran för Bitrix-webhook till Inbound Bitrix Webhook.
  2. Bekräfta att Verify App Token routar giltiga tokens till Event Router och ogiltiga tokens till Return Error Reply.
  3. Skicka en meddelandehändelse och verifiera flödet Transform Message PayloadRetrieval QA ChainFormat Response PayloadDispatch Chat Reply.
  4. Trigga en installationshändelse och bekräfta Handle Install EventRegister Bot APIReturn Success Reply.
  5. När testet lyckas, växla workflowet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Bitrix24-uppgifter kan löpa ut eller sakna rätt Open Lines-behörigheter. Om något slutar fungera, kontrollera Bitrix24-appens inställningar och token-giltighet först.
  • Om du använder Wait-noder eller extern bearbetning (PDF-inläsning, inbäddningar eller vektorindexering) varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera utdata för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Bitrix24 Gemini-chatbot-automationen?

Räkna med cirka 60–90 minuter när du har dina nycklar och Bitrix24-appen redo.

Behöver jag kunna koda för att automatisera Bitrix24 Gemini-chatbot-svar?

Nej. Du kopplar mest konton, klistrar in API-nycklar och testar händelser från Bitrix24 för att bekräfta att routingen fungerar.

Är n8n gratis att använda för det här Bitrix24 Gemini-chatbot-arbetsflödet?

Ja. n8n har ett gratis alternativ för egen drift 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 användning av Google Gemini och din Qdrant-setup (samt Ollama-hosting om du kör inbäddningar själv).

Var kan jag hosta n8n för att köra den här Bitrix24 Gemini-chatbot-automationen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärt och hanterar n8n bra. Egen drift ger obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här Bitrix24 Gemini-chatbot-arbetsflödet för en annan dokumentkälla?

Ja, men du vill justera delen för dokumentinläsning. Du kan byta ut HTTP Request-noderna ”Retrieve Storage List / Folder List / Folder Items” mot din egen källa (till exempel Google Drive) och behålla samma mönster för loader, splitter, inbäddningar och Qdrant-indexering. Vanliga justeringar är att ändra vilken mapp som behandlas som ”kunskapsbas”, lägga till en ”processed”-tagg eller ett flyttsteg efter indexering, samt strama upp svarsformatet så att svaren håller sig korta i chatten.

Varför misslyckas min Bitrix24-anslutning i det här Bitrix24 Gemini-chatbot-arbetsflödet?

Oftast är det ett auth-problem: kontrollen av app-token misslyckas, webhook-URL:en matchar inte det Bitrix24 förväntar sig, eller Bitrix24-appens behörigheter inkluderar inte de Open Lines-åtgärder du anropar. Skapa om token eller installera om appen om du ändrade scopes. Kontrollera också ”Verify App Token” och HTTP Request-noderna som skickar svar, eftersom en enda fel parameter kan göra att Bitrix24 avvisar begäran.

Hur många meddelanden kan den här Bitrix24 Gemini-chatbot-automationen hantera?

Med n8n Cloud Starter kan du köra några tusen arbetsflödeskörningar per månad, vilket räcker för många små supportteam. Om du kör egen drift finns ingen gräns för körningar; de verkliga begränsningarna blir serverresurser och rate limits i Bitrix24, Gemini och Qdrant. I praktiken börjar de flesta team med ”normal affärsvolym” och skalar genom att lägga till en kö, begränsa hämtning till färre chunkar eller flytta inbäddningar/indexering till ett separat schema. Om du förväntar dig toppar (lanseringsdag, driftstörningar), planera för det i förväg.

Är den här Bitrix24 Gemini-chatbot-automationen bättre än att använda Zapier eller Make?

Ofta, ja. RAG-liknande arbetsflöden kräver förgreningar, meddelandevalidering, dokumentbearbetning och en koppling till en vektordatabas, och det blir klumpigt (och dyrt) i enklare automationverktyg. n8n är också enklare att köra i egen drift, vilket spelar roll när du vill ha obegränsade körningar eller behöver stramare kontroll över kunddata. Zapier eller Make kan fortfarande fungera bra för lättviktiga flöden som ”skicka ett standardsvar”. Om du är osäker, prata med en automationsexpert och få en snabb rekommendation.

När detta väl är igång slutar dina PDF:er vara ”döda dokument” och börjar fungera som en supportkollega. Arbetsflödet tar hand om det repetitiva letandet, så att teamet kan fokusera på konversationerna som 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