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

OpenAI + Google Sheets: spårning av AI-synlighetsaudit

Rickard Andersson Partner, Nodenordic.se

”Syns vi i AI-svar?” är en enkel fråga. Det svåra är att få ett tillförlitligt svar, eftersom du slutar med att köra samma prompt i flera verktyg, kopiera svaren till ett kalkylark och försöka förstå allt i efterhand.

Den här automationen för AI-synlighetsgranskning riktar sig främst till marknadschefer, men kommunikationsansvariga och byråoperatörer känner av det lika mycket. Du slutar lägga eftermiddagar på manuella kontroller och börjar bygga en felfri, repeterbar dataset som du faktiskt kan rapportera på.

Det här arbetsflödet skickar en prompt till OpenAI och Perplexity (med en valfri väg för ChatGPT-webbskrapning), analyserar sentiment och varumärkesrankning och loggar sedan allt i Google Sheets. Nedan ser du exakt hur det körs och vilka resultat du kan förvänta dig.

Så fungerar den här automationen

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

n8n Workflow Template: OpenAI + Google Sheets: spårning av AI-synlighetsaudit

Problemet: spårning av AI-synlighet är för manuellt

Om du har försökt ”granska” ditt varumärke i AI-verktyg känner du redan till fällan. En person kör några prompts i ChatGPT. Någon annan kollar Perplexity efter källhänvisningar. Sedan klistrar ni in fragment i ett kalkylark som aldrig var byggt för detta. Nästa vecka försöker ni igen, men promptformuleringen har ändrats, modellen har ändrats och nu är er ”trend” i praktiken gissningar. Värre: ledningen vill fortfarande ha en uppdatering, vilket gör att du lägger tid på att samla skärmdumpar i stället för att faktiskt lära dig något.

Friktionen byggs på. Här är var det faller isär i riktiga team.

  • Att köra samma prompt i flera verktyg tar cirka 10 minuter per prompt, och det är förvånansvärt lätt att glömma en källa.
  • Utan ett standardiserat utdataformat kan du inte jämföra svar vecka för vecka, så ”varumärkessynlighet” blir en känsla i stället för ett mått.
  • Sentiment och ”vem som rankar över oss” debatteras i Slack eftersom ingen loggade strukturerade fält.
  • Källor försvinner i inklistrad text, vilket gör det svårare att bevisa var svaren kom ifrån när du rapporterar.

Lösningen: automatiserad granskning och loggning över flera modeller

Det här arbetsflödet gör kontroller av AI-synlighet till en repeterbar process som du kan köra när du vill. Det börjar med att hämta en lista med prompts från ett Google Sheet (eller använda manuell promptinmatning om du testar). För varje prompt skickar det samma förfrågan till OpenAI för ett baslinjesvar och till Perplexity för ett svar med källor. Om du aktiverar den valfria vägen kan det även anropa en Apify-actor för att hämta ett svar från ChatGPT:s webbgränssnitt, men den vägen innebär risk kopplad till användarvillkor, så många team hoppar över den. När svaren kommer tillbaka normaliserar arbetsflödet fälten så att varje modells utdata blir jämförbar, och kör sedan en LLM-baserad analys för sentiment och varumärkeshierarki (vem som nämns först, tvåa, trea). Till sist lägger det till en felfri rad per modell och prompt i ditt Google Sheet för utdata, redo för veckorapportering.

Arbetsflödet startar med en manuell trigger (lätt att byta till ett schema). Prompts batchas, varje prompt körs mot flera verktyg och svaren mappas till ett konsekvent schema. Sedan klassificerar sentimentgranskningsagenter ton och varumärkesordning, och arket uppdateras med strukturerade kolumner samt källor.

Det du får: automation vs. resultat

Exempel: så här ser det ut

