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

Google Sheets + Gmail: godkänn SEO-utkast

Rickard Andersson Partner, Nodenordic.se

SEO-utkast misslyckas inte för att ingen kan skriva. De misslyckas för att utkast hamnar på fel ställen, godkännanden sker i utspridda trådar och ”slutversioner” försvinner.

Om du är innehållsansvarig har du jagat godkännanden och lappat dokument minst en gång den här veckan. Marknadsansvariga märker det när publiceringen glider. Och byråoperatörer märker det när kunder frågar: ”Hur ligger vi till med det där inlägget?” Den här automatiseringen för Sheets Gmail approvals ger dig en strukturerad pipeline: idé → utkast → godkänn eller revidera → lagrat och spårat.

Du får se hur arbetsflödet gör en enkel ämnesinlämning till ett AI-skrivet utkast, skickar det via Gmail för ett tydligt ja/nej-beslut (med feedback), och sedan sparar den godkända versionen i Google Docs samtidigt som din Google Sheets-tracker uppdateras.

Så fungerar automatiseringen

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

n8n Workflow Template: Google Sheets + Gmail: godkänn SEO-utkast

Varför det här är viktigt: SEO-utkast fastnar i ett godkännandelimbo

De flesta team har inget ”skrivproblem”. De har ett arbetsflödesproblem. Någon lägger ämnesidéer i ett kalkylark, någon annan skriver i ett dokument, och sedan mejlas, meddelas eller klistras utkastet in i Slack för granskning. Feedbacken kommer tillbaka som ett luddigt ”gör det mer slagkraftigt” utan kontext. Under tiden uppdaterar ingen trackern, så samma fråga återkommer: ”Är det här godkänt än?” Efter några varv redigerar du fel version. Ärligt talat är det utmattande.

Friktionen bygger på. Här är var det brukar fallera i det dagliga arbetet.

  • Godkännanden sker i inkonsekventa kanaler, vilket gör beslut svåra att spåra i efterhand.
  • Utkast kopieras och klistras mellan verktyg, och små formateringsfel smyger sig in varje gång.
  • Din Google Sheets-tracker blir ”så gott det går”, så planering och rapportering blir gissningar.
  • Revisionsfeedback är ostrukturerad, så skribenter gör delvisa ändringar och du hamnar i extra granskningsrundor.

Det du bygger: AI-utkast med Gmail-godkännanden och spårning i Sheets

Det här arbetsflödet startar med ett enkelt formulär för ämnesinlämning som matar din innehållstracker i Google Sheets. Så fort en ny rad läggs till hämtar n8n tillbaka raden (inklusive radnumret för tillförlitliga uppdateringar) och skickar ämnet plus eventuell referens-URL till en agent för SEO-utkast, driven av OpenAI (GPT-4o-mini). Agenten förädlar ämnet till en starkare SEO-fokuserad titel och skriver sedan ett komplett utkast i ett konversationellt format med korrekta rubriker. Därefter mejlas utkastet via Gmail till godkännaren med ett ja/nej/avbryt-formulär och ett feedbackfält. Om revidering begärs skriver en andra agent om utkastet utifrån feedbacken och skickar tillbaka det direkt för godkännande. När det godkänns skapar arbetsflödet ett Google-dokument, lägger in den slutliga texten och loggar dokumentlänken (och publiceringsdatum) tillbaka i Google Sheets.

Arbetsflödet börjar när ett ämne skickas in, går vidare till AI-utkast, och sedan till ett mänskligt beslut i Gmail. Godkännande triggar publicering till Google Docs och uppdaterar arket; revidering triggar en omskrivningsloop tills det är klart.

Det du bygger

Förväntade resultat

