EventBridge rule not firing for conversation.update events - pattern matching issue?

Problem
We’re trying to capture conversation state changes in our Pacific region org. The admin UI shows the EventBridge integration toggle enabled, but the rule never triggers when a call moves to the waiting queue. Ran a few test numbers and checked CloudWatch logs. Nothing shows up. The integration feels completely dead despite the green checkmark in the console.

Code
Here’s the rule configuration we pushed via the Terraform provider:
{
“source”: [“genesys.cloud”],
“detail-type”: [“Conversation Update”],
“detail”: {
“conversation”: {
“routingType”: [“queue”]
}
}
}
Linked a target Lambda that just logs the payload to a standard text file. The function itself runs fine during manual testing.

Error
No HTTP error coming back from the API. Rule creation returns a 200. EventBridge console just shows zero matches. Audit logs in Genesys Cloud confirm the events fire on the platform side. Data just vanishes at the AWS boundary.

Question
Does the detail block need a specific event ID or media type to match properly? We’ve been guessing at the JSON structure since the docs are pretty vague on the exact payload shape for conversation.update. Can anyone share a working event pattern that actually catches queue routing changes? Spent two days tweaking the filters and still nothing. The queue dashboard is completely blind to these transitions right now.

{
 "source": ["genesys.cloud"],
 "detail-type": ["Conversation Update"],
 "detail": {
 "state": ["QUEUED"]
 }
}

The pattern above is the likely culprit. You’re filtering on conversation.update as a detail type, but EventBridge doesn’t use that exact string. The detail-type field needs to match the specific event category Genesys emits. For call state changes, it’s Conversation Update. Also, check the detail object structure. The state field isn’t always top-level. It might be nested under currentRoutingData or similar depending on the exact event version.

I ran into this last month when debugging a similar setup. The admin UI shows green, but the rule fails because the JSON path in the rule doesn’t align with the actual payload. Try broadening the rule first. Remove the detail filter entirely. Just match on source and detail-type. See if anything hits CloudWatch. If it does, you know the integration works. Then narrow it down.

Also, verify the region. EventBridge rules are regional. If your Genesys org is in US-East but the rule is in US-West, you won’t see events. The Pacific region mention is vague. Check the AWS console region selector. It’s easy to miss.

One more thing. The Terraform provider sometimes caches old rule configurations. Run a terraform plan to see if there are drifts. If the state file is out of sync, the rule might not be updating correctly. Delete the rule in AWS console, then re-apply the Terraform config. Force a fresh creation.

Debug this step-by-step. Broaden the filter, check the region, force a re-apply. You’ll find the gap.