EventBridge rule not triggering for Genesys Cloud conversation events despite valid ARN

We’re trying to set up a real-time event pipeline using AWS EventBridge to capture Genesys Cloud conversation events. The goal is to trigger a Lambda function whenever a chat session ends, but the rule isn’t firing.

I’ve configured the EventBridge partner event bus and created a rule with the following event pattern:

{
 "source": ["genesys.cloud"],
 "detail-type": ["genesys.cloud.conversation.update"]
}

The target is a Lambda function with the ARN arn:aws:lambda:us-west-2:123456789012:function:GenesysEventProcessor. I’ve verified the permissions and the Lambda has a basic CloudWatch log policy.

When I test the rule manually with a sample event, the Lambda executes fine. But in production, nothing happens. I’m monitoring the EventBridge console and see zero matching events.

I’ve tried:

  • Checking the Genesys Cloud webhook configuration (it’s set to send to the EventBridge partner endpoint)
  • Verifying the event bus is public and the rule is active
  • Adding a broader event pattern just to catch everything from genesys.cloud
  • Checking CloudWatch logs for the Lambda (no invocations)

The Genesys Cloud admin console shows the webhook is “active” and has sent 100+ events in the last hour. But EventBridge logs show 0 matches.

I’m wondering if there’s a mismatch in the event source or detail-type. The docs mention genesys.cloud.conversation.update but I’m not sure if that’s the exact string.

Here’s the Lambda handler for reference:

exports.handler = async (event) => {
 console.log("Received event:", JSON.stringify(event, null, 2));
 return { statusCode: 200, body: "OK" };
};

Any ideas why the rule isn’t matching? I’m out of things to check.