Säg att du publicerar 4 SEO-inlägg per vecka. Manuellt kanske du lägger cirka 20 minuter per inlägg bara på administration: skapa ett dokument, klistra in innehåll, mejla det, jaga ett beslut och sedan uppdatera trackern. Det är ungefär 80 minuter i veckan innan den riktiga redigeringen ens börjar. Med det här arbetsflödet skickar du in ämnet på under en minut, utkastet genereras automatiskt och godkännanden sker via ett enda beslutsformulär i Gmail. Du brukar få tillbaka ungefär en timme i veckan, och processen känns lugnare.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för rader och status i din innehållstracker.
  • Gmail för att skicka godkännanden och samla in feedback.
  • Google Docs för att lagra godkända inlägg som dokument.
  • OpenAI API-nyckel (hämta den i OpenAI:s API-dashboard).

Svårighetsgrad: Medel. Du kopplar konton, mappar några fält och testar godkännandeloopen från start till mål.

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

Steg för steg

Ett nytt ämne skickas in. Arbetsflödet triggas från ett formulär där du anger ett ämne och, valfritt, en referens-URL. Den inlämningen blir den enda ”källhändelsen” som allt annat knyts tillbaka till.

Ämnet loggas och hämtas tillbaka för spårning. n8n lägger till en ny rad i Google Sheets och hämtar sedan direkt den nya raden igen så att det har arkets radnummer. Den detaljen är viktig, eftersom den gör att arbetsflödet kan uppdatera exakt rätt rad senare (status, titel och den slutliga dokumentlänken) utan att gissa.

OpenAI skriver utkastet och formaterar det för återanvändning. SEO-agenten för utkast använder ditt ämne plus referenslänken för att skapa en bättre titel och ett komplett utkast. En strukturerad output-parser gör resultatet till korrekt formaterade fält (titel, innehåll) så att Gmail, Sheets och Google Docs alla får konsekvent data.

Gmail samlar in godkännande eller revisionsfeedback. Godkännaren får ett mejl med utkastets innehåll och ett enkelt beslut: godkänn, begär revidering eller avbryt. Om revidering begärs skriver revisionsagenten om utkastet utifrån feedbacken och skickar det tillbaka för en ny granskning. Om det godkänns skapas ett Google-dokument, innehållet läggs in och Google Sheets uppdateras med dokumentlänken och publiceringsdatum.

Du kan enkelt justera godkännandefrågorna så att de matchar din process, eller ändra utkastlängd och ton för att passa olika varumärken. Se den fullständiga implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera formulärtriggern

Sätt upp det inkommande formuläret så att användare kan skicka in idéer till bloggämen och referenslänkar.

  1. Lägg till och öppna Form Submission Trigger.
  2. Ställ in Form Title till Suggest the Topic for Blog.
  3. Under Form Fields konfigurerar ni Topic (obligatoriskt) med platshållaren Top 10 workflows to automate.
  4. Lägg till ett andra fält med etiketten Reference link och platshållaren Link to content topic.
  5. I Options ställer ni in Button Label till Create Content.
Behåll fältet Reference link som valfritt så att arbetsflödet fortfarande kan generera innehåll utan en URL.

Steg 2: koppla Google Sheets för spårning av ämnen

Lagra inkommande ämnen och hämta raden för AI-utkast och statusuppdateringar.

  1. Öppna Append Topic Row och välj rätt Document och Sheet. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter.
  2. I Columns mappar ni Topic till ={{ $json.Topic }} och Referenc URL till ={{ $json['Reference link'] }}.
  3. Öppna Retrieve Topic Row och välj samma Document och Sheet. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter.
  4. Under Filters ställer ni in lookupColumn till Status för att rikta in er på relevant rad.
⚠️ Vanlig fallgrop: Se till att ert kalkylark har kolumner med namnen Topic och Referenc URL exakt som visas; avvikande rubriker gör att mappningar går sönder.

Steg 3: sätt upp AI-utkast och parsning

