Du samlar in uppgifterna. Sedan slösar du tid på att kopiera in dem i en avtalsmall, dubbelkolla namn, rätta datum och ladda upp den slutliga filen igen till Drive. Det går långsamt. Och ärligt talat är det här onödiga misstag smyger sig in.
Den här Forms Docs-automatiseringen slår först mot ops managers, eftersom det är de som får städa upp processkaos. Men byråägare och frilansare känner också av det när varje ny kund innebär ännu en runda manuell dokumentförberedelse. Resultatet är enkelt: ifyllda Google Docs på några minuter, sparade i Google Drive, konsekvent namngivna och redo att skickas.
Nedan ser du hur arbetsflödet fungerar, vad du behöver för att sätta upp det och vilka tidsbesparingar du kan räkna med när det väl är på plats.
Så fungerar automatiseringen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: Google Forms till Google Docs, avtal ifyllda snabbt
flowchart LR
subgraph sg0["Form Flow"]
direction LR
n0["<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/>Form"]
n1@{ icon: "mdi:cog", form: "rounded", label: "Copy template file", pos: "b", h: 48 }
n2["<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/code.svg' width='40' height='40' /></div><br/>Format form data"]
n3["<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/code.svg' width='40' height='40' /></div><br/>Format form data to Google D.."]
n4["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Replace data in Google Doc"]
n0 --> n1
n2 --> n3
n1 --> n2
n3 --> n4
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 n0 trigger
class n4 api
class n2,n3 code
classDef customIcon fill:none,stroke:none
class n0,n2,n3,n4 customIcon
Problemet: avtal fastnar i kopiera-klistra-in-limbo
Dokumentmallar ska göra livet enklare. I praktiken skapar de ofta en annan typ av merjobb: öppna mallen, klistra in svar från ett formulär eller en mejltråd, formatera några fält och hoppas att du inte missade kundens adress eller råkade byta en siffra i fakturatotalen. Sedan sparar du den någonstans “tillfälligt”, byter namn senare och försöker komma ihåg vilken version du faktiskt skickade. Multiplicera det med en handfull avtal eller onboarding-paket varje vecka och du lägger verklig tid på arbete som inte tillför något värde.
Friktionen byggs dessutom på, eftersom varje manuellt steg bjuder in förseningar eller misstag.
- Att kopiera formulärsvar till en Google Docs-mall tar cirka 15 minuter per dokument när du räknar in formateringskontroller.
- Ett enda fel fält (som en e-postadress eller ett datum) kan starta en fram-och-tillbaka-tråd som drar ut ett “snabbt avtal” till en heldagsuppgift.
- Mallar glider över tid, så “senaste versionen” blir en gissningslek mellan mappar och kollegor.
- Filnamn och Drive-struktur hoppas över när det är stressigt, vilket gör det smärtsamt att hitta rätt senare.
Lösningen: fyll automatiskt en Google Docs-mall från formulärdata
Det här arbetsflödet förvandlar formulärinskick till färdiga Google Docs automatiskt. Det startar när någon skickar in ditt formulär (byggt i n8n, eller mappat från en annan källa). Flödet duplicerar en Google Docs-mall i Google Drive, så originalet förblir orört. Därefter strukturerar det inskickad data till en felfri payload och förbereder sedan en uppsättning “sök och ersätt”-förfrågningar som matchar dina mallvariabler (platshållarna {{variable}}). Till sist skickar det ersättningsinstruktionerna till Google Docs API via en HTTP-begäran, så att det nya dokumentet fylls med rätt värden och sparas där du vill ha det.
Enkelt uttryckt: ett nytt formulärsvar skapar en ny kopia av din mall, fyller varje platshållare med de inskickade svaren och lämnar dig med ett färdigt dokument i Google Drive. Ingen dokumentpassning. Ingen omknappning.
Det du får: automatisering vs. resultat
| Vad arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du skapar 10 kundavtal i veckan. Manuellt kanske du lägger cirka 15 minuter på att kopiera och kontrollera detaljer per avtal, plus ytterligare 5 minuter på att spara, namnge och arkivera det, alltså ungefär 3 timmar i veckan. Med det här flödet lägger du cirka 2 minuter på att säkerställa att dina mallvariabler matchar dina formulärfält, och sedan skapar varje ny inskickning ett ifyllt dokument automatiskt. I praktiken landar du på en snabb genomläsning innan du skickar, vilket är närmare 10 minuter totalt under veckan.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för självhosting om du föredrar det (Hostinger fungerar bra)
- Google Drive för att lagra mallar och genererade dokument.
- Åtkomst till Google Docs API för att göra variabelersättningar i dokumentet.
- Google OAuth-inloggningsuppgifter (skapa dem i Google Cloud Console).
Svårighetsnivå: Medel. Du kopplar Google-inloggningar och bekräftar att dina mallvariabler matchar dina formulärfält.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett formulärinskick triggar allt. Flödet startar när ditt n8n-formulär skickas in (eller när du mappar in en annan formulärkälla till samma fält). Inskicket blir dokumentets “single source of truth”.
Din mall dupliceras i Google Drive. n8n skapar en ny kopia av din Google Docs-mall så att du aldrig skriver över originalet, och varje kund får sitt eget dokument.
Svaren struktureras och översätts till ersättningar. Ett kodsteg omformar formulär-payloaden, och ett annat kodsteg skapar de exakta ersättningsförfrågningar som behövs för platshållare som {{client_name}} och {{start_date}}.
Google-dokumentet uppdateras via API:et. Flödet skickar ersättningsinstruktionerna via en HTTP-begäran till Google Docs API, så att den kopierade filen fylls i och är redo för nästa steg (dela, mejla, exportera, arkivera).
Du kan enkelt ändra datakällan för att hämta från ett API i stället för ett formulär, beroende på behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera formulärtriggern
Konfigurera formuläret så att inskick startar arbetsflödet och tillhandahåller data som används för att fylla dokumentmallen.
- Lägg till noden Incoming Form Trigger och ställ in Form Title till
Form. - I Form Fields lägger ni till ett fält med Field Label inställt på
nameoch aktiverar Required Field. - Behåll triggern kopplad till Duplicate Template File så att formulärinskick omedelbart startar processen för dokumentgenerering.
Steg 2: anslut Google Drive
Konfigurera steget för mallkopiering som skapar ett nytt dokument för varje inskick.
- Öppna Duplicate Template File och ställ in Operation till
copy. - Ställ in Name till
={{ $json.name }}för att namnge varje kopia med formuläretsname-värde. - Välj er mall i File ID (ersätt
[YOUR_ID]med det faktiska Google Drive-fil-ID:t). - Inloggningsuppgifter krävs: Anslut era
googleDriveOAuth2Api-uppgifter.
{{name}} så att ersättningssteget kan hitta och uppdatera dem.Steg 3: konfigurera bearbetningsnoderna
Dessa kodnoder omformar formulärdata och bygger batch update-begäranden för Google Docs.
- I Structure Form Payload behåller ni den angivna JavaScript Code som samlar formulärfälten i
webhook_data. - Bekräfta att Structure Form Payload körs efter Duplicate Template File så att ID:t för den kopierade filen är tillgängligt senare i flödet.
- I Prepare Doc Update Requests behåller ni den angivna JavaScript Code som mappar platshållare till
replaceAllText-begäranden. - Säkerställ att Prepare Doc Update Requests är kopplad till Apply Doc Replacements för att skicka vidare den genererade arrayen med begäranden.
`{{${data.key}}}` i Prepare Doc Update Requests så att det matchar.Steg 4: konfigurera begäran för dokumentuppdatering
Skicka batch update-begäran till Google Docs API med det nyligen duplicerade dokument-ID:t.
- Öppna Apply Doc Replacements och ställ in Method till
POST. - Ställ in URL till
=https://docs.googleapis.com/v1/documents/{{ $('Duplicate Template File').first().json.id }}:batchUpdate. - Aktivera Send Body och ställ in body-parametern requests till
={{ $json.data }}. - Inloggningsuppgifter krävs: Anslut era
googleDocsOAuth2Api-uppgifter.
Steg 5: testa och aktivera ert arbetsflöde
Verifiera flödet från början till slut och aktivera det sedan för skarpa formulärinskick.
- Klicka på Execute Workflow och skicka in en testpost i Incoming Form Trigger.
- Bekräfta att Duplicate Template File skapar ett nytt Google Doc och att Apply Doc Replacements returnerar ett lyckat API-svar.
- Öppna det nyligen skapade dokumentet och verifiera att platshållare (t.ex.
{{name}}) ersattes med formulärvärden. - När ni är nöjda, växla arbetsflödet till Active så att det körs automatiskt vid nya formulärinskick.
Vanliga fallgropar
- Google Drive-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera Google-kopplingen i n8n under Credentials och bekräfta att kontot har åtkomst till mallfilen.
- Om dina platshållare i mallen inte matchar dina formulärfält exakt (inklusive klamrar som {{client_name}}) kommer ersättningar att “godkännas” men inget ändras i dokumentet.
- HTTP-begäranden till Google Docs API kan misslyckas om request body är lite fel. När det händer, granska körningsdata i n8n och verifiera att doc ID från den duplicerade filen skickas in i uppdateringsanropet.
Vanliga frågor
Cirka 30 minuter om dina Google-inloggningsuppgifter är klara och dina mallvariabler redan är definierade.
Nej. Du kopplar Google-konton och mappar fält till mallvariabler. Arbetsflödet hanterar redan ersättningslogiken åt dig.
Ja. n8n har ett gratis alternativ för självhosting och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volymer. Du behöver också räkna med Googles användning (vanligtvis försumbar vid normala dokumentvolymer).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och klarar n8n bra. Självhosting ger dig obegränsade körningar, men kräver grundläggande serverhantering.
Ja, men du vill justera hur du strukturerar payloaden. De flesta redigerar kodsteget “Structure Form Payload” för att bygga en lista (till exempel flera tjänster) och uppdaterar sedan “Prepare Doc Update Requests” så att det ersätter antingen ett enda platshållarblock eller en upprepad sektion. Vanliga anpassningar är att lägga till beräknade totalsummor, infoga valfria klausuler baserat på kryssrutor och ändra mapp- eller filnamnsregeln i Google Drive. Om du kan beskriva mallens upplägg är det oftast enkelt att anpassa.
Oftast beror det på utgångna eller felaktiga OAuth-inloggningsuppgifter i n8n. Återanslut Google Drive-inloggningen och bekräfta sedan att det kopplade Google-kontot faktiskt kan öppna mallfilen i Drive. Om det fortfarande misslyckas kan filen ligga i en delad enhet, och då behöver din OAuth-app rätt scope och åtkomst.
Många – i praktiken begränsas det av din n8n-plan och hur snabbt Google API svarar.
För Google Docs-mallar är n8n ofta det mer flexibla valet eftersom du kan forma payloaden i kod, bygga komplex ersättningslogik och självhosta för höga volymer utan att betala per uppgift. Zapier och Make kan fungera, men Google Docs-flöden i stil med “ersätt i mall” blir ofta flerstegsscenarier som blir dyra och ändå känns rigida. En annan faktor är felsökning: n8n:s körningshistorik gör det enklare att se exakt vilken ersättning som misslyckades och varför. Om du vill ha en enkel “tvåstegs”-automation kan Zapier räcka. Om du vill ha en pålitlig dokumentpipeline är n8n ett säkrare val. Prata med en automationsexpert om du är osäker på vad som passar.
När det här väl rullar slutar “göra avtalet” att vara en uppgift. Det blir bara den naturliga konsekvensen av att samla in rätt information.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.