Genesys Cloud Webhook payload missing queueId on SLA breach event

Trying to wire up a Slack notification for when a queue breaches its SLA target. I’ve created a webhook in Genesys Cloud targeting a simple Node.js endpoint that forwards to Slack.

The webhook fires, but the JSON payload doesn’t contain the queueId. Without that, I can’t look up the queue name to format the Slack message perly. Here’s the payload structure I’m getting:

{
 "eventType": "queue.sla.breach",
 "timestamp": "2023-10-27T14:30:00Z",
 "data": {
 "metric": "avgWaitTime",
 "value": 120,
 "threshold": 90
 }
}

I’ve checked the webhook configuration in the Genesys UI and the event subscription seems correct. The endpoint is returning a 200 OK, so Genesys isn’t retrying or dropping it. I’ve also tried adding queueId to the custom data fields, but that just adds a static string, not the actual queue ID from the event context.

Is there a specific event type or configuration flag I need to enable to get the queueId included in the SLA breach payload? Or am I missing a field in the webhook definition JSON?

1 Like

That’s tricky. The queue.sla.breach event usually sends the queue ID in the data.queue.id field, not the root level. Check your JSON path. Also, make sure the webhook permission includes queue:view. If it’s still missing, try adding a debug log to your Node endpoint to print the full raw body. Might be a serialization issue.