Does anyone know why my eventbridge rule is failing? i have the rule configured for com.genesyscloud.openmessaging.v1.message but nothing hits. the json payload looks right but the pattern match seems off. here is the rule pattern i am using: { “source”: [“com.genesyscloud”], “detail-type”: [“Message Status”] }. i am getting no errors just silence. is the detail-type case sensitive? help.
Check your EventBridge input transformer mapping and the exact structure of the Genesys Cloud outbound payload. The issue is likely not the case sensitivity of detail-type (which is indeed case-sensitive and must match exactly), but rather how you are validating the detail field against the actual JSON payload received from Genesys Cloud.
The event source for Genesys Cloud Open Messaging is strictly com.genesyscloud.openmessaging.v1.message. However, the detail-type in the EventBridge event envelope is often generic like GenesysCloud Message Event or similar, not necessarily “Message Status”. You need to inspect the raw event received in your EventBridge history or CloudWatch logs.
Here is a corrected pattern that targets the specific message status within the detail payload, which is more reliable than guessing the detail-type:
{
"source": [
"com.genesyscloud.openmessaging.v1.message"
],
"detail": {
"messageStatus": [
"delivered",
"read",
"failed"
]
}
}
Ensure your IAM role attached to the EventBridge rule has permissions to invoke the target (e.g., Lambda or SNS). Also, verify that the Genesys Cloud Messaging integration is explicitly configured to send events to your AWS account ID. The messageStatus field in the detail object is where the actual state change lives. If you filter only on source and a generic detail-type, you might be missing the specific status updates you need.
For detailed schema information on the outbound event payload, refer to the Genesys Cloud Open Messaging API Documentation.
If you continue to see no events, enable debug logging on the EventBridge rule to capture the rejected events and compare the detail structure against your pattern. This usually reveals mismatched field names or nested object structures that the simple pattern matcher ignores.