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

Asana + Google Docs: kundonboarding på rätt sätt

Rickard Andersson Partner, Nodenordic.se

Kundonboarding fallerar på de tråkiga ställena. Du får in formuläret och lägger sedan nästa timme på att kopiera detaljer till Asana, leta upp rätt avtalsmall och dubbelkolla namn och datum eftersom ett enda stavfel räcker.

Det är här byråägare känner friktionen, men ops-chefer och client success-ansvariga lever i den också. Med den här Asana-onboarding-automationen blir en inskickad uppgift till ett projekt som är redo att köras plus ett personligt avtal – utan att skriva in samma info om och om igen.

Du får se hur flödet fångar intakedata, bygger ditt Asana-projekt från en mall, genererar en Google Docs-avtals-PDF, mejlar den, loggar allt och öppnar en Slack-kanal så leveransen kan starta direkt.

Så här fungerar automationen

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

n8n Workflow Template: Asana + Google Docs: kundonboarding på rätt sätt

Varför det här spelar roll: onboarding som faller mellan stolarna

Onboarding ska kännas trygg och organiserad. Men när den är manuell blir det en liten brandövning varje gång: skapa projektet, lägg till samma sektioner, kopiera samma uppgifter, tilldela ansvariga och bygg sedan ett avtal för hand (igen) med detaljer från ett formulär du redan har. Det värsta är alla kontextbyten. Du hoppar mellan formuläret, Asana, Google Docs, e-post och vilket kalkylark du nu “spårar allt” i, och du missar ändå saker eftersom människor missar saker när de har bråttom.

Det blir snabbt mycket. Här är var det brukar gå snett.

  • Att skapa ett kundprojekt från grunden eller från “förra gångens projekt” bjuder in inkonsekvens, och nästa överlämning blir rörig.
  • Avtal blir försenade eftersom någon måste hitta mallen, ersätta platshållare, exportera en PDF och sedan bifoga den i rätt mejltråd.
  • Kunddetaljer hamnar utspridda i flera verktyg, vilket gör att rapportering och prognoser blir en veckovis skattjakt.
  • Internt samarbete startar sent eftersom ingen öppnar Slack-kanalen (eller så öppnas den med fel namn och utan kontext).

Det du bygger: onboarding från intake till projekt med avtalsleverans

Det här flödet startar i samma ögonblick som ett kundintake-formulär skickas in till en webhook. n8n mappar och städar upp inkommande fält (det här flödet hanterar en stor intake-payload med 70+ fält) och skapar sedan ett helt nytt Asana-onboardingprojekt för kunden. Därefter hämtar det sektionerna från ditt Asana-mallprojekt och itererar igenom dem, återskapar strukturen i det nya projektet och kopplar på rätt uppgifter så att teamet får samma konsekventa leveransplan varje gång. När projektet är klart hämtar flödet en Google Docs-avtalsmall, fyller i platshållare med kundens uppgifter, exporterar en PDF och mejlar den via Gmail som ett välformulerat välkomstmeddelande. Slutligen loggar det onboardingposten i Google Sheets för uppföljning och öppnar en dedikerad Slack-kanal så att internt arbete kan starta utan att vänta.

Flödet börjar med en intake-webhook och ett steg för fältmappning så att din data är användbar överallt. Därifrån bygger Asana och HTTP-anrop upp din mallstruktur automatiskt. Google Docs och Google Drive skapar avtals-PDF:en, Gmail skickar den och Google Sheets plus Slack håller teamet organiserat efter överlämningen.

Det du bygger

Förväntade resultat

Säg att du onboardar 5 kunder i veckan. Manuellt ser ett typiskt flöde ut så här: 20 minuter för att bygga Asana-projektet (sektioner, uppgifter, tilldelningar), cirka 15 minuter för att skapa och exportera avtals-PDF:en och ytterligare 10 minuter för att logga detaljer och sätta upp Slack, alltså ungefär 45 minuter per kund. Det är nästan 4 timmar i veckan. Med det här flödet lägger du kanske 5 minuter på att kontrollera intakefälten och klicka på skicka, och väntar sedan på körningen medan allt skapas och skickas. De flesta team får tillbaka ungefär 3 timmar per vecka direkt.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Asana för att skapa projekt, sektioner och uppgifter.
  • Google Docs + Google Drive för att fylla en mall och exportera en PDF.
  • Inloggning/behörigheter för Gmail, Google Sheets och Slack (skapa OAuth/API-åtkomst i varje verktygs utvecklar-/inställningsdel).

