Din lead-lista ser bra ut. Sedan klickar du in och inser att halva raderna saknar riktiga beslutsfattare, e-postadresserna är inaktuella och telefonnummer är tomma. Nu är du tillbaka i copy‑paste-jakten.
Det är precis vad automatisering för Apollo Sheets enrichment är byggd för. BDR:er tappar timmar på att jaga inköpskontakter, och growth ops-team fastnar i att barnvakta ”enrichment” som aldrig förblir felfri. Även små team som gör outbound på deltid märker det, eftersom uppföljningsfönstret är kort.
Det här flödet hämtar företag från Google Sheets, hittar relevanta personer i Apollo med hjälp av Company ID, skriver tillbaka verifierade kontaktuppgifter i ditt ark och pingar Telegram så teamet vet att det är klart. Du ser exakt hur flödet fungerar, vad du behöver och var team oftast går snett.
Så fungerar den här automatiseringen
Hela n8n-workflowen, från trigger till slutligt resultat:
n8n Workflow Template: Apollo till Google Sheets: verifierade leads klara
flowchart LR
subgraph sg0["Run Every X Minutes Flow"]
direction LR
n0@{ icon: "mdi:database", form: "rounded", label: "Get Apollo Company ID", pos: "b", h: 48 }
n1@{ icon: "mdi:play-circle", form: "rounded", label: "Run Every X Minutes", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Define Search Settings", pos: "b", h: 48 }
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/>Build Search Filters"]
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/>Search People in Apollo"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check if Any People Found", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Process Each Person One by One", pos: "b", h: 48 }
n7["<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/>Get Person Contact Details"]
n8@{ icon: "mdi:database", form: "rounded", label: "Save Person to Google Sheet", pos: "b", h: 48 }
n9@{ icon: "mdi:database", form: "rounded", label: "Mark Company as Processed", pos: "b", h: 48 }
n10@{ icon: "mdi:database", form: "rounded", label: "Mark Company as Processed (N..", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Pause Before Next Run", pos: "b", h: 48 }
n1 --> n0
n3 --> n4
n0 --> n2
n11 --> n0
n2 --> n3
n4 --> n5
n5 --> n6
n5 --> n10
n7 --> n8
n8 --> n9
n6 --> n7
n10 --> n11
end
subgraph sg1["Flow 2"]
direction LR
n16["<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/webhook.dark.svg' width='40' height='40' /></div><br/>Receive Lead (Group 1)"]
n17@{ icon: "mdi:database", form: "rounded", label: "Save Lead Phone to Sheet", pos: "b", h: 48 }
n18["<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/telegram.svg' width='40' height='40' /></div><br/>Notify: Success"]
n16 --> n17
n17 --> n18
end
subgraph sg2["Catch Workflow Error Flow"]
direction LR
n13@{ icon: "mdi:play-circle", form: "rounded", label: "Catch Workflow Error", pos: "b", h: 48 }
n14["<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 Error Message"]
n15["<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/telegram.svg' width='40' height='40' /></div><br/>Send Alert to Telegram"]
n13 --> n14
n14 --> n15
end
subgraph sg3["Flow 4"]
direction LR
n12["<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/>Title Converter"]
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 n1,n13 trigger
class n5 decision
class n0,n8,n9,n10,n17 database
class n4,n7,n16 api
class n3,n14,n12 code
classDef customIcon fill:none,stroke:none
class n3,n4,n7,n16,n18,n14,n15,n12 customIcon
Problemet: enrichment som är långsam, stökig och svår att lita på
När din outbound-lista ligger i ett kalkylark blir ”data enrichment” ofta en veckoritual av flikar, filter och att hoppas att ingen skrev över fel rad. Du letar efter inköpstitlar, kopierar in detaljer i Sheets och gör sedan om det för nästa företag. Under tiden börjar säljarna prospektera med det som råkar finnas, vilket oftast betyder generiska inkorgar, studsade mejl och fel senioritet. Det handlar inte bara om tid. Det är den mentala belastningen av att aldrig vara säker på att listan faktiskt är redo för outreach.
Det eskalerar snabbt. Här är var det brukar fallera.
- Att kopiera kontakter till Sheets för hand bjuder in små fel som i tysthet saboterar sekvenser senare.
- Utan filtrering på titel och e-poststatus enrichar du massor av personer som du aldrig kommer att mejla.
- Team bearbetar samma företag igen eftersom det saknas en pålitlig ”klar”-markering i arket.
- Utan notifieringar upptäcker du misslyckanden först när säljarna klagar på att arket är tomt.
Lösningen: Apollo-enrichment som skriver verifierade kontakter tillbaka till Sheets
Det här flödet gör ett enkelt kalkylark med ”företagslista” till en stabil enrichment-pipeline. Det körs schemalagt, hämtar obearbetade företag från Google Sheets och använder Apollos API för att hitta personer kopplade till varje företag (baserat på Company ID). Innan det frågar bygger det smartare filter så att du inte drar in alla och hoppas på det bästa: det separerar senioritet från kärntitlar, tillämpar regler för e-poststatus och fokuserar på roller inom inköp/upphandling. När det hittar träffar anropar det Apollo igen för att hämta fullständiga kontaktuppgifter och skriver sedan verifierade e-postadresser och telefonnummer till ditt inköpsark. Om det inte finns några personer för ett företag markerar det företaget som ”inga träffar” så att du inte slösar en till körning på det.
Flödet startar med en schemalagd körning som kontrollerar ditt ark efter företag som fortfarande behöver enrichment. Apollo gör grovjobbet (sökning, sedan matchning för detaljerad kontaktdata). Till sist uppdateras Google Sheets och Telegram skickar en ”klart”-ping, medan en separat felväg larmar om något går sönder.
Det du får: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att ditt ark har 50 målföretag och att du vill ha 2 inköpskontakter per företag. Manuellt, även med cirka 10 minuter för att hitta och verifiera varje kontakt, blir det ungefär 1 000 minuter (cirka 16 timmar) av research och copy‑paste. Med det här flödet lägger du cirka 10 minuter på att sätta titlar/senioritet en gång, och sedan enrichar varje schemalagd körning företag i bakgrunden medan du jobbar. Du kollar arket senare och de verifierade e-postadresserna och telefonnumren finns redan där, plus ett Telegram-meddelande som bekräftar vad som uppdaterades.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för din företagslista och utmatningsrader.
- Apollo för att enrika personer via Company ID.
- Telegram för lyckade- och fellarm till ditt team.
- Apollo API-nyckel (hämta den i Apollos API-inställningar i ditt konto).
- Telegram bot-token (hämta den från BotFather i Telegram).
Svårighetsgrad: Mellannivå. Du kopplar in behörigheter, klistrar in API-nycklar och ändrar några filtervärden på ett säkert sätt.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
En schemalagd kontroll hämtar nästa batch. n8n kör var X:e minut och läser ditt Google Sheet efter företag som ännu inte är markerade som bearbetade. Det håller pipelinen rullande utan att någon behöver komma ihåg att ”köra enrichment”.
Dina titel- och e-postregler görs om till sökfilter. Lite logik normaliserar titlar (så att ”Head of Procurement” och ”Procurement Head” hamnar i rätt kategori) och sätter ihop Apollo-parametrar som senioritet, titel-nyckelord och tillåten e-poststatus.
Apollo hittar personer och enrichar dem. Först använder det Apollos personsök för att hämta sannolika träffar för företaget. Sedan loopar det igenom varje person och anropar match-endpointen för att hämta fulla detaljer som verifierade e-postadresser och telefonnummer.
Sheets uppdateras och teamet får en notis. Enrikade kontakter skrivs in i ditt ark ”Purchasing / Procurement Roles”, företagsraden flaggas som klar (eller utan träff) och Telegram skickar en bekräftelse. Om en körning misslyckas skickar en fel-trigger-väg en Telegram-varning så att du kan fixa det snabbt.
Du kan enkelt ändra målroller och regler för e-poststatus så att det passar din ICP och dina compliance-krav. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera triggern för schemalagt intervall
Ställ in automationskadensen så att workflowet regelbundet hämtar företag för enrichment.
- Lägg till och öppna Scheduled Interval Trigger för att definiera när workflowet körs.
- Välj schemamönster som matchar er enrichment-frekvens (t.ex. varje timme eller dagligen).
- Bekräfta att triggern är kopplad till Retrieve Apollo Company IDs som första nedströms nod.
Steg 2: anslut Google Sheets
Workflowet läser företags-id:n och skriver enrichade kontakter samt statusuppdateringar till Google Sheets.
- Öppna Retrieve Apollo Company IDs och välj kalkylarket och fliken som innehåller era företags-id:n.
- Öppna Store Person in Sheet och mappa utdatafälten till era kolumner i kontaktdatabasen.
- Öppna Flag Company Completed och Flag Company No Matches för att uppdatera statusfält i er företagslista.
- Öppna Record Lead Phone för att spara inkommande webhook-leads i ert lead-ark.
- Credential Required: Anslut era Google Sheets-inloggningsuppgifter till alla Google Sheets-noder (5 noder hanterar företags-id:n, enrichade kontakter, statusflaggor och registrering av lead-telefonnummer).
⚠️ Vanlig fallgrop: Om ni inte konfigurerar spreadsheet-id:n och intervall kommer Google Sheets-noderna att köras men returnera tom data. Säkerställ att varje nod pekar på rätt flik och kolumner.
Steg 3: konfigurera sök- och enrichment-bearbetningen
Dessa noder bygger Apollos sökfilter, anropar API:t och delar upp resultaten till individuella personposter.
- Konfigurera Configure Search Options för att definiera de grundläggande sökparametrarna som används vid personuppslag.
- Granska Assemble Search Filters för att säkerställa att den korrekt bygger den slutliga API-request-payloaden baserat på era sökalternativ.
- Öppna Apollo People Lookup och ställ in HTTP-metod, URL och autentiseringsmetod som krävs av Apollos API.
- Använd Verify People Results för att kontrollera om det finns träffar och routa resultaten därefter.
- Verify People Results skickar utdata parallellt till både Iterate Person Records och Flag Company No Matches.
- Konfigurera Iterate Person Records för att dela upp svarslistan till individuella personer för vidare bearbetning nedströms.
- Konfigurera Fetch Person Contact Info för att hämta detaljerad kontaktinformation för varje personpost.
- Valfritt: Använd Utility: Title Normalizer för att standardisera jobbtitlar innan de sparas, om er datamodell kräver konsekventa värden.
⚠️ Vanlig fallgrop: HTTP request-noderna har inte konfigurerade inloggningsuppgifter. Säkerställ att ni lägger till nödvändig Apollo API-autentisering (t.ex. headers eller query keys) direkt i Apollo People Lookup och Fetch Person Contact Info.
Steg 4: konfigurera utdata och notifieringar
Spara enrichade kontakter, markera företagsstatus och skicka notifieringar för inkommande leads.
- Bekräfta att Fetch Person Contact Info är kopplad till Store Person in Sheet för att spara individuella kontaktposter.
- Verifiera att Store Person in Sheet skickar utdata till Flag Company Completed för att markera lyckad enrichment.
- Bekräfta att Flag Company No Matches skickar utdata till Delay Before Next Cycle för att pausa innan nästa uppslagscykel för företag.
- Öppna Delay Before Next Cycle och definiera väntetiden som styr er bearbetningstakt.
- Sätt upp flödet för inkommande leads: Incoming Lead Webhook → Record Lead Phone → Telegram Success Notice.
- Credential Required: Anslut era Telegram-inloggningsuppgifter till Telegram Success Notice för aviseringar om lead-bekräftelse.
Tips: Använd test-URL:en från Incoming Lead Webhook när ni validerar er endpoint för lead-insamling, och byt sedan till produktions-URL:en efter aktivering.
Steg 5: lägg till felhantering
Fånga workflow-fel och avisera ert team via Telegram.
- Bekräfta att Error Capture Trigger är aktiverad för att lyssna efter workflow-fel.
- Granska Compose Error Alert för att formatera ett hjälpsamt diagnostikmeddelande.
- Konfigurera Send Telegram Warning för att leverera felmeddelanden till er angivna Telegram-chatt.
- Credential Required: Anslut era Telegram-inloggningsuppgifter till Send Telegram Warning.
⚠️ Vanlig fallgrop: Om Telegram-inloggningsuppgifter saknas kommer fel inte att levereras och incidenter kan gå obemärkta förbi. Validera denna väg innan ni går live.
Steg 6: testa och aktivera ert workflow
Kör kontrollerade tester för att bekräfta att varje gren bearbetar data korrekt, och aktivera sedan workflowet för produktionsanvändning.
- Klicka på Execute Workflow och bekräfta att Scheduled Interval Trigger startar flödet.
- Kontrollera att Retrieve Apollo Company IDs hämtar företagsposter och att nedströmsnoder fylls i sekvens.
- Validera att lyckade matchningar sparar kontakter i Store Person in Sheet och uppdaterar Flag Company Completed.
- Testa ett fall utan träff för att säkerställa att Flag Company No Matches körs och att Delay Before Next Cycle väntar som förväntat.
- Trigga Incoming Lead Webhook med exempeldata och bekräfta att raden skrivs och att Telegram Success Notice skickas.
- Introducera ett kontrollerat fel (t.ex. ogiltig API-nyckel) och verifiera att vägen Error Capture Trigger → Compose Error Alert → Send Telegram Warning körs.
- När allt är verifierat, växla workflowet till Active för produktionsanvändning.
Vanliga fallgropar
- Apollo-behörigheter kan löpa ut eller kräva specifika rättigheter. Om något går sönder, kontrollera först din Apollo API-nyckel och dina planbegränsningar i Apollos API-inställningar.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera utdata i all oändlighet.
Vanliga frågor
Cirka 30 minuter om dina behörigheter för Sheets, Apollo och Telegram är klara.
Nej. Du kopplar konton och justerar några filtervärden. Kodnoderna är redan byggda och behöver oftast inga ändringar.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 $/månad för högre volym. Du behöver också räkna in Apollo API-användning baserat på din plan.
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.
Ja, och det är en av de bästa justeringarna du kan göra. Uppdatera personernas titlar och senioriteter i logiken ”Define Search Settings” och ”Title Normalizer/Converter” så att Apollo söker efter de roller du bryr dig om (till exempel ”IT Manager” i stället för ”Procurement Manager”). Du kan också ändra tillåtna contact_email_status-värden för att vara striktare eller mer tillåtande beroende på hur mycket studs du tolererar. De flesta team behåller inköp som en preset och klonar flödet för andra avdelningar.
Oftast beror det på en ogiltig eller utgången Apollo API-nyckel, eller att nyckeln saknar åtkomst till de endpoints som anropas. Kontrollera headers i HTTP Request-noden och bekräfta sedan din Apollo-plan och dina rate limits. Om felen bara händer vid större körningar kan det också vara throttling, vilket betyder att du bör minska batch-storleken och lägga in längre väntetid mellan cykler.
Några hundra företag per dag är realistiskt för de flesta upplägg, så länge dina Apollo-gränser och din batch-storlek är rimliga.
För det här användningsfallet är n8n oftast ett bättre val eftersom flödet behöver loopar, förgrening när inga personer hittas och enrichment i flera anrop (sökning, sedan matchning) utan att du betalar extra för varje villkorsstyrd väg. Egen hosting är också viktigt, särskilt när du bearbetar listor regelbundet och inte vill räkna varje task. Zapier eller Make kan fortfarande fungera om du enrichar en väldigt liten lista och föredrar ett enklare UI, men kostnaderna brukar öka när du lägger till batchning och felhantering. Om du är osäker, prata med en automationsexpert så kvalitetssäkrar vi upplägget tillsammans med dig.
När det här väl rullar slutar arket vara ett ”projekt” och blir en pipeline. Flödet sköter den repetitiva enrichmenten, och ditt team kan fokusera på outreach som faktiskt ger träff.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.