Filtering EventBridge conversation.end events by queue in Genesys Cloud

We are provisioning an EventBridge rule via Terraform to capture conversation.end events, but the current configuration is flooding our consumer with every ended interaction across the org. The goal is to restrict the payload delivery to a specific queue.

Here is the current EventBridge rule definition in our TF module:

resource "genesyscloud_eventbridge_rule" "cx_end" {
 name = "queue-specific-end"
 description = "Capture ends for Support Queue"
 
 event_pattern = jsonencode({
 source = ["genesys.cloud"]
 detail-type = ["Conversation Ended"]
 detail = {
 // Attempting to filter here
 routing = {
 queueId = ["12345-abc-def-67890"]
 }
 }
 })
 
 target_arn = aws_lambda_function.cx_handler.arn
}

The rule deploys without error, but the Lambda receives events for all queues. I have verified the queueId matches the target queue in the Genesys UI. I suspect the detail structure in the JSON pattern is incorrect or that the routing.queueId attribute is not present in the EventBridge envelope at that path.

  • Genesys Cloud Region: EU Central
  • Terraform Provider: genesyscloud v1.45.0
  • EventBridge Rule Status: ACTIVE
  • Target: AWS Lambda (Node.js 18.x)

Can someone confirm the correct JSON path for the queue ID within the conversation.end detail object? I have tried moving the filter to detail.routing.wrappers but that seems to relate to wrap-up codes rather than the active routing context.