Nivå: Medel. Du kommer att koppla konton, klistra in mall-ID:n och testa en webhook-payload.

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

Steg för steg

En kund skickar in ditt intake-formulär. Flödet startar när ditt formulärverktyg skickar payloaden till n8n:s webhook-trigger, som kan ta emot en detaljerad uppsättning onboardingfält.

Intaket mappas till konsekventa fält. n8n normaliserar inkommande data (namn, företag, arvoden, datum, tekniska anteckningar) så att varje efterföljande steg kan lita på samma struktur i stället för stökiga formulärnycklar.

Asana byggs från din mall. Flödet skapar ett nytt kundonboardingprojekt, hämtar mallsektioner via HTTP, loopar igenom dem i batchar och kopplar på rätt uppgifter så att teamet landar i ett välbekant projekt varje gång.

Avtalet skapas och levereras. Google Docs-platshållare fylls med kundspecifika detaljer, dokumentet exporteras till PDF via Google Drive och Gmail skickar ett välkomstmejl med PDF:en bifogad.

Du kan enkelt ändra Asana-mallprojektet och Google Docs-avtalsmallen så att de matchar dina tjänstepaket, namngivningsstandarder och juridiska formuleringar. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera webhook-triggern

Det här arbetsflödet startar när ett kundintagsformulär postar data till en webhook-endpoint.

  1. Lägg till och öppna Intake Webhook Trigger.
  2. Ställ in HTTP MethodPOST.
  3. Ställ in Pathclient-onboard.
  4. Spara noden och kopiera webhook-URL:en till ert intagsformulärs inskick.

Skicka en test-payload från ert formulärverktyg för att verifiera att Intake Webhook Trigger tar emot $json.body-fält innan ni går vidare.

Steg 2: Anslut Asana

Dessa noder skapar onboarding-projektet och kopierar sektioner och uppgifter från ett mallprojekt.

  1. Öppna Generate Asana Project och ställ in Name till ={{ $json.primary_contact_name }} Onboarding . Ersätt [YOUR_TEAM_ID] och [YOUR_WORKSPACE_ID] med era Asana-ID:n. Credential Required: Anslut era Asana OAuth2 API-uppgifter.
  2. Öppna Fetch Template Sections och ställ in URL till =https://app.asana.com/api/1.0/projects/[TEMPLATE_PROJECT_ID]/sections. Credential Required: Anslut era Asana OAuth2 API-uppgifter.
  3. I Add Section to New Project, ställ in URL till =https://app.asana.com/api/1.0/projects/{{ $('Generate Asana Project').item.json.gid }}/sections och JSON Body till ={ "data": { "name": "{{ $json.name }}" } }. Credential Required: Anslut era Asana OAuth2 API-uppgifter.
  4. Öppna Retrieve Section Tasks och ställ in Filters → Section till ={{ $('Iterate Sections Batch').item.json.gid }}. Credential Required: Anslut era Asana OAuth2 API-uppgifter.
  5. Öppna Attach Task to Project och ställ in ID till ={{ $json.gid }} och Project till ={{ $('Add Section to New Project').item.json.data.project.gid }}. Credential Required: Anslut era Asana OAuth2 API-uppgifter.

⚠️ Vanlig fallgrop: Om [TEMPLATE_PROJECT_ID] eller Asana-ID:n inte ersätts kommer Fetch Template Sections och Add Section to New Project att misslyckas med 404-fel.

Steg 3: Sätt upp intagsmappning och sektionsiterering

