GuideWebhooks & CRM push
Webhooks — push links & engagement to your CRM
On Professional+, Vyrol POSTs signed JSON to your Zapier, Make, or server URL when links go live or prospects engage. Higher tiers add pages and retention — CRM push is part of your Vyrol plan, not a separate upsell. See CRM integrations overview.
Two directions
- Into Vyrol: CSV import on the campaign — see CRM import guide.
- Out to your CRM: Profile → Integrations — webhooks fire on publish and engagement (no CSV round-trip).
Quick setup
- Zapier: Webhooks by Zapier → Catch Hook — copy the URL.
- Vyrol: Profile → Integrations → Add endpoint — paste URL, pick events, save signing secret.
- Click Send test — expect
webhook.test. - Publish a small campaign — each live recipient triggers
campaign.recipient.publishedwithpersonal_url. - Map
data.emailanddata.personal_urlin Zapier → HubSpot (or Salesforce, Pipedrive, Salesloft, etc.).
Recommended events (CRM)
| Event | When |
|---|---|
| campaign.recipient.published | Each live personalised link at publish — `personal_url` for CRM mail merge |
| campaign.recipient.engaged_75 | Prospect watched 75%+ (once per person) |
| campaign.recipient.cta_clicked | CTA button clicked |
| campaign.recipient.callback_requested | Book a demo / callback form on a personalised link |
| funnel.step.published | Page Funnel step went live |
Usually skip campaign.recipient.viewed — it fires on every page open, not once per campaign.
How payloads work
- One POST per event — not one bulk list of all recipients.
- Publish: one
campaign.recipient.publishedper live recipient. - 75% watch: one
campaign.recipient.engaged_75per person, ever. - Silos:
share.page.*(generic pages),campaign.recipient.*(personalised links),funnel.*(Page Funnel steps). - Preview JSON: Recent deliveries → View JSON, or use webhook.site while testing.
Optional / noisy
| campaign.recipient.viewed | Every page open — usually too noisy for CRM; fine for debugging |
| campaign.recipient.watch_updated | Watch milestones 25% / 50% / 100% (once each per person; use engaged_75 for the sales trigger) |
| campaign.recipient.shared | Prospect shared or copied the personalised link |
HubSpot without a Vyrol app
Same outcome as Sendspark/Vidyard CRM triggers: Zapier Catch Hook → Find contact by email → Update field or Create engagement. Native HubSpot OAuth is roadmap when a deal requires it.
More detail: FAQ · CRM import guide

