EventBridge filter for conversation.end by queueId not working

Trying to filter EventBridge events to only receive conversation.end for a specific queue. I’ve set up the rule with the following filter policy, but I’m still getting a flood of events for other queues.

{
 "detail-type": ["Conversation End"],
 "detail": {
 "queueId": ["my-queue-id-here"]
 }
}

The event payload definitely contains queueId. Is the path wrong or do I need to handle this on the consumer side?

the path in your filter is off. the queueId sits deeper in the detail object, usually under the routing context or the last queue associated with the conversation. you need to match the exact JSON path. try this structure for the EventBridge filter policy:

{
 "detail-type": ["Conversation End"],
 "detail": {
 "routing": {
 "queueId": ["my-queue-id-here"]
 }
 }
}

if the conversation moved through multiple queues, it might be an array. check the raw event payload in the EventBridge console to see the exact nesting. it’s usually detail.routing.queueId or detail.routing.queues[0].id depending on how the event was generated.