Säg att du granskar 20 prompts varje måndag i två AI-system (OpenAI och Perplexity). Manuellt kan du räkna med cirka 10 minuter per prompt för att köra den två gånger, kopiera svar, plocka ut källor och tagga sentiment, alltså ungefär 3 timmar totalt. Med det här arbetsflödet lägger du in de 20 promptarna i indatafliken, trycker på kör och väntar på bearbetning; din hands-on-tid är närmare 10 minuter. Du granskar fortfarande arket, men du granskar strukturerade rader, inte bygger om datasetet från noll.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Självhostat alternativ om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för inmatningsprompts och granskningsloggning
  • OpenAI API för att generera baslinjesvar från modellen
  • Perplexity API-nyckel (hämta den i din Perplexity API-dashboard)

Svårighetsnivå: medel. Du kopplar in inloggningar, skapar två flikar i arket och verifierar några fältmappningar.

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

Så fungerar det

En körning startar på kommando (eller enligt schema). Mallen använder en manuell trigger så att du kan testa säkert, och byter sedan till webhook, Telegram-trigger eller tidsstyrt schema när du litar på resultatet.

Prompts kommer från ett enkelt indataark. n8n hämtar din kolumn ”Prompt” från Google Sheets, kan valfritt begränsa antal rader för test, och loopar sedan igenom prompts i batchar så att du inte överbelastar API:erna på en gång.

Varje prompt kontrolleras i flera AI-system. Arbetsflödet frågar OpenAI för baslinjesvaret och Perplexity för ett svar med källhänvisningar. Om du aktiverat den valfria Apify-vägen försöker det göra en ChatGPT-webbskrapning och använder en If-kontroll för att routa runt fel.

Svar normaliseras, analyseras och loggas. Mappningsnoder av typen ”Set” sätter ihop konsekventa fält (prompt, modellnamn, svarstext, flagga för varumärke nämnt, varumärkeshierarki, polaritet, emotionskategori och källor). Sedan läggs raden till i ditt Google Sheet för utdata så att din granskningshistorik alltid är uppdaterad.

Du kan enkelt ändra formatet på promptlistan för att inkludera kategorier eller trattsteg utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera den manuella triggern

Det här arbetsflödet startas manuellt så att ni kan testa promptar och output-mappning innan ni aktiverar det.

  1. Lägg till och öppna Manual Launch Trigger som arbetsflödets startpunkt.
  2. Koppla Manual Launch Trigger till Retrieve Prompt List.

Steg 2: Anslut Google Sheets

Dessa noder läser in prompt-indata och skriver tillbaka analysresultat till era kalkylark.

  1. Öppna Retrieve Prompt List och ställ in Range till A1:A100 och sheetId till [YOUR_ID].
  2. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Prompt List.
  3. Öppna Update Spreadsheet Output och bekräfta att Operation är append med önskade värden för sheetName och documentId.
  4. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter i Update Spreadsheet Output.
  5. Öppna Append Row to Sheet och bekräfta att Operation är append med korrekt sheetName och documentId.
  6. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter i Append Row to Sheet.
Tips: Håll kolumnschemat i Google Sheets-noderna i linje med fälten som skapas av Final Field Mapping och Assemble Sheet Fields för att undvika tomma kolumner.

Steg 3: Förbered prompt-indata och loopning

Det här avsnittet bygger promptar, begränsar testobjekt och loopar igenom promptlistan i batchar.

  1. I Prompt Seed Builder ställer ni in Prompt till Are Asics running shoes any good för Perplexity-förpasset.
  2. I Manual Prompt Entry ställer ni in Prompt till Was sind die besten Laufschuhe? för manuell testning.
  3. Öppna Test Item Limit och ställ in Max Items till 2 för att hålla testkörningarna korta.
  4. Verifiera att loop-sökvägen är Retrieve Prompt ListTest Item LimitPre-Loop PassIterate Prompt BatchesLoop Input Marker.
⚠️ Vanligt misstag: Om ni glömmer att ta bort eller höja Test Item Limit kommer endast de två första promptarna att köras i produktion.

Steg 4: Konfigurera parallella LLM-/verktygsanrop

