Skip to content

Webhook Step

A webhook step sends an HTTP POST request with prospect and enrollment data to a URL you specify. Use it to connect your sequences to external tools like 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 — this 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. Here is the full payload structure:

{
"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 a webhook delivery fails (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 regardless of whether the webhook succeeds or fails.

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

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

That means you cannot:

  • Branch the sequence based on what your endpoint returns
  • Skip or stop the sequence based on a response
  • Run a custom check (for example, hitting an external API to evaluate a prospect) and conditionally continue

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

If you need conditional logic of this kind, 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 they reach a certain stage
  • Slack notifications — Alert your team when a prospect hits a key step
  • Custom workflows — Trigger automations in Make, Zapier, or n8n
  • Data enrichment — Send prospect data to an enrichment service and store results