Skip to main content
POST
/
webhooks
curl --request POST \
  --url https://api.zeeg.me/v2/webhooks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "callbackUrl": "https://example.com/webhooks/zeeg",
  "events": [
    "invitee.scheduled",
    "invitee.cancelled"
  ],
  "scope": "user",
  "token": "my-secret-token-123"
}
'
{
  "success": true,
  "resource": {
    "uuid": "9a39bf60-a6c3-45e7-80cd-2cd36e520861",
    "name": null,
    "description": null,
    "callbackUrl": "https://example.com/webhooks/zeeg",
    "scope": "user",
    "creator": {
      "firstName": "Lena",
      "lastName": "Meier",
      "slug": "lena-meier"
    },
    "events": [
      "invitee.scheduled",
      "invitee.cancelled"
    ],
    "organization": null,
    "apiVersion": null,
    "createdAt": "2026-04-10T08:30:00.000000Z",
    "updatedAt": "2026-04-10T08:30:00.000000Z"
  },
  "testResult": {
    "delivered": true,
    "statusCode": 200,
    "error": null
  }
}

Authorizations

Authorization
string
header
required

Body

application/json
callbackUrl
string<uri>
required

The URL that Zeeg will send webhook payloads to. Must be a valid HTTPS URL.

events
enum<string>[]
required

List of event types to subscribe to.

Available options:
invitee.scheduled,
invitee.cancelled,
routing_form.submitted,
ai_agent.call_completed
scope
enum<string>
required

The scope of the webhook subscription. Use user for personal webhooks or organization for organization-wide webhooks.

Available options:
user,
organization
token
string

Optional verification token. When set, Zeeg includes it in a Token header on every webhook delivery (including the test endpoint). Use it to verify that incoming requests originate from Zeeg.

Must be at least 8 characters and contain only printable, non-whitespace ASCII characters. Leading and trailing whitespace are trimmed automatically.

Required string length: 8 - 1000
Pattern: ^[\x21-\x7E]+$

Response

Created

success
boolean
resource
object

The created webhook.

testResult
object | null

Result of the synthetic test event sent to the callbackUrl. null only when the test was skipped (rare).

Last modified on April 29, 2026