Outbound webhooks let Escalation Shield send each alert to an external system you own. Use them to route high-risk customer feedback into an internal queue, incident workflow, CRM, ticketing system, or escalation router.
This is different from Enterpret's Webhook Integration, which sends feedback into Enterpret. Outbound webhooks send Escalation Shield alerts out of Enterpret.
Before you start
You need:
An Escalation Shield automation in Enterpret
An HTTPS endpoint that can accept
POSTrequests withContent-Type: application/jsonAny token, API key, or custom header value your endpoint requires
Permission to edit the automation
Your endpoint should return a 2xx response quickly. Enterpret times out webhook delivery after 5 seconds per attempt.
Set up an outbound webhook
Open Automations in Enterpret.
Open the Escalation Shield automation you want to configure.
Click Edit.
In the Alerts section, click Add webhook.
Enter the webhook URL. The URL must start with
https://.Choose an authentication method: None, Bearer Token, API Key (X-API-Key), or Custom Header.
Enter the credential value. If you choose Custom Header, also enter the header name.
Click Add webhook.
Click Save changes.
You can use a webhook destination alongside Slack and email destinations. Credentials are encrypted at rest.
If you need to send the same alert to several external systems, point the webhook at a relay endpoint that fans out to those systems.
Authentication options
Option | Header sent |
None | No authentication header |
Bearer Token |
|
API Key |
|
Custom Header |
|
What your endpoint receives
Enterpret sends a POST request with JSON.
Each request includes:
Content-Type: application/jsonUser-Agent: SupportEscalationAutomation/1.0Idempotency-Key: <automation_id>:<integration_id>:<record_id>The authentication header you configured, if any
Use the Idempotency-Key header to deduplicate retries. The payload contains the automation ID, stable escalation levels, and a compact record summary.
Example payload
{
"automation_id": "automation-uuid",
"org_id": "your-org",
"escalated_at": "2026-06-27T12:00:00Z",
"levels": {
"escalation_level": "extreme",
"emotional_intensity_level": "extreme",
"sentiment_shift": "sentiment degraded"
},
"record": {
"id": "record-id",
"url": "https://dashboard.enterpret.com/your-org/record/record-id",
"source_url": "https://your-source-system.example.com/tickets/12345",
"content_excerpt": "The customer message that triggered the alert",
"created_at": "2026-06-27T11:58:00Z",
"source": "ZendeskSupport"
}
}
Field reference
Field | Description |
| The Escalation Shield automation that fired. |
| Your Enterpret org slug. |
| When Enterpret sent the escalation alert. |
| Discrete escalation level: |
| Discrete emotional intensity level: |
| Conversation sentiment movement, when available. |
| Enterpret feedback record ID. |
| Link to the feedback record in Enterpret. |
| Link to the source record, when available. |
| The triggering feedback text. |
| Source timestamp for the feedback, when available. |
| Enterpret source identifier. |
Delivery behavior
Escalation Shield runs in the background and sends webhook alerts when it detects escalation risk. Delivery is not a user-session action; alerts are sent from Enterpret's background automation.
Return any 2xx status to mark delivery successful. Non-2xx responses, timeouts, and network errors may be retried. Keep your endpoint idempotent by deduplicating on the Idempotency-Key header.
Troubleshooting
I do not see webhook alerts
Check that:
The automation is active.
The automation has a matching feedback filter.
The webhook URL starts with
https://.Your endpoint returns a
2xxresponse within 5 seconds.The credential in Enterpret matches what your endpoint expects.
I see duplicate requests
Retries can happen when Enterpret does not receive a successful response. Deduplicate using the Idempotency-Key header.
My endpoint rejects the request
Confirm the authentication method matches your endpoint:
Bearer Token expects
Authorization: Bearer <credential>.API Key expects
X-API-Key: <credential>.Custom Header sends the credential under the header name you provide.
My endpoint receives the alert but cannot route it
Use automation_id, levels, record.source, and record.source_url for routing where possible. If you need additional source-system fields, fetch them from your source system using the source link or record ID.
FAQs
Is this the same as the Webhook Integration?
No. The Webhook Integration sends feedback into Enterpret. Outbound webhooks send Escalation Shield alerts out of Enterpret.
Can I still send alerts to Slack or email?
Yes. A webhook can be used alongside Slack and email alert destinations.
What fields should I use for routing?
Use automation_id to identify the automation, levels for escalation severity, record.source for source-aware routing, and record.url, record.source_url, or record.id to connect the alert back to a record.
What should my endpoint return?
Return a 2xx response after accepting the alert. If your processing takes longer than a few seconds, acknowledge the request first and process it asynchronously.
