Zapier integration: send ZenMode events to Zapier
ZenMode POSTs six CRM events to a Zapier Catch Hook URL you paste into settings — outbound only, and there is no ZenMode app in Zapier.
Verified against the product on September 3, 2026 · Updated · Set up in /dashboard/settings
What this integration is
There is no ZenMode app in Zapier's marketplace — no ZenMode triggers, no actions, nothing to search for and connect. The connection is a Zapier Catch Hook URL that you paste into the "Webhooks (Zapier / Make)" card in ZenMode's settings. Once it is saved, ZenMode POSTs a JSON body to that URL every time the event you picked happens in your account, and your Zap takes it from there.
That is what "webhook-mediated" means on this page: a real, shipping webhook producer on ZenMode's side, reaching Zapier through a plain HTTPS URL rather than through a listed app. It runs in one direction only — ZenMode to Zapier.
What it triggers
You pick one trigger per webhook, and you can save as many webhooks as you need. Every delivery
uses the same envelope — a JSON object with event, timestamp and data — and the fields below
are what sits inside data.
| Trigger | Fires when | Fields in data |
|---|---|---|
connection_sent | a connection request goes out to a prospect | contact_id, name, title, company, linkedin_url, campaign_id |
connection_accepted | the prospect accepts the request | contact_id, name, title, company, linkedin_url, campaign_id |
reply_received | the prospect replies | contact_id, name, title, company, linkedin_url, campaign_id |
new_contact | a CRM contact is created that did not already exist | contact_id, name, company, title, linkedin_url, source_campaign_id |
contact_status_changed | a contact's status moves | contact_id, name, old_status, new_status |
deal_stage_changed | a deal moves stage | deal_id, deal_name, contact_id, old_stage, new_stage, value |
Those lists are complete, and the gaps matter. reply_received carries no message text — you get
the person and the campaign, not what they wrote. new_contact fires only when the CRM contact did
not already exist, so re-touching a known contact does not re-fire it. Nothing about opens or
general click tracking is sent, because ZenMode does not collect it.
How to set it up
- In Zapier, create a Zap whose trigger is Webhooks by Zapier, event Catch Hook, and copy the custom webhook URL Zapier gives you.
- Open ZenMode's settings and find the card titled "Webhooks (Zapier / Make)". The URL field
shows a
https://hooks.zapier.com/...placeholder, which is the shape it expects. - Choose one of the six triggers from the dropdown.
- Paste the Catch Hook URL and save the webhook.
- Press Test on the saved row. ZenMode sends a delivery straight away, which is how you get a sample into Zapier so you can map fields.
- Repeat for each event you want. Every saved webhook has its own Test and Delete.
When it runs
Each webhook fires on the event itself, as it happens — there is no schedule, no batching and no polling. ZenMode POSTs the JSON body to your URL and gives it a 10-second timeout.
These CRM webhooks are unsigned. There is no X-ZenMode-Signature header and no shared secret
to verify, so the Catch Hook URL is the only thing standing between your Zap and anyone else —
treat it as a credential and do not paste it into shared docs. Signed webhooks do exist on
ZenMode's REST API instead, where deliveries carry an HMAC signature; that rail is available on
every paid plan except Novice, so check the plan comparison before you build against it.
What it's useful for
The honest use case is getting ZenMode events into tools ZenMode does not connect to natively.
A reply_received hook into a Zap that pings a Slack channel means an SDR sees a warm reply within
seconds instead of at the next inbox check. A connection_accepted hook can open a task in
whatever project tool your team lives in. A deal_stage_changed hook can append a row to a
spreadsheet your ops lead already reports from.
ZenMode's own built-in CRM already stores these contacts and deals, so the webhook is not how you keep your pipeline — it is how you tell somewhere else that something happened.
What it doesn't do (yet)
- No Zapier app. No marketplace listing, no OAuth connection, no ZenMode actions or searches inside Zapier. Catch Hook is the whole surface.
- Nothing comes back. Zapier cannot push contacts, notes or statuses into ZenMode's CRM; the webhook card is outbound only.
- Delivery logs are not readable in the product. ZenMode records each delivery, but the "Logs" button on a webhook has no working endpoint behind it, so there is no in-app delivery history to inspect. Use your Zap's own task history to see what arrived.
- No reply text, and no per-trigger field customisation — the payloads are fixed as listed above.
Make is the same card, the same six triggers and the same payloads; see the Make integration if that is where your scenarios live.
FAQ
Which plans include Zapier webhooks?
All plans. The CRM webhook card carries no tier gate — Novice included. The only tier-gated integration surface at ZenMode is the REST API and its signed webhooks, which need a paid plan other than Novice.
Does connecting Zapier need my LinkedIn password?
No. The connection is an HTTPS URL you paste into ZenMode, and the deliveries carry CRM event data only. ZenMode integrations never ask for, store or transmit LinkedIn credentials.
Is it two-way?
No. This is a one-way producer: ZenMode posts to your Catch Hook URL when an event happens. There is no supported path for Zapier to write back into ZenMode's CRM.