Send leads to Clay, Make, n8n or Zapier

The Webhook step sends each lead to your own tool and puts what it sends back into your messages.

Updated 4 October 2026

The Webhook step connects a campaign to a tool you already use. Right before the step after it, each lead is sent to your tool — and whatever the tool sends back becomes a variable for your messages.

For example, Clay finds which CRM a lead's company uses and sends back crm: HubSpot. Your next email says "…since you're on {{crm}}…", and Dana's reads "…since you're on HubSpot…".

Add the step

On your campaign's Sequence tab, click Add step — or the + between two steps — and choose Webhook. Put it before the message that uses the results. Then fill in two things:

  • Link from your tool — the webhook link your tool gives you.
  • Results come back — Right away, or Within 15 minutes / 1 hour / 4 hours / 1 day.

The Webhook step: the link from your tool and when the results come back

Tip

Make or n8n: Right away. Zapier or Clay: a wait — they send the results to the callback_url that comes with each lead.

What your tool gets

Each lead arrives as JSON: their details as your messages use them, the campaign and the step — and callback_url when the results come back later. Leads from our lead database come without their email and phone number — your tool finds what it needs from their LinkedIn profile, name and company. Contacts you uploaded yourself come with theirs.

{
  "lead": {
    "first_name": "Dana",
    "last_name": "Whitfield",
    "company_name": "Northwind",
    "job_title": "VP Marketing",
    "linkedin_url": "https://www.linkedin.com/in/dana-whitfield"
  },
  "campaign": { "id": 12, "name": "Q4 SaaS VPs" },
  "step": 1,
  "callback_url": "https://salesbullet.ai/webhooks/steps/3f9c1a…"
}

Sending the results back

Right away — Make, n8n

End the scenario or workflow with Webhook response (Make) or Respond to Webhook (n8n), answering with the fields as JSON — for example {"crm": "HubSpot"}. It has 30 seconds to answer.

Later — Clay, Zapier

Send the fields as JSON to the lead's callback_url: in Clay with an HTTP API column at the end of the table, in Zapier with a Webhooks by Zapier → POST step. The lead waits for them — up to the time you chose.

Set it up in Clay

  1. In Clay, create a table and pick Monitor webhook — Clay shows the table's webhook link.
  2. Paste that link into the step and choose Results come back: Within 1 hour.
  3. Add the columns that find what you need, such as the company's CRM.
  4. Add an HTTP API column: method POST, the URL from the callback_url column, and a body such as {"crm": "…your CRM column…"}.
  5. Click Preview as a lead above the campaign's flow, then Try on this lead — one lead goes to Clay now, and its results show on the Webhook box when they arrive.

Use the results in your messages

Write the field's name in double braces: {{crm}}. Give it a fallback for the leads your tool finds nothing about — {{crm|your CRM}}. The results are kept with the contact, so later steps and other campaigns can use them too.

When your tool doesn't answer

  • An error, or no answer within 30 seconds: we try 3 times, 10 minutes apart.
  • Results that don't come back within the time you chose: the lead goes on without them.

Either way your messages use the fallbacks, and Preview as a lead shows what happened for each lead.

Note

Leads only go to public addresses on the internet, and each lead's callback_url is a secret link of its own — only your tool, which got the lead, can send results for it.

More in Campaigns