Skip to content
ZidiDocs

Make

Send Zidi events to a Make.com scenario. You paste one Make webhook URL into Zidi, and every event goes to that URL.

Available on: Pro

There is no Zidi app inside Make. The connection is a Custom webhook module in your scenario. You can save one Make URL per Zidi account.

Connect a Make scenario

When you save the URL, Zidi sends a live test event to it. The save only works if the webhook answers, so set up Make first.

  1. In Make, create a scenario and add a Custom webhook module as the trigger.
  2. Copy the webhook URL that Make creates.
  3. Turn the scenario on in Make, so the webhook is listening.
  4. In Zidi, in the sidebar, click Integrations, then the Make.com card.
  5. Paste the URL into Make.com Webhook URL.
  6. Optional: click Test Webhook. You see "Webhook reached your Make.com scenario." when it works.
  7. Click Connect to Make.com. You see "Make.com connected successfully!".

The URL must look like https://hook.us1.make.com/…. Other Make regions and older integromat.com hook URLs also work.

The test event

Both Test Webhook and Connect to Make.com send one event with "event": "test.ping". Your scenario receives it like any other event. Filter it out if you do not want it to run your later modules.

Events Zidi sends

All events go to the same URL. Use a Router in Make and filter each route on the event field.

eventSent when
video.viewedA campaign recipient opens their personal link for the first time.
cta.clickedA campaign recipient clicks the call-to-action for the first time.
engagement.thresholdAn identified viewer passes 50%, 80% or 100%.
campaign.launchedYou launch a campaign.
video.uploadedA new video is added to your library.

What each event means

  • video.viewed fires once per campaign recipient. Views of a normal share link or an embedded video never send it. Its percentWatched and watchDurationSec are always 0.
  • cta.clicked fires once per campaign recipient. CTA clicks on a normal share link do not send it.
  • engagement.threshold uses three milestones: 50%, 80% and 100%. It covers campaign recipients, and people who watch through a tracked link or while signed in to Zidi. For campaign recipients, each milestone fires once per recipient. For tracked-link and signed-in viewers, each milestone fires at most once a day per viewer. A visit more than 24 hours later can fire it again. If one progress report crosses several milestones, for example on a short video or when a tracked-link or signed-in viewer skips ahead, Zidi still sends each one as its own event. Each lower milestone carries its own value as percentWatched, for example 50, and the highest carries the viewer's real percent. So a filter on percentWatched, such as 100, runs once when a viewer finishes. thresholdCrossed tells you which milestone an event is for. Zidi holds every 80% event for about 5 seconds and every 100% event for about 10 seconds, so a viewer's events normally arrive lowest first. Make runs a scenario's webhook events in parallel unless you turn on Process data in order in the scenario settings. For campaign recipients only what actually played counts, so skipping ahead does not cross a milestone.
  • video.uploaded fires for uploads, browser and Chrome extension recordings, and videos you render from the editor.

What the request looks like

Each event is a JSON POST with this shape:

{
  "event": "engagement.threshold",
  "timestamp": "2026-09-24T10:30:00.000Z",
  "idempotencyKey": "threshold-campaign-abc123-80",
  "data": {
    "id": "threshold-campaign-abc123-80",
    "videoId": "…",
    "videoTitle": "Product demo",
    "percentWatched": 82,
    "thresholdCrossed": 80,
    "thresholdPercent": 80,
    "watchDurationSec": 95,
    "viewerEmail": "redacted",
    "viewerName": null,
    "company": null,
    "recipientHash": "3f9a1c0b7d2e4f61",
    "campaignName": "Q3 outreach",
    "timestamp": "2026-09-24T10:30:00.000Z"
  }
}

The same key is also sent in the X-Zidi-Idempotency-Key header. If Make receives the same key twice, treat it as a repeat. You can use it to skip duplicates. For video.uploaded the key is the video ID, so a later re-render of the same video reuses it. Treat your webhook URL as a secret. Anyone who has it can send data to your scenario.

Fields inside data

eventFields
video.viewedid, videoId, videoTitle, totalViews, viewer fields, campaignName, watchDurationSec, percentWatched, timestamp
cta.clickedid, ctaId, ctaLabel, ctaUrl, videoId, videoTitle, viewer fields, campaignName, timestamp
engagement.thresholdid, videoId, videoTitle, percentWatched, thresholdCrossed, thresholdPercent, watchDurationSec, viewer fields, campaignName, timestamp
campaign.launchedid, campaignName, campaignId, status, videoId, videoTitle, recipientCount, timestamp
video.uploadedid, title, videoUrl (the share link), sourceUrl (a download link that works for 7 days), views, duration, sourceType, timestamp

"Viewer fields" are viewerEmail, viewerName and company, plus recipientHash when the details are hidden. For viewers outside a campaign, company and campaignName are null.

Why viewer details show as "redacted"

By default, campaign events do not carry the recipient's identity. viewerEmail is "redacted", viewerName and company are null, and recipientHash holds a 16-character ID that stays the same for that recipient.

To receive the real email, name and company, turn on Include recipient PII for the campaign before you launch it. The toggle is in the campaign's Custom Webhook card, and you can change it only while the campaign is in Draft. The steps are in Send names and emails for a campaign.

Change the URL or disconnect

When connected, the Make.com page shows the last 6 characters of your saved URL. The rest is hidden because anyone with the URL can send data to your scenario.

  • To use a new scenario, paste its URL into Update Webhook URL and click Update. Zidi sends the test event again first, so the new scenario must be on.
  • To stop sending events, click Disconnect Make.com. Zidi deletes the saved URL.

If your account moves off Pro, Zidi stops sending events but keeps the URL. Events from that time are not sent later. See Plans.

Troubleshooting

These messages appear when you test or save the URL.

MessageWhat to do
Invalid webhook URL. Expected format: https://hook.us1.make.com/...Copy the full hook URL from the Custom webhook module.
Webhook returned 404 — the scenario may be paused or the URL is wrong.Turn the scenario on, or copy the URL again.
Webhook returned HTTP {n}. Check that the Make.com scenario is running.Check the scenario in Make, then try again.
Webhook timed out after 10s. Check the scenario is running.Make did not answer in 10 seconds. Check the scenario is on.
Could not reach the webhook. Check the URL uses HTTPS and is public.Check the URL starts with https:// and was copied in full.
This integration requires a Pro plan.Upgrade to Pro from Billing.

If events stop arriving after setup, check these points:

  • The viewer used a personal campaign link, not a normal share link.
  • It is the first open or first click for that recipient.
  • The campaign was launched less than 90 days ago. Tracking ends 90 days after launch.
  • The scenario is still on in Make.