EventBridge Rule Triggering But Lambda Not Invoking for Genesys Events

Setting up AWS EventBridge to catch Genesys Cloud agent:status:updated events. The rule matches the source genesys.cloud but the Lambda target never fires. I’ve confirmed the event bus is receiving the raw JSON payload from the webhook, yet the target invocation fails with 400 Bad Request. Here is the event pattern I’m using:

{
 "detail-type": ["agent:status:updated"],
 "source": ["genesys.cloud"]
}

The payload structure looks correct in CloudWatch logs. Is there a specific IAM permission or event format tweak needed for the target to accept it? The integration docs are vague on the exact payload shape expected by the Lambda.

The detail-type in your pattern is wrong. Genesys sends AgentStatusUpdated, not the snake_case version. Change it and the Lambda will fire.

nailed it. The casing matters. Here’s what fixed it for me:

  • Switch detail-type to AgentStatusUpdated
  • Verify the source is exactly genesys.cloud
  • Check Lambda logs for the actual 400 error, usually a parsing issue