Det här steget mappar webhook-fält till strukturerad data och itererar Asana-sektioner för att kopiera uppgifter till det nya projektet.

  1. Öppna Map Client Intake och bekräfta nyckeltilldelningar såsom legal_business_name = {{ $json.body.legal_business_name }} och primary_contact_email = {{ $json.body.primary_contact_email }}.
  2. I Split Section List ställer ni in Field To Split Out till data så att varje mallsektion blir ett item.
  3. I Iterate Sections Batch behåller ni standardinställningarna för batch för att loopa igenom varje sektion.
  4. Verifiera flödets ordning: Split Section ListIterate Sections BatchAdd Section to New ProjectRetrieve Section TasksAttach Task to Project.
  5. Observera att Iterate Sections Batch skickar output både till Aggregate Task Results och Add Section to New Project parallellt, vilket gör att itereringen kan fortsätta medan resultaten aggregeras.

Post-it-lappen Flowpast Branding är valfri och påverkar inte körningen – behåll den för dokumentation eller ta bort den om ni vill ha en renare canvas.

Steg 4: Konfigurera generering av avtalsdokument

Dessa noder skapar ett avtal från en Google Docs-mall, fyller i fält och exporterar en PDF.

  1. Öppna Fetch Contract Template och ställ in Document URL till [YOUR_TEMPLATE_DOCUMENT_ID]. Credential Required: Anslut era Google Docs-uppgifter.
  2. Öppna Fill Contract Fields och bekräfta placeholder-ersättningar, såsom replaceText =Client: {{ $('Map Client Intake').item.json.primary_contact_name }} och =Effective Date: {{ $now.format('DD') }}. Credential Required: Anslut era Google Docs-uppgifter.
  3. Öppna Export Contract PDF och ställ in File ID till ={{ $json.documentId }}. Credential Required: Anslut era Google Drive-uppgifter.

⚠️ Vanlig fallgrop: Samma [YOUR_TEMPLATE_DOCUMENT_ID] används i både Fetch Contract Template och Fill Contract Fields – säkerställ att det pekar på en mall som är säker att kopiera, så att originalet inte skrivs över.

Steg 5: Konfigurera output och notifieringar

Dessa noder skickar välkomstmejlet, rensar mall-placeholders, uppdaterar uppföljningsarket och notifierar Slack.

  1. Öppna Dispatch Welcome Email och ställ in Send To till ={{ $('Map Client Intake').item.json.primary_contact_email }}, Subject till =Welcome to Your Onboarding Project {{ $('Map Client Intake').item.json.primary_contact_name }} 🎉, och uppdatera länkar i Message-brödtexten. Credential Required: Anslut era Gmail-uppgifter.
  2. Öppna Clear Template Placeholders och bekräfta ersättningar för placeholder-rensning (t.ex. =Effective Date: {{ $now.format('DD') }}=Effective Date- ). Credential Required: Anslut era Google Docs-uppgifter.
  3. Öppna Update Tracking Sheet och ställ in Document ID till [YOUR_TRACKING_SPREADSHEET_ID], Sheet Name till gid=0, och behåll Operation som appendOrUpdate. Bekräfta att Matching Columns inkluderar legal_business_name. Credential Required: Anslut era Google Sheets-uppgifter.
  4. Öppna Open Slack Channel och ställ in Channel ID till [YOUR_ID] för er teamkanal. Credential Required: Anslut era Slack-uppgifter.

Om ni vill att PDF-avtalet ska bifogas i mejlet, säkerställ att Dispatch Welcome Email använder binär output från Export Contract PDF i avsnittet för bilagor.

Steg 6: Testa och aktivera ert arbetsflöde

