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

OpenAI-assistent till Google Docs, rena källhänvisningar

Rickard Andersson Partner, Nodenordic.se

Ditt team börjar äntligen använda en OpenAI-assistent för dokumentfrågor, och svaren ser “nästan” användbara ut. Sedan klistrar du in dem i Google Docs och allt blir kaos: konstiga markörer, trasiga källhänvisningar, och ingen kan se vilken mening som kommer från vilken fil.

Innehållsansvariga märker det när de behöver publiceringsklar text. Marknadsansvariga ser det under godkännanden. Och en solo-founder vill bara ha något de kan leverera utan en session för att städa upp källhänvisningar. Den här automatiseringen för OpenAI-källhänvisningar fixar formateringen och håller källorna läsbara, så att folk faktiskt litar på svaret.

Nedan ser du hur arbetsflödet hämtar assistentens källhänvisningar, plockar fram underliggande fildetaljer och outputar strukturerad Markdown (eller valfri HTML) som du kan klistra in direkt i Google Docs.

Så fungerar den här automatiseringen

Hela n8n-arbetsflödet, från trigger till slutlig output:

n8n Workflow Template: OpenAI-assistent till Google Docs, rena källhänvisningar

Problemet: AI-svar med källhänvisningar är fortfarande inte “Docs-klara”

OpenAI:s filhämtning är kraftfull, men sista milen är smärtsam. Assistenten kan returnera källhänvisningar, men de är ofta insvepta i märkliga tecken, inkonsekventa markörer eller referenser som inte går att mappa snyggt till en källista som människor kan läsa. Du lägger tid på att lista ut “vad källa 3 faktiskt är”, leta filnamn och manuellt göra om råa referenser till något som ser professionellt ut i Google Docs. Ännu värre: ett litet formateringsfel kan få hela svaret att kännas opålitligt, även när källorna i grunden är bra.

Friktionen blir ännu större när fler än en person rör innehållet.

  • Att klistra in ett assistentsvar i Google Docs drar ofta med konstiga symboler och skräp som kräver manuell städning.
  • Källnummer kan finnas, men “källan” bakom dem är oklar om du inte själv hämtar fildetaljer.
  • Redaktörer tappar tid när de ska verifiera påståenden eftersom källor inte är klickbara eller standardiserade i det format teamet förväntar sig.
  • Små inkonsekvenser mellan svar skapar extra granskningsrundor, vilket sänker takten när du försöker publicera snabbt.

Lösningen: formatera OpenAI Assistant-källhänvisningar till strukturerad Markdown

Det här n8n-arbetsflödet fungerar som ett “finish-lager” för källhänvisningar till din OpenAI-assistent. Det startar när ett chattmeddelande träffar din webhook-trigger och skickar sedan prompten till en OpenAI-assistent som redan är konfigurerad med en vektorstore (dina interna filer för retrieval). När assistenten har svarat hämtar arbetsflödet hela trådens meddelanden via HTTP, delar upp innehållet i delar och extraherar varje källhänvisning det kan hitta. För varje källhänvisning hämtar det underliggande filmetadata (så du får riktiga filnamn och identifierare i stället för mystiska markörer). Till sist normaliserar och kombinerar det allt till en enda, strukturerad output som innehåller läsbara källänkar i Markdown, med en valfri Markdown-till-HTML-konvertering om du föredrar att klistra in i vissa editorer.

Arbetsflödet börjar med ett chattinlägg. Sedan samlar det in assistentens svar plus källreferenser, löser upp dessa referenser till faktiska fildetaljer och formaterar slutsvaret till något du kan klistra in i Google Docs utan pinsamma artefakter. Strukturerad text, tydliga källor, klart.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att ditt team tar fram 10 svar med källor i veckan för briefs, enablement-dokument eller helpcenter-artiklar. Manuellt är det vanligt att lägga cirka 20 minuter per svar på att städa konstiga tecken, koppla källhänvisningar tillbaka till filer och formatera källor så de är läsbara i Google Docs. Det är ungefär 3 timmar i veckan av ren städning. Med det här arbetsflödet lägger du frågan i chatten, väntar en minut eller två på retrieval plus formatering och klistrar in den strukturerade Markdown-outputen. “Mänsklig tid” blir en snabb granskning, inte ett rekonstruktionsjobb.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • OpenAI-assistent med en vektorstore för filhämtning
  • Google Drive om ditt team lagrar källfiler där
  • OpenAI API-nyckel (hämta den från OpenAI API-dashboarden)