När varje prompt går in i loopen körs tre verktyg parallellt för att hämta svar från olika källor.

  1. Bekräfta att Loop Input Marker skickar output parallellt till OpenAI Query Chain, Perplexity Query Call och Apify ChatGPT Scrape Call.
  2. I OpenAI Query Chain ställer ni in Text till ={{ $json.Prompt }} och behåller promptType som define.
  3. Öppna OpenAI Chat Model Prime och välj modellen gpt-5.
  4. Credential Required: Anslut era openAiApi-uppgifter i OpenAI Chat Model Prime.
  5. Öppna Perplexity Query Call och ställ in model till sonar med meddelandeinnehåll ={{ $json.Prompt }}.
  6. Credential Required: Anslut era perplexityApi-uppgifter i Perplexity Query Call.
  7. Öppna Apify ChatGPT Scrape Call och ställ in URL till https://api.apify.com/v2/acts/automation_nerd~chatgpt-prompt-actor/run-sync-get-dataset-items med JSON Body satt till ={ "prompts": [{{ JSON.stringify($json["Prompt"]) }}], "proxyCountry": "DE" }.
  8. Credential Required: Anslut era httpQueryAuth-uppgifter i Apify ChatGPT Scrape Call.
Tips: Grenarna för OpenAI, Perplexity och Apify slås ihop längre fram via Normalize Tool Result, så säkerställ att varje gren returnerar en konsekvent struktur.

Steg 5: Mappa och normalisera modellsvar

Dessa noder standardiserar output-fält över de olika AI-verktygen.

  1. I OpenAI Response Mapper ställer ni in Response till ={{ $json.text }} och LLM till OpenAI.
  2. I Perplexity Response Map mappar ni Response till ={{ $json.choices[0].message.content }} och källhänvisningar till Source1 till Source6.
  3. I ChatGPT Response Map mappar ni Response till ={{ $json.response }} och källhänvisningar till Source1 till Source6.
  4. Säkerställ att alla tre grenar skickar output till Normalize Tool Result innan sentimentsbearbetningen.

Steg 6: Sätt upp sentimentsgranskningsagenter och output-parsers

Två sentimentsagenter betygsätter svaren och tillämpar strukturerad output-parsning.

  1. I Sentiment Review Agent A behåller ni Text satt till =You task is to analyse the sentiment of a text message... "{{ $json.Message }}" och säkerställer att hasOutputParser är aktiverat.
  2. Koppla Structured Output Reader till Sentiment Review Agent A och behåll JSON-schemaexemplet för output.
  3. I Sentiment Review Agent B behåller ni Text satt till =Take this message and evaluate its content: "{{ $json.Response }}" med hasOutputParser aktiverat.
  4. Koppla Structured Output Reader B till Sentiment Review Agent B och behåll JSON-schemaexemplet för output.
  5. Öppna Chat Model Core och ställ in modellen till gpt-4.1-mini.
  6. Credential Required: Anslut era openAiApi-uppgifter i Chat Model Core.
  7. Öppna OpenAI Chat Model B och ställ in modellen till gpt-4.1-mini.
  8. Credential Required: Anslut era openAiApi-uppgifter i OpenAI Chat Model B.
⚠️ Vanligt misstag: Structured Output Reader och Structured Output Reader B är AI-undernoder—uppgifter måste läggas till i deras överordnade språkmodellnoder (Chat Model Core och OpenAI Chat Model B), inte i undernoderna.

Steg 7: Mappa slutfält och skriv resultaten

Det här steget förbereder output-fält för era sheets och sparar resultaten.

  1. I Final Field Mapping ställer ni in fält som Message till ={{ $('Map LLM Response').item.json.Message }} och Prompt till ={{ $('Prompt Seed Builder').item.json.Prompt }}.
  2. I Assemble Sheet Fields mappar ni Prompt till ={{ $('Loop Input Marker').item.json.Prompt }} och Response till ={{ $('Normalize Tool Result').item.json.Response }}.
  3. Behåll uttrycket för varumärkeskontrollen i Assemble Sheet Fields satt till ={{ $('Normalize Tool Result').item.json.Response.toLowerCase().includes("asics") }}.
  4. Säkerställ att Final Field Mapping skickar output till Update Spreadsheet Output och att Assemble Sheet Fields skickar output till Append Row to Sheet.
