Create a webhook

Register a new webhook to receive real-time notifications for specific events.

Important Notes:

  • Maximum 2 webhooks per event per system identifier
  • URLs must use HTTPS for security
  • A secret key is automatically generated for signature verification
  • The secret key is only returned once during creation - store it securely

Webhook Security: Each webhook delivery includes an X-Webhook-Signature header containing an HMAC-SHA256 signature of the payload. Use the secret key to verify webhook authenticity:

signature = OpenSSL::HMAC.hexdigest("SHA256", secret_key, request.body.read)
valid = Rack::Utils.secure_compare(signature, request.headers["X-Webhook-Signature"])

Event Selection: Choose one or more events from the available event types. See the /webhooks/events endpoint for the complete list of available events.

Example:

{
  "webhook": {
    "name": "Contact Sync Webhook",
    "url": "https://your-app.com/webhooks/crm-events",
    "events": ["peopleCreated", "peopleUpdated", "peopleStageUpdated"]
  }
}

Webhook Payload Format: All webhooks receive payloads in this format:

{
  "eventId": "uuid",
  "eventCreated": "2025-10-16T12:00:00Z",
  "event": "peopleCreated",
  "resourceIds": ["person-uuid"],
  "uri": "https://api.suresendcrm.com/api/partner/people/person-uuid",
  "data": { ... event-specific data ... }
}
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
string

System identifier (defaults to API token's system)

Body Params
string
required

Descriptive name for the webhook

uri
required

HTTPS URL to receive webhook deliveries

events
array of strings
required
length ≥ 1

Array of event types to subscribe to (see /webhooks/events for available types)

events*
Headers
string
required
Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json