Send contacts to a webhook

Use the Send to a webhook step to post each contact who reaches it to an address of yours, and know exactly what is sent, when and what happens if it fails.

BusinessTeam memberAgencyWhite labelAgency clientWho can do it: owner, admin, member

The workflow step Send to a webhook posts the contact to a web address you choose, the moment they reach that step. Use it to pass new contacts, buyers or form fillers to another tool, such as a spreadsheet, a fulfilment service, Zapier, Make, n8n or your own server.

Before you start

  • The web address that will receive the data, starting with https://. Your other tool gives you this, usually called a webhook URL.
  • A workflow to add it to, or a new one (see Build, explain and switch on a workflow).

Steps

  1. Open Automations › Workflows and open the workflow, or press Create workflow and Start from scratch.
  2. If it has no trigger yet, add one, for example A new contact arrives or They make a purchase.
  3. In the panel on the right, under Other, press Send to a webhook. The step is added at the end.
  4. Open the step. Under Post to, paste your address, for example https://hooks.example.com/catch/1234.
  5. Leave the gap before it at zero to send straight away, or set Days after the step before and hours.
  6. Press Save step. The step's title changes to "Send to" followed by the address's host name.
  7. Switch the workflow on with the switch at the top of the editor.
  8. Test it: add a test contact who meets the trigger, and check your other tool received it.

What happens next

Each contact who reaches the step is posted once, as JSON, like this:

{
  "event": "sequence.step",
  "workspace_id": "…",
  "sequence_id": "…",
  "step": 2,
  "contact": {
    "id": "…",
    "email": "sam@example.com",
    "first_name": "Sam",
    "last_name": "Taylor"
  },
  "at": "2026-09-23T10:15:00.000Z"
}

step is the step's position in the workflow and at is when it was sent. Nothing else about the contact is included: no phone number, tags, custom fields or form answers.

Your address must answer within 8 seconds with a success code. Redirects are not followed. The request is not signed and is not retried: if it fails, the contact moves on to the next step and the failure is counted. To be emailed about failed steps, add addresses under Automations › Settings › When a step fails.

Pause everything for a while, on the same settings tab, also holds webhook steps.

Troubleshooting

"That is not a full address. It should start with https://" or "It has to start with https://" Paste the whole address, including https://. Plain http:// is not accepted.

"Use the service's name, not an IP address." Addresses written as numbers are refused. Use the host name your tool gave you.

"That address is not on the internet." The address is local or internal, such as localhost or a .local name. Use a public address.

"Take the username and password out of the address." Addresses with a login in them are refused. Use a secret path or token your tool provides instead.

The step says "Where does it go?" Post to is empty. Paste the address and press Save step.

My tool received nothing. Check the workflow is switched on, the contact met the trigger, and the gap before the step has passed. If your address took longer than 8 seconds, redirected, or answered with an error, the send failed and was not retried.

Related

Still stuck?

Email support@opusfunnel.com with the page you were on. A person replies, usually within one business day.

Build my funnel free