secret. The signature is sent in the X-HelpGenie-Signature header by default, or in the header name you specify via secret_header.
Actions
get
Returns the escalation webhook configured for a Genie, or null if none exists.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
agentId | string | Yes | Genie UUID |
null if no webhook is configured.
upsert
Creates or updates the escalation webhook for a Genie. Only one webhook per Genie is supported — calling this again replaces the existing configuration.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
agentId | string | Yes | Genie UUID |
url | string | Yes | HTTPS endpoint to POST to on escalation |
secret | string | No | Shared secret used to sign the payload (HMAC-SHA256) |
secret_header | string | No | Header name for the signature, defaults to X-HelpGenie-Signature |
custom_fields | array | No | Custom payload field definitions. Each item can be a string key or an object { key, hint, useForSignature }. When empty, a default set of standard fields is used |
is_active | boolean | No | Whether the webhook is active, defaults to true |
custom_fields is empty):
eventId, eventType, timestamp, callerNumber, callSid, reason, summary, agentSessionId
Response — the saved webhook row.
delete
Removes the escalation webhook for a Genie. No-ops silently if no webhook exists.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
agentId | string | Yes | Genie UUID |
test
Sends a test POST request to the webhook URL with a dummy escalation payload. Validates that the endpoint is reachable and returns the HTTP status and response body. Requires the webhook to be active.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
agentId | string | Yes | Genie UUID |
result will contain an error string instead of status/body.
Error codes
| Code | Meaning |
|---|---|
VALIDATION_ERROR | Missing required parameter |
NOT_FOUND | No active webhook found (test action only) |
UNAUTHORIZED | You do not have access to this Genie |
INTERNAL_ERROR | Unexpected server error |