Tips: Arbetsflödet använder flera set-noder för mappning (totalt 8). Håll dem organiserade efter funktion—prompt-seeding, svarsmappning och slutlig formatering för sheet.

Steg 8: Testa och aktivera ert arbetsflöde

Kör ett test för att validera promptflöde, parallella verktyg och sheet-output innan ni aktiverar produktion.

  1. Klicka på Execute Workflow och bekräfta att Retrieve Prompt List läser in värden från ert sheet.
  2. Följ den parallella körningen efter Loop Input Marker och verifiera att OpenAI Query Chain, Perplexity Query Call och Apify ChatGPT Scrape Call alla returnerar data.
  3. Bekräfta att output-mappningen lyckas i Normalize Tool Result och kontrollera sedan sentimentresultaten i Sentiment Review Agent B.
  4. Verifiera att nya rader visas i de sheets som är kopplade till Update Spreadsheet Output och Append Row to Sheet.
  5. När testningen är klar, växla arbetsflödet 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

  • Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det börjar skapa fel, kontrollera först skärmen Credentials i n8n och bekräfta att kalkylarket är delat med det anslutna Google-kontot.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
  • Standardprompts i AI-noder är generiska. Lägg in er varumärkeston tidigt, annars kommer du att redigera utdata i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automationen för AI-synlighetsgranskning?

Cirka en timme om dina API:er och ditt ark är redo.

Behöver jag kunna koda för att automatisera spårning av AI-synlighetsgranskning?

Nej. Du kopplar mest konton och klistrar in API-nycklar. Den enda ”tekniska” delen är att matcha kolumnerna i ditt ark mot arbetsflödets fält.

Är n8n gratis att använda för det här arbetsflödet för AI-synlighetsgranskning?

Ja. n8n har ett gratis självhostat alternativ 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 in kostnader för OpenAI- och Perplexity-API, som beror på hur många prompts du kör.

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

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhostat på en VPS. För självhosting är Hostinger VPS prisvärt 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 AI-synlighetsgranskning för veckovisa schemalagda granskningar?

Ja, och det är en av de bästa förbättringarna. Byt ut Manual Launch Trigger mot en Schedule Trigger och behåll strukturen ”Retrieve Prompt List → Split in Batches → append row” oförändrad. Vanliga anpassningar är att lägga till en kolumn för ”Prompt category”, spåra fler modeller genom att duplicera request-and-map-vägen och lägga till ett enkelt synlighetspoängfält för rapportering.

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

Oftast handlar det om utgången OAuth, fel Google-konto eller ett behörighetsproblem i kalkylarket. Återanslut Google Sheets i n8n och bekräfta sedan att exakt fil- och fliknamn matchar vad noderna förväntar sig. Kontrollera också att ditt ark har rubriker som ”Prompt” och utdata-kolumnerna; saknade rubriker kan göra att rader läggs till på fel ställe. Om det bara misslyckas ibland kan du slå i Googles rate limits vid stora batchar.

Hur många prompts klarar den här automationen för AI-synlighetsgranskning?

Många.

Är den här automationen för AI-synlighetsgranskning bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här arbetsflödet inte bara är ”skicka prompt, lagra text”. Du loopar igenom många prompts, förgrenar på lyckade körvägar, normaliserar utdata och kör strukturerad LLM-analys, vilket snabbt blir klumpigt i enklare byggare. n8n låter dig också självhosta, så du betalar inte per litet steg när du skalar granskningar. Zapier eller Make kan fortfarande fungera bra för en lättviktig logg med två modeller utan sentiment, utan hierarki och utan batchning. Om du vill ha hjälp att välja, prata med en automationsexpert.

När du har ett granskningsark som fyller sig självt slutar ”Hur går det för oss i AI?” att vara en panikinsats. Arbetsflödet tar hand om den repetitiva loggningen så att du kan fokusera på vad svaren faktiskt säger.

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