Genesys Webhook for SLA breach to Slack returns 400

Trying to wire up a webhook that triggers when a queue SLA is breached, sending a payload to our Slack app. The Genesys UI says the subscription is active, but the webhook endpoint logs a 400 Bad Request.

  • Endpoint: /api/v2/webhooks
  • Event: routing:queues:sla:breached
  • Payload format: application/json

The Slack webhook expects a specific JSON structure. Here’s what I’m sending in the transformation script:

return {
 "text": `Alert: Queue ${event.queue.name} breached SLA. Wait time: ${event.metrics.waitTime}`
};

Slack rejects it. What’s wrong with the payload shape?