Kör ett fullständigt test för att bekräfta att intagsdata skapar Asana-projektet, fyller i avtalet, skickar mejl, uppdaterar arket och öppnar Slack-kanalen.

  1. Klicka på Test Workflow och skicka en exempel-POST-payload till Intake Webhook Trigger med fält som primary_contact_name, primary_contact_email och brand_name.
  2. Bekräfta att Generate Asana Project skapar ett nytt projekt och att sektioner/uppgifter kopieras av Add Section to New Project och Attach Task to Project.
  3. Verifiera att avtalet uppdateras i Fill Contract Fields, laddas ner via Export Contract PDF, och att välkomstmejlet skickas av Dispatch Welcome Email.
  4. Kontrollera er kalkylarksrad i Update Tracking Sheet och verifiera Slack-aktivitet i Open Slack Channel.
  5. När allt fungerar växlar ni arbetsflödet till Active för att aktivera intag i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tips för felsökning

  • Asana-behörigheter är en vanlig stoppkloss. Om sektioner eller uppgifter inte kopieras, bekräfta att din Asana OAuth-anslutning har åtkomst till mallprojektet och kan skapa projekt i den aktuella arbetsytan.
  • Om du använder Wait-noder eller extern rendering varierar körtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Platshållartexten i Google Docs måste matcha exakt. Om fält inte ersätts eller PDF:en ser “halvifylld” ut, kontrollera mallen efter omdöpta tokens och uppdatera mappningen i Fill Contract Fields.

Snabba svar

Hur lång tid tar det att sätta upp den här Asana-onboarding-automationen?

Cirka en timme om du redan har dina Asana- och Google-mallar redo.

Krävs kodning för den här kundonboarding-automationen?

Nej. Du kopplar dina konton, klistrar in några mall-ID:n och testar en webhook-inskickning.

Är n8n gratis att använda för det här arbetsflödet för Asana-onboarding-automation?

Ja. n8n har ett gratis alternativ för egen hosting 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 med kostnader för Google Workspace om du behöver Gmail/Docs/Drive, samt eventuella krav på Asana-plan för ditt team.

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

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

Kan jag ändra det här arbetsflödet för Asana-onboarding-automation för andra användningsfall?

Ja, och det bör du troligen. Byt Asana-mallprojektets ID för olika tjänsteområden, justera steget Map Client Intake för att lägga till eller ta bort fält, och uppdatera platshållarna i Google Docs-mallen så att de matchar ditt avtalsinnehåll. En vanlig justering är att ändra reglerna för namngivning av Slack-kanaler så att kanalerna blir konsekventa (och sökbara) i hela teamet.

Varför misslyckas min Asana-anslutning i det här flödet?

Oftast är det behörigheter eller fel arbetsyta. Återanslut Asana i n8n och bekräfta att användaren har åtkomst till mallprojektet, samt behörighet att skapa projekt och uppgifter där du försöker lägga dem. Kontrollera också HTTP Request-stegen som hämtar sektioner, eftersom ett inaktuellt mallprojekt-ID kan se ut som ett auth-problem när det egentligen är “hittas inte”.

Vilka volymer kan det här arbetsflödet för Asana-onboarding-automation hantera?

För de flesta små team är dussintals onboardingar per vecka realistiskt, eftersom flödet främst väntar på API-anrop. Om du kör egen hosting begränsas du av din server och rate limits i Asana, Google och Slack. I n8n Cloud beror din månatliga körningsgräns på din plan, och varje onboarding kan räknas som flera körningar eftersom skapande av sektioner/uppgifter körs i loopar. Om du väntar dig hög volym, batcha skapandet av sektioner noggrant och testa med några riktiga intakes innan du öppnar kranarna fullt.

Är den här Asana-onboarding-automationen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här flödet behöver loopar, batchning och dokumenthantering i flera steg som kan bli dyrt eller krångligt i andra verktyg. n8n gör det enkelt att iterera över Asana-sektioner, koppla på uppgifter och fortsätta även när en enskild post misslyckas. Du får också ett alternativ för egen hosting om du vill ha obegränsade körningar utan att betala per task. Zapier eller Make kan fortfarande fungera för en lättare version, som “intake-formulär → skapa projekt”. Om du vill att hela kedjan (projekt + avtals-PDF + e-post + loggning + Slack) ska köra stabilt är n8n oftast det lugnare valet. Prata med en automationsexpert om du är osäker.

När det här väl rullar slutar onboarding vara ett återkommande adminprojekt och börjar kännas som ett system. Flödet hanterar uppsättningen, pappersarbetet och loggningen så att du kan gå direkt in i leverans.

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