Skip to content

Webhook Step

A webhook step sends an HTTP POST request with prospect data and details about the prospect’s sequence and step to a URL you specify. Use it to connect your sequences to external tools such as Make, Zapier, or your own backend.

  1. Open your sequence in the editor.
  2. Click Add step and select Webhook.
  3. Enter the Webhook URL. It must use HTTPS.
  4. Optionally add a Title and Notes for your own reference.
  5. Save the step.

When a prospect reaches the webhook step, Vaam sends the data automatically and advances to the next step.

The webhook sends a JSON POST request with Content-Type: application/json. The full payload structure is:

{
"event": "webhook.step.reached",
"timestamp": "2025-01-15T10:30:00.000Z",
"prospect": {
"id": "abc123",
"firstname": "Jane",
"lastname": "Doe",
"email": "jane@example.com",
"company": "Acme Inc",
"jobtitle": "VP Sales",
"phone": "+1234567890",
"linkedinProfileUrl": "https://linkedin.com/in/janedoe",
"tags": ["enterprise", "inbound"],
"custom": "custom field 1 value",
"custom2": "custom field 2 value",
"custom3": "custom field 3 value"
},
"enrollment": {
"id": "enr456",
"sequenceId": "seq789",
"sequenceName": "Enterprise Outreach Q1"
},
"step": {
"id": "step012",
"title": "Notify CRM",
"information": "Send to HubSpot for follow-up"
}
}
  • Method: POST
  • Content-Type: application/json
  • Timeout: 10 seconds. If your endpoint does not respond within 10 seconds, the request is considered failed.

If delivery fails because of a network error, timeout, or non-2xx response, Vaam retries automatically:

  • Attempts: 3 retries with exponential backoff
  • After all retries fail: You receive a notification email with the error details

The sequence continues to the next step whether the webhook succeeds or fails.

  • Must use HTTPS. HTTP URLs are not accepted.
  • Must resolve to a public IP address. URLs that point to private or internal networks are blocked for security.

The webhook step is one-way. Vaam sends data to your endpoint, but it does not use the response to drive sequence behavior.

You cannot:

  • Branch the sequence based on what your endpoint returns.
  • Skip or stop the sequence based on a response.
  • Run a custom check, such as calling an external API to evaluate a prospect, and continue conditionally.

The sequence always advances to the next step after the webhook is sent, regardless of the response.

If you need this type of conditional logic, use a manual step instead. Run your check externally and decide whether to continue the sequence from your Task list. See Manual Steps.

  • CRM updates: Push prospect data to HubSpot, Salesforce, or Pipedrive when a prospect reaches a certain stage.
  • Slack notifications: Alert your team when a prospect reaches a key step.
  • Custom workflows: Trigger automations in Make, Zapier, or n8n.
  • Data enrichment: Send prospect data to an enrichment service and store the results.