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
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "Copywriter AI Agent", pos: "b", h: 48 }
n1@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n2@{ icon: "mdi:memory", form: "rounded", label: "Simple Memory", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Copywriter Revision Agent", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Data", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Update Topic Status on Googl..", pos: "b", h: 48 }
n7@{ icon: "mdi:database", form: "rounded", label: "Get Topic from Google Sheets", pos: "b", h: 48 }
n8@{ icon: "mdi:message-outline", form: "rounded", label: "Send Content for Approval", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Approval Result", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>On form submission"]
n11@{ icon: "mdi:database", form: "rounded", label: "Append row in sheet", pos: "b", h: 48 }
n12@{ icon: "mdi:database", form: "rounded", label: "Update sheet with blog post ..", pos: "b", h: 48 }
n13@{ icon: "mdi:cog", form: "rounded", label: "Create Blog file", pos: "b", h: 48 }
n14@{ icon: "mdi:cog", form: "rounded", label: "Add blog content in file", pos: "b", h: 48 }
n4 --> n8
n2 -.-> n0
n2 -.-> n3
n9 --> n6
n9 --> n3
n13 --> n14
n1 -.-> n0
n1 -.-> n3
n10 --> n11
n11 --> n7
n0 --> n4
n14 --> n12
n5 -.-> n0
n5 -.-> n3
n3 --> n4
n8 --> n9
n7 --> n0
n6 --> n13
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n10 trigger
class n0,n3,n5 ai
class n1 aiModel
class n2 ai
class n9 decision
class n6,n7,n11,n12 database
classDef customIcon fill:none,stroke:none
class n10 customIcon
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
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
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.
- Lägg till och öppna Form Submission Trigger.
- Ställ in Form Title till
Suggest the Topic for Blog. - Under Form Fields konfigurerar ni Topic (obligatoriskt) med platshållaren
Top 10 workflows to automate. - Lägg till ett andra fält med etiketten Reference link och platshållaren
Link to content topic. - I Options ställer ni in Button Label till
Create Content.
Steg 2: koppla Google Sheets för spårning av ämnen
Lagra inkommande ämnen och hämta raden för AI-utkast och statusuppdateringar.
- Öppna Append Topic Row och välj rätt Document och Sheet. Credential Required: Anslut era
googleSheetsOAuth2Api-uppgifter. - I Columns mappar ni Topic till
={{ $json.Topic }}och Referenc URL till={{ $json['Reference link'] }}. - Öppna Retrieve Topic Row och välj samma Document och Sheet. Credential Required: Anslut era
googleSheetsOAuth2Api-uppgifter. - Under Filters ställer ni in lookupColumn till
Statusför att rikta in er på relevant rad.
Steg 3: sätt upp AI-utkast och parsning
Konfigurera AI-modellen, minnet och parsern för att generera strukturerat SEO-innehåll.
- Öppna OpenAI Conversation Model och välj Model
gpt-4o-mini. Credential Required: Anslut eraopenAiApi-uppgifter. - I Structured Result Parser behåller ni JSON Schema Example som det visas för att tvinga fram utdata i formatet
{ "title": "...", "content": "..." }. - I Brief Context Memory ställer ni in Session Key till
={{ $('Retrieve Topic Row').item.json.Topic }}och Context Window Length till10. - Öppna SEO Drafting Agent och bekräfta att prompten inkluderar
{{ $json.Topic }}och{{ $json['Referenc URL'] }}, med Has Output Parser aktiverat. - Ö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.
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.
- Öppna Map Draft Fields och ställ in Topic Title till
={{ $json.output.title }}och Content till={{ $json.output.content }}. - Konfigurera Dispatch Approval Email med Send To som
[YOUR_EMAIL]. Credential Required: Anslut eragmailOAuth2-uppgifter. - Ställ in Subject till
Approval Required for Blog Contentoch Message till=Generated Title: {{ $json['Topic Title'] }}\n\nGenerated Content:\n{{ $json.Content }}. - Säkerställ att Operation är
sendAndWaitoch att Response Type ärcustomFormmed 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.
- I Approval Decision Router verifierar ni att reglerna kontrollerar
={{ $json.data['Approve Content?'] }}förYes,NoochCancel. - Öppna Update Topic Status Sheet och ställ in Title till
={{ $('Map Draft Fields').item.json['Topic Title'] }}, Status tillApprovedoch row_number till={{ $('Retrieve Topic Row').item.json.row_number }}. Credential Required: Anslut eragoogleSheetsOAuth2Api-uppgifter. - Ö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 eragoogleDocsOAuth2Api-uppgifter. - Ö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 eragoogleDocsOAuth2Api-uppgifter. - Ö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 eragoogleSheetsOAuth2Api-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.
- Klicka på Execute Workflow och skicka in en testpost via Form Submission Trigger.
- Bekräfta att en ny rad läggs till i arket av Append Topic Row och hämtas av Retrieve Topic Row.
- Verifiera att mejlet från Dispatch Approval Email kommer fram och skicka in ett godkännandesvar.
- 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.
- Slå om arbetsflödet till Active för användning i produktion när end-to-end-testet är lyckat.
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
Cirka 45 minuter om dina Google-konton och din OpenAI-nyckel är redo.
Nej. Du kopplar Google- och OpenAI-inloggningar och mappar sedan fält mellan noder.
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.
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.
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.
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.
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.
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.