Kunskapsnivå: Mellan. Du kopplar credentials, klistrar in en API-nyckel och justerar ett kodblock för exakt den källhänvisningsstil du vill ha.

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

Så fungerar det

Ett chattmeddelande triggar körningen. Arbetsflödet börjar i Chat Entry Trigger (webhook-stil), så du kan mata in en fråga från ett chatt-UI, ett internt verktyg eller till och med ett enkelt formulär.

Assistenten genererar ett svar med källhänvisningar. n8n skickar prompten till din OpenAI-assistent, som använder sin vektorstore för att söka i dina uppladdade filer och returnera ett svar med källhänvisningar bifogade.

Källhänvisningar extraheras och löses upp. Arbetsflödet hämtar trådens meddelanden via HTTP, delar upp meddelandeinnehåll i chunkar och plockar sedan ut varje källhänvisning. För varje källhänvisning gör det ytterligare en HTTP-förfrågan för att hämta filmetadata så att källistan kan visa riktiga filnamn (och stabila identifierare) i stället för otydliga markörer.

Output formateras för människor. Efter normalisering och aggregering genererar ett sista kodsteg strukturerad Markdown med länkade källor. Om du föredrar HTML kan Markdown-noden konvertera så att din mål-editor renderar det snyggt.

Du kan enkelt ändra den slutliga källstilen så att den matchar er interna standard utifrån era behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: konfigurera chatttriggern

Det här arbetsflödet startar när ett chattmeddelande tas emot och lämnar sedan över konversationen till OpenAI-assistenten.

  1. Lägg till eller öppna Chat Entry Trigger som arbetsflödets trigger.
  2. Behåll standardinställningarna under Options för Chat Entry Trigger.
  3. (Valfritt) Låt Flowpast Branding ligga kvar som en dokumentationsnotering för synlighet i teamet.

Steg 2: anslut OpenAI

Assistentuppslagningen och API-anropen använder OpenAI-autentiseringsuppgifter för att hämta trådmeddelanden och filmetadata.

  1. Öppna OpenAI Assistant Lookup och ställ in Resource till assistant.
  2. Ställ in Assistant ID till ert assistentvärde (ersätt [YOUR_ID]).
  3. Öppna Fetch Thread Messages och verifiera att URL är =https://api.openai.com/v1/threads/{{ $json.threadId }}/messages.
  4. I Fetch Thread Messages, behåll Authentication som predefinedCredentialType och Node Credential Type som openAiApi.
  5. Öppna Fetch File Metadata och bekräfta att URL är =https://api.openai.com/v1/files/{{ $json.file_citation.file_id }}.
  6. I Fetch File Metadata, behåll Query Parameterslimit satt till 1.

Credential Required: Anslut era openAiApi-autentiseringsuppgifter i OpenAI Assistant Lookup.

Credential Required: Anslut era openAiApi-autentiseringsuppgifter i Fetch Thread Messages och Fetch File Metadata.

OpenAI-verktyg som Sliding Memory Buffer är kopplade till assistenten—se till att autentiseringsuppgifter läggs till i OpenAI Assistant Lookup (inte i minnesnoden).

Steg 3: konfigurera meddelandeparsning

Den här delen delar upp tråden i enskilda meddelandeposter och extraherar citeringsannoteringar för vidare uppslagning.

  1. Bekräfta att OpenAI Assistant Lookup kopplas direkt till Fetch Thread Messages.
  2. I Divide Thread Messages, ställ in Field to Split Out till data.
  3. I Split Message Content, ställ in Field to Split Out till content.
  4. I Extract Citation Entries, ställ in Field to Split Out till text.annotations.
  5. Säkerställ att körordningen följer Fetch Thread MessagesDivide Thread MessagesSplit Message ContentExtract Citation Entries.

Steg 4: konfigurera citeringsmetadata och formatering

Metadata hämtas för varje citat, normaliseras, aggregeras och används sedan för att infoga filnamn i assistentens output.

  1. Koppla Extract Citation Entries till Fetch File Metadata för att slå upp fildetaljer.
  2. I Normalize Fields, ställ in tilldelningar:
    • id={{ $json.id }}
    • filename={{ $json.filename }}
    • text={{ $('Extract Citation Entries').item.json.text }}
  3. I Combine Items, ställ in Aggregate till aggregateAllItemData.
  4. I Finalize Formatted Output, behåll Mode satt till runOnceForEachItem och använd den angivna JavaScript Code: let saida = $('OpenAI Assistant Lookup').item.json.output; for (let i of $input.item.json.data) { saida = saida.replaceAll(i.text, " _("+ i.filename+")_ "); } $input.item.json.output = saida; return $input.item;

