EventBridge rule not firing for conversation.created — pattern matching issue?

We have configured a Terraform module to deploy an EventBridge rule that triggers on conversation.created events within our Genesys Cloud organization. The infrastructure applies cleanly, and the rule is active in the AWS console. However, the target Lambda function is never invoked when we generate a test conversation via the API or through the web client.

I have verified the IAM role attached to the rule allows events:PutTargets and lambda:InvokeFunction. The rule pattern is defined in the Terraform aws_cloudwatch_event_rule resource as follows:

resource "aws_cloudwatch_event_rule" "genesys_conv_created" {
 name = "genesys-conv-created-rule"
 description = "Trigger on Genesys Cloud conversation creation"
 event_pattern = jsonencode({
 source = ["genesys.cloud"]
 detail-type = ["ConversationCreated"]
 detail = {
 eventType = ["conversation.created"]
 }
 })
}

The issue seems to be with the detail-type field. When I check the raw event history in the EventBridge console, the incoming events from Genesys Cloud have a detail-type of Genesys Cloud Event, not ConversationCreated. Yet, the documentation suggests using specific event types for filtering.

If I change the pattern to match detail-type as "Genesys Cloud Event", the rule fires for every single event type, which is not what we want. We need it to trigger only for conversation creation. Is the eventType field inside the detail block the correct way to filter? Or do we need to parse the detail JSON payload differently? The Terraform provider does not offer a native resource for EventBridge rules specific to Genesys, so we are relying on standard AWS resources. I am trying to understand why the nested eventType filter is failing silently. No errors are logged, just no invocations.