Konfigurera AI-modellen, minnet och parsern för att generera strukturerat SEO-innehåll.

  1. Öppna OpenAI Conversation Model och välj Model gpt-4o-mini. Credential Required: Anslut era openAiApi-uppgifter.
  2. I Structured Result Parser behåller ni JSON Schema Example som det visas för att tvinga fram utdata i formatet { "title": "...", "content": "..." }.
  3. I Brief Context Memory ställer ni in Session Key till ={{ $('Retrieve Topic Row').item.json.Topic }} och Context Window Length till 10.
  4. Öppna SEO Drafting Agent och bekräfta att prompten inkluderar {{ $json.Topic }} och {{ $json['Referenc URL'] }}, med Has Output Parser aktiverat.
  5. Öppna Revision Writing Agent och bekräfta att den refererar till {{ $('Dispatch Approval Email').item.json.data['Content Feedback'] }} och {{ $('SEO Drafting Agent').item.json.output }}, med Has Output Parser aktiverat.
AI-undernoderna Structured Result Parser och Brief Context Memory tar inte emot uppgifter direkt. Säkerställ att uppgifter läggs till i OpenAI Conversation Model, som driver både SEO Drafting Agent och Revision Writing Agent.

Steg 4: mappa utkastfält och skicka godkännande-mejl

Förbered det genererade innehållet för granskning via e-post och fånga upp godkännanden.

  1. Öppna Map Draft Fields och ställ in Topic Title till ={{ $json.output.title }} och Content till ={{ $json.output.content }}.
  2. Konfigurera Dispatch Approval Email med Send To som [YOUR_EMAIL]. Credential Required: Anslut era gmailOAuth2-uppgifter.
  3. Ställ in Subject till Approval Required for Blog Content och Message till =Generated Title: {{ $json['Topic Title'] }}\n\nGenerated Content:\n{{ $json.Content }}.
  4. Säkerställ att Operation är sendAndWait och att Response Type är customForm med fälten Approve Content? och Content Feedback.

Steg 5: routa godkännanden och generera bloggdokumentet

Använd villkorsstyrd routing för att uppdatera arket, skapa ett Google Doc och infoga innehåll.

  1. I Approval Decision Router verifierar ni att reglerna kontrollerar ={{ $json.data['Approve Content?'] }} för Yes, No och Cancel.
  2. Öppna Update Topic Status Sheet och ställ in Title till ={{ $('Map Draft Fields').item.json['Topic Title'] }}, Status till Approved och row_number till ={{ $('Retrieve Topic Row').item.json.row_number }}. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter.
  3. Öppna Generate Blog Document och ställ in Title till ={{ $('Map Draft Fields').item.json['Topic Title'] }} och Folder ID till [YOUR_ID]. Credential Required: Anslut era googleDocsOAuth2Api-uppgifter.
  4. Öppna Insert Blog Content och ställ in Document URL till ={{ $json.id }}, och infoga sedan texten ={{ $('Map Draft Fields').item.json.Content }}. Credential Required: Anslut era googleDocsOAuth2Api-uppgifter.
  5. Öppna Record Document Link och ställ in Published till ={{ $now }}, row_number till ={{ $('Retrieve Topic Row').item.json.row_number }} och Link to document till =https://docs.google.com/document/d/{{ $json.documentId }}/edit?tab=t.0. Credential Required: Anslut era googleSheetsOAuth2Api-uppgifter.

Steg 6: testa och aktivera ert arbetsflöde