⚠️ Vanlig fallgrop: Om Normalize Fields inte refererar till Extract Citation Entries kommer text-ersättningen i Finalize Formatted Output att misslyckas.

Steg 5: konfigurera output-rendering

Det slutliga meddelandet kan valfritt konverteras från Markdown till HTML.

  1. Koppla Finalize Formatted Output till Markdown to HTML Option.
  2. I Markdown to HTML Option, ställ in HTML till ={{ $json.output }} och Destination Key till output.
  3. Om ni vill ha HTML-output, aktivera Markdown to HTML Option (den är inaktiverad som standard).

Om ni föredrar rå Markdown-output, låt Markdown to HTML Option vara inaktiverad och använd fältet output från Finalize Formatted Output.

Sista steget: testa och aktivera ert arbetsflöde

Kör ett fullständigt test för att validera att citat ersätts med filnamn och aktivera sedan arbetsflödet för användning i drift.

  1. Klicka Execute Workflow och skicka ett testmeddelande via Chat Entry Trigger.
  2. Verifiera att Fetch Thread Messages hämtar meddelanden och att Extract Citation Entries ger ut annoteringsobjekt.
  3. Bekräfta att Finalize Formatted Output ersätter citeringstext med filnamn i output.
  4. Om ni använder HTML, säkerställ att Markdown to HTML Option matar ut HTML i fältet output.
  5. Växla arbetsflödet till Active när testet har slutförts utan fel.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • OpenAI-credentials kan löpa ut eller begränsas av projektinställningar. Om saker slutar fungera, kontrollera först status på din OpenAI API-nyckel och projektbehörigheter i OpenAI-dashboarden.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er varumärkesröst tidigt, annars kommer du redigera output för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för OpenAI-källhänvisningar?

Cirka 30 minuter om din assistent och API-nyckel är redo.

Behöver jag kunna koda för att automatisera städning av OpenAI-källhänvisningar?

Nej, inte för kärnarbetsflödet. Du kan vilja göra mindre justeringar i den sista formateringskoden för att matcha din föredragna källhänvisningsstil.

Är n8n gratis att använda för det här arbetsflödet för OpenAI-källhänvisningar?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis testperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med OpenAI API-användning, vilket vanligtvis är några dollar i månaden för lätt intern Q&A men skalar med volym.

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

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för OpenAI-källhänvisningar till HTML-output i stället för Markdown?

Ja. Du kan behålla Markdown-outputen från kodnoden “Finalize Formatted Output” och sedan aktivera noden “Markdown to HTML Option” för att konvertera den. Vanliga anpassningar är att ändra länkstil, lägga till en rubrik för avsnittet “Källor” och byta från numrerade källhänvisningar till författare–titel-stil om ditt team föredrar det.

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

Oftast beror det på en utgången eller felaktig API-nyckel i n8n. Skapa en ny OpenAI API-nyckel, uppdatera credential i dina OpenAI-noder och bekräfta att ditt OpenAI-projekt tillåter assistenten och filhämtningsfunktionerna du anropar. Om det bara fallerar på dagar med hög belastning kan du slå i rate limits, så sänk takten på förfrågningar eller batcha färre meddelanden per körning.

Hur många meddelanden kan den här automatiseringen för OpenAI-källhänvisningar hantera?

Väldigt många.

Är den här automatiseringen för OpenAI-källhänvisningar bättre än att använda Zapier eller Make?

Ofta, ja, om du bryr dig om parsing av källhänvisningar och kontroll över formateringen. Det här arbetsflödet bygger på att dela upp meddelandeinnehåll, aggregera flera objekt och köra en sista kodbaserad formatterare, och de delarna blir ofta klumpiga (eller dyra) i enklare automationsverktyg. n8n är också enklare att self-hosta, vilket spelar roll när du har många interna frågor och inte vill betala per liten delsteg. Zapier eller Make kan fortfarande fungera bra för en enkel “skicka prompt, få svar”-setup, men det är i städlagret du kommer märka skillnaden. Prata med en automationsexpert om du vill ha hjälp att välja.

Tydliga källhänvisningar förändrar hur människor ser på AI-svar. Sätt upp det här en gång, så får ditt team inklistringsklar output som känns som att den kom från en noggrann 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

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