Trying to narrow down the noise from our Genesys Cloud event stream. We only want to process conversation.end events for a specific queue, but the filter pattern seems to be letting everything through. The docs state: “Filter patterns allow you to match on specific event attributes.” I’ve configured the rule with the standard source and detail-type, plus a detail match for the queue ID.
Here is the rule configuration I’m using:
{
"source": ["genesys:cloud:conversation:eu-west-1"],
"detail-type": ["Conversation Ended"],
"detail": {
"queueId": ["12345678-abcd-1234-abcd-123456789abc"]
}
}
The Lambda function triggers for every single conversation end in the org, not just the target queue. I’ve verified the queueId is correct by checking the raw event payload in CloudWatch Logs. The event body definitely contains:
{
"queueId": "12345678-abcd-1234-abcd-123456789abc",
"type": "conversation",
"id": "87654321-dcba-4321-dcba-987654321xyz"
}
The filter should match this. I even tried adding a wildcard for the id field just in case, but that didn’t help. The docs don’t mention any special handling for nested attributes in the detail object, but maybe I’m missing something about how EventBridge parses the Genesys payload structure.
Is the queueId actually at the root of the detail object? Or do I need to dig deeper? I’ve checked the EventBridge trail and the events are definitely arriving at the rule. The match seems to be failing silently or ignoring the queueId constraint entirely. I’m hitting the same issue in both dev and prod. Feels like a documentation gap or a bug in the filter engine for this specific provider. Anyone else running into this? I’m out of ideas. Checked the region, checked the casing, checked the ID.