Genesys Cloud Webhook: 400 Error when posting to Slack on SLA Breach

Hey folks,

I’m trying to set up a webhook that triggers a Slack notification whenever our queue SLA drops below 80%. I’ve got the webhook endpoint configured in Genesys Cloud, but the delivery is failing with a 400 Bad Request error.

Here is the JSON payload I’m sending to the Slack incoming webhook URL:

{
 "channel": "#ops-alerts",
 "username": "Genesys Bot",
 "text": "SLA Breach: Queue {{queue.name}} is at {{metric.value}}%"
}

The issue seems to be with the variable substitution. When I test the webhook using the “Test” button in the UI, it sends the literal string {{queue.name}} instead of the actual queue name. Slack rejects the payload because the text field is empty or malformed in their validation logic if the variables don’t resolve.

Is there a specific syntax I need to use for the webhook payload in Genesys Cloud to ensure the variables are resolved before the HTTP POST happens? I’ve tried using ${queue.name} as well, but that just sends the dollar sign literally.

Also, I’m not sure if the EventBridge event structure maps directly to the JSON body or if I need to use a transformation step first. Any pointers would be great.