Du kör ett webbinar, rummet är fullt, och sedan börjar det riktiga jobbet. Exportera deltagare, rensa e-postadresser, ta reda på vem som stannade… och hoppas att du inte missade de hetaste leadsen.
Den här Zoom KlickTipp-taggningsautomationen slår hårdast mot marknadschefer, men kurskreatörer och byråägare känner av den också. Du får segmenterade kontakter i KlickTipp baserat på tittartid, så att uppföljningen matchar intent istället för gissningar.
Nedan ser du exakt hur flödet körs, vad det automatiserar och vad du kan justera (som 90%-tröskeln för “full närvaro”) för att passa din funnel.
Så fungerar den här automationen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Zoom + KlickTipp: tagga webbinarleads efter tittartid
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Crypto", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Build Validation Body", 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/webhook.dark.svg' width='40' height='40' /></div><br/>Respond to Webhook (Validati.."]
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Build Normal Event Body", pos: "b", h: 48 }
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/webhook.dark.svg' width='40' height='40' /></div><br/>Respond to Webhook (Events)"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "URL Validation check", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Tag participant with full at..", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Tag participant for full att..", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter internal users", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split webinar participants", pos: "b", h: 48 }
n10@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Route by webinar name", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check full attendance", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check full attendance1", pos: "b", h: 48 }
n13@{ icon: "mdi:cog", form: "rounded", label: "Wait 1 second", 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/webhook.dark.svg' width='40' height='40' /></div><br/>Listen to ending Zoom meetings"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Get past Zoom meeting partic.."]
n16@{ icon: "mdi:cog", form: "rounded", label: "Subscribe participant", pos: "b", h: 48 }
n17@{ icon: "mdi:cog", form: "rounded", label: "Subscribe participant1", pos: "b", h: 48 }
n0 --> n1
n13 --> n15
n5 --> n0
n5 --> n3
n1 --> n2
n11 --> n7
n8 --> n10
n10 --> n16
n10 --> n17
n16 --> n11
n12 --> n6
n17 --> n12
n3 --> n4
n9 --> n8
n4 --> n13
n14 --> n5
n15 --> n9
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 n5,n8,n10,n11,n12 decision
class n2,n4,n14,n15 api
classDef customIcon fill:none,stroke:none
class n2,n4,n14,n15 customIcon
Problemet: uppföljning efter webbinar är ofta dåligt segmenterad
De flesta webbinar-funnels faller isär direkt efter sliden “Tack för att du kom”. Du har datan i Zoom, men den finns inte i systemet du faktiskt marknadsför från. Så någon exporterar en CSV, någon annan importerar den, och sedan behöver du ändå besvara frågan som spelar roll: vem tittade och vem droppade? Under tiden hinner dina bästa prospekt svalna eftersom uppföljningen inte matchar vad de gjorde. Det är inte svårt arbete. Det är bara konstant arbete.
Och misstagen är lömska. En felaktig import, en dubbellista, en missad deltagare. Friktionen byggs på.
- Närvarodata ligger i Zoom, medan din uppföljning ligger i KlickTipp, vilket tvingar fram en manuell brygga varje gång.
- Personer som stannade nästan hela tiden får samma mejl som personer som lämnade efter fem minuter.
- Återkommande webbinar skapar återkommande rutinjobb, och det är lätt att glömma en vecka eller tagga fel grupp.
- Interna deltagare (värdar, teammedlemmar, testmejl) smiter ofta in i kampanjer och snedvrider din rapportering.
Lösningen: Zoom → KlickTipp-segmentering efter tittartid
Det här flödet lyssnar efter att ett Zoom-webbinar avslutas, hämtar automatiskt deltagarlistan från Zoom och synkar varje deltagare till KlickTipp. När varje person behandlas beräknar det hur länge de deltog jämfört med hela mötets längd. Om de når tröskeln (satt till 90% i det här flödet) får de en tagg för “full närvaro”; annars taggas de som generell deltagare. Det routar också personer baserat på webbinariets ämne, så att din “Anfänger”-session kan tagga och segmentera annorlunda än din “Experten”-session. Slutresultatet är en felfri, korrekt lista i KlickTipp utan exporter, kalkylbladsrensning eller fördröjd uppföljning.
Flödet startar med en Zoom-webhook för meeting.ended och validerar anropet, så att slumpmässiga anrop inte kan trigga din automation. Efter en kort väntan hämtar det deltagare från tidigare möte, filtrerar bort interna användare, och upsertar sedan kontakter i KlickTipp och applicerar rätt taggar baserat på ämne och tittartid.
Vad du får: automation vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du kör två webbinar per vecka och att du vanligtvis gör tre manuella steg efter varje: export från Zoom (cirka 10 minuter), rensa CSV:n (cirka 20 minuter), och sedan importera och tagga i KlickTipp (ytterligare cirka 20 minuter). Det är ungefär 1 timme per webbinar, alltså cirka 2 timmar i veckan. Med det här flödet är ditt “jobb” i princip noll efter att eventet är slut: Zoom triggar, n8n väntar en sekund, och KlickTipp uppdateras automatiskt. Du granskar fortfarande resultat, men copy-paste-delen försvinner.
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)
- Zoom för att skicka webhookar när webbinariet avslutas
- KlickTipp för att lagra prenumeranter och applicera taggar
- Zoom OAuth-inloggningsuppgifter (skapa dem i Zoom App Marketplace)
Kunskapsnivå: Medel. Du kopplar Zoom OAuth, lägger till webhook-inställningar och mappar fält/taggar i KlickTipp.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Zoom avslutar webbinariet och pingar n8n. Flödet lyssnar på eventet meeting.ended, vilket gör att segmenteringen bara körs när sessionen faktiskt är klar.
Webhook-validering bekräftar att det verkligen är Zoom. Zoom skickar en engångsvalidering av URL och vanliga signerade event. n8n kontrollerar HMAC-signaturen, returnerar den förväntade valideringspayloaden vid behov och bekräftar normala event med ett enkelt “ok”.
Deltagare hämtas, delas upp och rensas. Efter en kort fördröjning (en sekund) anropar flödet Zooms endpoint för deltagare i tidigare möten, expanderar listan till en deltagare per item och filtrerar sedan bort interna användare som värden eller ditt team.
KlickTipp uppdateras och taggas efter intent. Deltagare routas efter mötets ämne (till exempel Anfänger vs. Experten), därefter upsertas varje kontakt i KlickTipp och taggas som “deltog” eller “deltog fullt” baserat på 90%-kontrollen av tittartid.
Du kan enkelt justera närvarotröskeln för att vara striktare eller mer generös beroende på din säljcykel. 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 Zoom skickar en ”meeting ended”-händelse till er webhook-endpoint.
- Lägg till noden Zoom Ended Webhook och ställ in HTTP Method på
POST. - Ställ in Path på
0149ebe4-2dd9-420d-af7c-d60439f22451och Response Mode påresponseNode. - I Zoom registrerar ni denna webhook-URL så att den levererar ”meeting ended”-händelser till er n8n-endpoint.
Steg 2: Sätt upp svar för validering av endpoint
Zoom kräver validering av endpoint; den här grenen beräknar en hash och svarar med en valideringspayload.
- Konfigurera Endpoint Validation Gate så att den kontrollerar att Left Value
{{ $json.body.event }}är lika medendpoint.url_validation. - I Hash Token Processor ställer ni in Type på
SHA256, Action påhmacoch Value på{{ $json.body.payload.plainToken }}. - Ersätt Secret i Hash Token Processor med er Zoom-webhook-hemlighet (för närvarande
[CONFIGURE_YOUR_API_KEY]). - I Assemble Validation Payload ställer ni in plainToken på
{{ $json.body.payload.plainToken }}och encryptedToken på{{ $json.data }}, med Keep Only Set aktiverat. - Koppla Assemble Validation Payload till Return Validation Reply för att skicka valideringssvaret tillbaka till Zoom.
Steg 3: Bekräfta händelser och hämta deltagare
För händelser som inte är validering bekräftar arbetsflödet Zoom direkt, väntar kort och begär därefter deltagare från avslutade möten.
- Från den icke-validerande utgången på Endpoint Validation Gate kopplar ni till Compose Event Response och sätter status till
okmed Keep Only Set aktiverat. - Koppla Compose Event Response till Send Event Acknowledgment för att svara Zoom omedelbart.
- Ställ in Delay 1s till Amount
1före anropet för att hämta deltagare. - I Retrieve Past Meeting Attendees ställer ni in URL till
https://api.zoom.us/v2/past_meetings/{{ $('Zoom Ended Webhook').item.json.body.payload.object.uuid }}/participants. - Inloggningsuppgifter krävs: Anslut era zoomOAuth2Api-credentials i Retrieve Past Meeting Attendees.
Steg 4: Normalisera och filtrera deltagarposter
Det här steget expanderar deltagare och filtrerar bort interna deltagare före routning per session.
- I Expand Participant Records ställer ni in Field to Split Out till
participants. - Konfigurera Exclude Internal Attendees så att den filtrerar på Left Value
{{ $('Expand Participant Records').item.json.internal_user }}med booleska operatorn satt tilltrue. - Koppla Exclude Internal Attendees till Route by Session Title för att börja segmenteringen baserad på ämne.
Steg 5: Routen per webbinariesession och upsert:a kontakter
Deltagare routas baserat på webbinariets titel och upsert:as sedan till KlickTipp-listor med namnparsning.
- I Route by Session Title säkerställer ni att den första regeln matchar att
{{ $('Zoom Ended Webhook').item.json.body.payload.object.topic }}innehållerE-Mail Zustellung für Anfänger. - Säkerställ att den andra regeln matchar att
{{ $('Zoom Ended Webhook').item.json.body.payload.object.topic }}innehållerE-Mail Zustellung für Experten. - I Upsert Attendee Contact A ställer ni in Email till
{{ $json.user_email }}, List ID till[YOUR_ID]och Tag ID till[YOUR_ID]. - Mappa fältet för förnamn till
{{ $json.name.trim().split(" ")[0] }}och fältet för efternamn till{{ ($json.name || '').trim().split(/\s+/).slice(-1)[0] || '' }}i Upsert Attendee Contact A. - Upprepa samma värden för Upsert Attendee Contact B med dess fält Email, List ID och Tag ID.
- Inloggningsuppgifter krävs: Anslut era klickTippApi-credentials i Upsert Attendee Contact A och Upsert Attendee Contact B.
Steg 6: Tillämpa taggar för full närvaro
Närvarotiden jämförs med 90 % av sessionslängden, och taggar för full närvaro tillämpas.
- I Verify 90% Attendance A jämför ni Left Value
{{ $('Expand Participant Records').item.json.duration }}med Right Value{{ $('Zoom Ended Webhook').item.json.body.payload.object.duration * 60 * 0.9 }}. - I Apply Full Attendance Tag A ställer ni in Email till
{{ $json.email }}och Resource tillcontact-tagging. - I Verify 90% Attendance B använder ni samma logik för durationsjämförelse som i A.
- I Apply Full Attendance Tag B ställer ni in Email till
{{ $json.email }}och Resource tillcontact-tagging. - Inloggningsuppgifter krävs: Anslut era klickTippApi-credentials i Apply Full Attendance Tag A och Apply Full Attendance Tag B.
Steg 7: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta Zooms valideringsflöde, hämtning av deltagare och uppdateringar i KlickTipp innan ni slår på arbetsflödet.
- Använd Zoom Ended Webhook i testläge och skicka en exempelpayload för Zoom-webhooken för att trigga flödet.
- Verifiera att Return Validation Reply svarar korrekt när
endpoint.url_validationtas emot. - Bekräfta att Retrieve Past Meeting Attendees returnerar deltagardata och att Expand Participant Records skapar ett item per deltagare.
- Kontrollera att kontakter skapas i KlickTipp via Upsert Attendee Contact A eller Upsert Attendee Contact B, och att taggar för full närvaro tillämpas när 90 %-regeln uppfylls.
- När resultatet matchar förväntningarna växlar ni arbetsflödet till Active för att hantera Zoom-händelser i produktion.
Vanliga fallgropar
- Zoom OAuth-inloggningsuppgifter kan löpa ut eller sakna scopes. Om det skapar fel, kontrollera först scopes i din Zoom-app (läsning av möten + tidigare deltagare) och status för credential-refresh i n8n.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du att redigera output i all evighet.
Vanliga frågor
Räkna med cirka 45 minuter om din Zoom-app och dina KlickTipp-taggar är klara.
Nej. Du kopplar konton, klistrar in Zooms webhook-inställningar och mappar några fält och taggar i KlickTipp.
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 in kostnaderna för din Zoom- och KlickTipp-plan (och eventuella begränsningar för API-åtkomst).
Två alternativ: n8n Cloud (hanterat, enklast) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, men du behöver bygga ut den villkorsstyrda logiken. Behåll befintliga kontroller för “Verifiera 90% närvaro”, och lägg sedan till en If-gren för en lägre tröskel (som “tittade halva”) och peka den mot en annan KlickTipp-taggnod. Du kan också bygga ut Switchen “Routa efter sessionstitel” så att varje webbinarämne får sin egen tagg-uppsättning.
Oftast beror det på saknade scopes eller en OAuth-app som inte är auktoriserad på det sätt du tror. Kontrollera Zoom-appens scopes för att läsa möten och tidigare deltagare, och autentisera sedan om Zoom-uppgifterna i n8n. Håll också koll på egenheter med webinar-UUID i “past_meetings”-anrop, eftersom Zoom kan returnera ett not-found-fel om fel ID-format används. Om det fallerar direkt i början kan det vara webhook-valideringen: säkerställ att HMAC-hemligheten matchar det Zoom förväntar sig.
Hundratals per webbinar är normalt, så länge du inte slår i dina Zoom API-gränser och KlickTipp API-gränser.
Ofta, ja, eftersom det här upplägget kräver webhook-validering, förgrening per webbinarämne och regler baserade på varaktighet. n8n hanterar den typen av logik snyggt, och egen hosting kan vara avgörande om du kör många sessioner. Zapier eller Make kan fortfarande fungera om du bara behöver en enkel synk som “lägg till deltagare i lista”, men så fort du vill ha tillförlitlig segmentering kommer du att känna av begränsningarna. Ärligt talat kan kostnaden dra iväg snabbt med hög volym och zaps i flera steg. Vill du ha en second opinion, prata med en automationsexpert.
När det här väl är live slutar dina webbinar att skapa efterarbete. Flödet sköter sortering och taggning, så att din uppföljning kan vara snabb, relevant och ärligt talat mycket mer effektiv.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.