I’ve got a Node.js service listening to an SQS queue fed by an EventBridge rule. The rule is supposed to catch genesyscloud.routing.queue-member-added events from our JST-based org. The rule matches on source: genesys.cloud and detail-type: Genesys Cloud Event, but the queue is empty.
I checked the CloudWatch logs for the EventBridge delivery and see the raw event coming through, but the filter is rejecting it. Here’s the JSON structure I’m seeing in the logs:
{
"source": "genesys.cloud",
"detail-type": "Genesys Cloud Event",
"detail": {
"eventType": "routing.queue-member-added",
"id": "12345",
"timestamp": "2023-10-27T04:15:00Z"
}
}
My current filter rule looks like this:
{
"source": ["genesys.cloud"],
"detail-type": ["Genesys Cloud Event"],
"detail": {
"eventType": ["routing.queue-member-added"]
}
}
It feels like the detail object structure in the filter doesn’t align with how Genesys packages the payload. I’ve tried flattening the filter to just check source and detail-type, which lets everything through, but that’s noisy. Is there a specific path I need to target in the detail object for the filter to parse correctly? Or is the eventType nested deeper than I think?