Navigation

Create Webhook

Register an endpoint to receive real-time event notifications

POST /public/account/createWebhook

Creates a new webhook configuration for your organization. Returns a webhook ID and a secret key for signature verification. The secret key is only returned once at creation time — store it securely.

Requires a valid `api_key` in the JSON request body

Tip: Send `{"help": true}` as the request body to receive full usage documentation, the complete list of supported events, and best practices directly from the endpoint.

Parameters

Name In Type Required Description
api_key body string Yes Your Zyntro API key
org_id body string Yes Your organization UUID
wh_name body string Yes Display name for the webhook (max 100 characters)
wh_endpoint body string Yes Destination URL — must be a valid, publicly accessible HTTPS URL
wh_events body array Yes Array of event slugs to subscribe to. At least one event is required. See Supported Events below.
wh_auth_type body string No Authentication type for requests to your endpoint: `none` (default), `bearer`, `basic`, `api_key`, or `custom_header`
wh_auth_data body object No Auth credentials — structure depends on auth_type. For `bearer`: `{"value": "your-token"}`. For `api_key`: `{"header": "X-Key", "value": "abc"}`. For `basic`: `{"username": "...", "password": "..."}`.
wh_timeout body integer No Request timeout in seconds (5-120). Default: `30`

Request Body

Content-Type: application/json

Example

json
{
    "org_id": "YOUR_ORG_ID",
    "api_key": "YOUR_API_KEY",
    "wh_name": "CRM Sync Webhook",
    "wh_events": [
        "new_contact",
        "form_filled",
        "appointment_booked",
        "invoice_paid"
    ],
    "wh_timeout": 30,
    "wh_endpoint": "https://example.com/zyntro-webhook",
    "wh_auth_data": {
        "value": "your-bearer-token"
    },
    "wh_auth_type": "bearer"
}

Code Samples

bash
curl -X POST https://app.zyntrohq.com/public/account/createWebhook \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_API_KEY",
    "org_id": "YOUR_ORG_ID",
    "wh_name": "CRM Sync Webhook",
    "wh_endpoint": "https://example.com/zyntro-webhook",
    "wh_events": ["new_contact", "form_filled", "invoice_paid"],
    "wh_auth_type": "bearer",
    "wh_auth_data": {"value": "your-bearer-token"}
  }'

Response

200 Webhook created
json
{
    "data": {
        "wh_id": "d4e5f6a7-b8c9-0123-defg-456789012345",
        "action": "created",
        "secret_key": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2"
    },
    "status": "success",
    "message": "Webhook created successfully"
}
200 Invalid events
json
{
    "hint": "Send {\"help\": true} to see the full list of supported events",
    "status": "error",
    "message": "Invalid event(s): invalid_event_name"
}
Warning: The `secret_key` is only returned once — at creation time. It cannot be retrieved later. Store it securely. Use it to verify webhook signatures on incoming payloads via HMAC-SHA256.

Supported Events

Category Event Slugs
Contact Events `new_contact`, `contact_email_verified`, `contact_phone_verified`, `contact_dnc_added`, `contact_dnc_lifted`, `contact_auto_engage_on`, `contact_auto_engage_off`, `contact_signal_intercepted`, `contact_signal_processed`
Notes & Profile `new_note`, `new_profile`
Call Events `new_call_initiated`, `call_ended`, `call_failed`
Email Events `email_sent`, `email_opened`, `email_clicked`, `email_optout`, `email_bounce`, `email_complaint`, `email_reply`, `email_reply_response_posted`
SMS Events `sms_sent`, `sms_delivered`, `sms_optout`, `sms_reply`, `sms_reply_response_posted`
Appointment Events `appointment_booked`, `appointment_cancelled`, `appointment_rescheduled`
Form & Analytics `form_filled`, `analytics_event_occurred`, `analytics_anomaly_detected`
Content Events `content_posted_to_website`, `content_posted_to_social`, `content_produced`, `video_produced`, `image_produced`
Pipeline Events `pipeline_phase_move`, `pipeline_stage_move`, `pipeline_action_required`, `pipeline_action_failed`
Invoice Events `invoice_generated`, `invoice_paid`, `invoice_cancelled`, `invoice_viewed`
Subscription Events `subscription.created`, `subscription.updated`, `subscription.cancelled`, `subscription.paused`, `subscription.resumed`, `subscription.past_due`, `subscription.payment.succeeded`, `subscription.payment.failed`, `subscription.payment.requires_action`
Billing Events `wallet_debited`, `wallet_credited`, `wallet_balance_low`, `billing_failed`
Trigger Billing `trigger.captured`, `trigger.failed`, `trigger.pending_client`, `trigger.client_paid`, `trigger.enrollment.paused`, `trigger.enrollment.cancelled`, `billing_customer.created`, `billing_customer.suspended`
CMA Events `cma_report_produced`, `cma_report_failed`, `cma_report_sent`
System Events `account_suspended`, `terms_violation`
Webinar Events `webinar_registration`, `attendee_attended`, `attendee_no_show`, `webinar_replay_watched`, `webinar_feedback_given`

Errors

Code Message Resolution
MISSING_API_KEY Missing API Key
The api_key is missing.
Include your API key.
INVALID_API_KEY Invalid API Key
No active user matches.
Verify your key.
MISSING_FIELDS wh_name / wh_endpoint / wh_events is required
Required fields are missing.
Include all required fields.
INVALID_URL Invalid endpoint URL
The wh_endpoint is not a valid URL.
Provide a valid HTTPS URL.
INVALID_EVENTS Invalid event(s): ...
One or more event slugs are not recognized.
Send `{"help": true}` to see the full list.
INVALID_ORG Invalid organization
The org does not belong to the user.
Verify the org_id.
INSERT_FAILED Failed to create webhook
Database insert failed.
Retry the request.

Was this article helpful?

NotebookLM Overviews