EventBridge rule matching Genesys Cloud 'conversation.update' but target Lambda never invoked

I’ve got an EventBridge rule set up to catch Genesys Cloud conversation updates. The rule pattern looks correct, and CloudWatch logs show events arriving from the source genesyscloud. The issue is the target Lambda never gets invoked.

Here is the rule pattern I’m using:

{
 "source": ["genesyscloud"],
 "detail-type": ["Conversation Event"],
 "detail": {
 "eventType": ["conversation.update"]
 }
}

The Lambda function works fine when triggered manually. Permissions look good too. I’ve added the EventBridge policy to the Lambda resource-based policy.

I’m wondering if the detail structure in the Genesys Cloud event payload doesn’t match what I expect. The documentation is a bit vague on the exact JSON structure sent to EventBridge.

Has anyone seen this before? Any idea what the actual payload structure looks like for a conversation.update event? Or is there a known issue with the EventBridge integration dropping certain event types?

You’re probably missing the detail wrapper in the EventBridge pattern. Genesys Cloud events nest the actual data inside detail, so the rule needs to match that structure explicitly.

{
 "source": ["genesyscloud"],
 "detail-type": ["Conversation Event"],
 "detail": {
 "eventType": ["conversation.update"]
 }
}

Check if the Lambda has the right IAM role to be invoked by EventBridge too.