Skip to content

Outbound webhooks

Source

An outbound webhook posts to a URL you control whenever something you’ve chosen happens. It’s the usual way people connect Custom One to a CRM, an internal tool, or an automation platform.

Where Covers
Integrations → Webhooks the custom you choose — and lists the webhooks of all your customs
A custom’s Automation tab that custom — on Outreach customs, and in beta on Quiz customs

Both are views of the same thing: a webhook you add in Automation shows up in Integrations → Webhooks, and the other way round.

A URL that accepts a POST request, starting with https://. Every automation platform gives you one — in Make it’s a custom webhook trigger, in Zapier a Catch Hook, in n8n a Webhook node. If you’re sending to your own application, it’s whatever endpoint you’ve built.

  1. Open Integrations → Webhooks and click New webhook — or, in a custom, open Automation and click New automation.
  2. In Integrations, choose the custom. Paste your URL.
  3. Choose which events should trigger it.
  4. Save it (Create webhook, or Turn on in Automation), then click Test: it sends a sample lead, as the first event the webhook listens for, so you can map the fields. Test webhook sent means we sent it — check that your tool received it.

A webhook works as soon as it is saved — it doesn’t wait for you to publish. One webhook can listen for several events, and you can have several webhooks.

Event Fires when event in the payload
Quiz completed someone finishes answering diagnostic.submitted
Video ready their video has finished processing diagnostic.completed
Lead started the video they pressed play on their video lead.video_started
Lead watched the video they watched past the point that counts as watched lead.video_watched
Lead clicked the CTA they clicked the button under their video lead.cta_clicked
Confirmation email sent the Instant reply email went out email.confirmation_sent
Result email sent the Video delivery email went out email.result_sent
Result SMS sent the Delivery SMS went out sms.result_sent
Lead marked as purchased you marked the lead as purchased, through the API lead.purchased

On an Outreach custom, the Automation tab leaves out Quiz completed and Confirmation email sent: there is no quiz to complete.

Lead marked as purchased is a marker for tracking your own sales. You set it on a lead through the API; Custom One never sets it and does nothing with it. Neither screen offers it: only a webhook created through the API can listen for it.

Lead started the video, Lead watched the video and Lead clicked the CTA each fire at most once per person, no matter how many times they reload the page or press play again.

That’s deliberate: it makes them a genuine engagement signal rather than a count of interactions. If you need every interaction, these events are the wrong source.

Quiz completed and Video ready are not the same moment

Section titled “Quiz completed and Video ready are not the same moment”

Quiz completed fires as soon as someone finishes answering. Video ready fires when their video has finished being made, which is later.

If you’re sending someone their result, listen for Video ready — reacting to Quiz completed means acting before there’s anything to send.

  • Check the event, not the webhook. Most “it isn’t firing” turns out to be a webhook listening for an event that didn’t happen — waiting on Video ready for a custom where no video is produced, for instance.
  • Check your endpoint accepts POST and answers within 10 seconds. An endpoint that takes longer looks like a failure from this side.
  • Look for Stopped automatically in Integrations → Webhooks, or We stopped this automation in Automation. After ten failed deliveries in a row we switch the webhook off and email the workspace owners. Events that happen while it is off aren’t queued. Fix the destination, then switch it back on.
  • Go through your own custom rather than waiting for a real visitor. It’s the fastest way to produce a real event.