Kör ett komplett test från formulärinsändning till dokumentskapande och slå sedan på arbetsflödet.

  1. Klicka på Execute Workflow och skicka in en testpost via Form Submission Trigger.
  2. Bekräfta att en ny rad läggs till i arket av Append Topic Row och hämtas av Retrieve Topic Row.
  3. Verifiera att mejlet från Dispatch Approval Email kommer fram och skicka in ett godkännandesvar.
  4. Vid godkännande: bekräfta att Generate Blog Document skapar ett dokument, att Insert Blog Content infogar utkastet och att Record Document Link skriver tillbaka länken till arket.
  5. Slå om arbetsflödet till Active för användning i produktion när end-to-end-testet är lyckat.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Behörigheter i Google Sheets orsakar ofta tysta fel. Om uppdateringar inte skrivs tillbaka, kontrollera att det anslutna Google-kontot har redigeringsåtkomst till arket och att kalkylarks-ID:t matchar rätt fil.
  • Om steget för Gmail-godkännande aldrig ”returnerar”, titta i Gmail-kontot efter godkännandemejlet och bekräfta att det inbäddade formuläret skickades in. Vissa säkerhetsverktyg för inkorgar tar bort interaktiva element, så att först skicka till en intern adress är ett bra test.
  • OpenAI-utdata kan glida om dina prompts är för generiska. Lägg in varumärkesröst, målgrupp och formateringsregler tidigt, annars kommer du att ”fixa” samma problem i varje utkast.

Snabba svar

Hur lång är uppsättningstiden för den här Sheets Gmail approvals-automatiseringen?

Cirka 45 minuter om dina Google-konton och din OpenAI-nyckel är redo.

Krävs kodning för det här arbetsflödet för godkännanden?

Nej. Du kopplar Google- och OpenAI-inloggningar och mappar sedan fält mellan noder.

Är n8n gratis att använda för det här Sheets Gmail approvals-arbetsflödet?

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 in OpenAI API-kostnader, som vanligtvis är några cent per utkast beroende på längd och revideringar.

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 egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här Sheets Gmail approvals-arbetsflödet för olika användningsfall?

Ja, och det bör du. Du kan ändra instruktionerna i SEO-agenten för utkast för att producera andra format (produktsidor, landningssidor, nyhetsbrev), och sedan behålla samma godkännandespärr i Gmail. Vanliga justeringar är att strama åt ordantalet, lägga till regler för interna länkar och kräva en metabeskrivning i den strukturerade outputen så att den alltid följer med.

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

Oftast är det ett auktoriseringsproblem i Google, inte i n8n. Återanslut Gmail-inloggningen i n8n och bekräfta att Google-kontot tillåter de behörigheter (scopes) som krävs för att skicka mejl. Kontrollera också vilken inkorg du anslöt, eftersom team ibland godkänner i ett konto medan arbetsflödet övervakar ett annat. Om du skickar till en företagsdomän kan säkerhetspolicys blockera interaktivt mejlinnehåll, så testa genom att skicka till en privat Gmail-adress först.

Vilken volym kan det här Sheets Gmail approvals-arbetsflödet hantera?

I praktiken begränsas det av hur snabbt din godkännare kan granska utkast. Själva arbetsflödet kan hantera dussintals ämnen per dag, men Gmail-godkännandesteget skapar en naturlig kö. I egenhostad n8n finns ingen körningsgräns (din server är gränsen); i n8n Cloud beror det på din plans månatliga körningar, och varje revisionsloop räknas som extra körningar.

Är den här Sheets Gmail approvals-automatiseringen bättre än att använda Zapier eller Make?

Ofta, ja. n8n gör godkännande-/revisionsloopen mycket enklare eftersom grenlogiken är flexibel, och att loopa tillbaka för en ny vända känns inte som en nödlösning. Parsning av strukturerad AI-output passar också n8n bra, så att dina titel-/innehållsfält håller sig korrekt formaterade när de flyttas in i Sheets, Gmail och Google Docs. Zapier eller Make kan fortfarande fungera om du bara vill ha en rak linje från ”nytt ämne” till ”nytt utkast”, men godkännanden plus revideringar blir ofta rörigt snabbt. Om du vill ha hjälp att välja den enklaste uppsättningen för ditt team kan du prata med en automationsspecialist.

Du får en repeterbar innehållspipeline med en mänsklig kvalitetskontroll, utan kaoset. Sätt upp det en gång, så hålls tracker, utkast, godkännanden och slutliga dokument äntligen synkade.

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