ioZen Docs

Custom Webhooks

Send conversion events to any HTTP endpoint using custom webhooks.

Send conversion events to any HTTP endpoint — useful for connecting to internal systems, CRMs, or platforms that ioZen doesn't have a native integration for.

Setup

  1. Open your Intake Bot → SettingsMarketing & Attribution
  2. Toggle Webhook on
  3. Enter the Webhook URL (must accept POST requests)
  4. Optionally add Custom Headers (one per line, format: Header-Name: value)
  5. The settings auto-save

Payload Format

ioZen sends a JSON POST request with this structure:

{
  "event_name": "Lead",
  "event_id": "unique-event-id",
  "event_time": "2026-03-05T12:00:00.000Z",
  "event_time_unix": 1772827200,
  "source": "iozen",
  "action_source": "website",
  "user_data": {
    "email": "user@example.com",
    "phone": "+1234567890",
    "first_name": "Jane",
    "last_name": "Doe",
    "external_id": "submission-id"
  },
  "custom_data": {
    "value": 100,
    "currency": "USD",
    "content_name": "Lead"
  },
  "source_url": "https://example.com/landing-page"
}

Headers

Every request includes these headers:

HeaderDescription
Content-Typeapplication/json
X-IoZen-Event-IdUnique event ID for deduplication
X-IoZen-Event-NameEvent name (e.g., Lead, FieldConversion)

Plus any custom headers you configure.

Test Connection

Click Test Connection to send a test event. The test payload includes X-IoZen-Test: true header so your endpoint can distinguish test from real events.

Troubleshooting

ErrorCauseFix
HTTP 401Authentication failedCheck your Authorization header value in Custom Headers.
HTTP 403Access deniedVerify your webhook URL and any required API keys.
HTTP 404Endpoint not foundVerify the webhook URL is correct and accepts POST requests.
HTTP 500Server errorCheck the receiving server logs for details.
Request timed outEndpoint didn't respond in 30sEnsure your server responds within 30 seconds.

Best Practices

  • Return 200 quickly — Process events asynchronously if possible. ioZen waits up to 30 seconds for a response.
  • Use the event ID for deduplication — The X-IoZen-Event-Id header and event_id field are unique per event. Use them to avoid processing duplicates.
  • Verify the source — Check for the X-IoZen-Event-Id header to confirm requests come from ioZen.

On this page