EventBridge to Lambda throttle errors on conversation.update events

We’ve got an EventBridge rule capturing conversation.update events from Genesys Cloud. The target is a Lambda function that processes adherence data for WFM reporting. During peak hours, the volume spikes and we start seeing ThrottlingException errors in CloudWatch. The Lambda concurrency is set to 1000, but the rate just overwhelms it.

The event structure looks standard:

{
 "detail": {
 "id": "conv-123",
 "type": "chat",
 "routing": { ... }
 }
}

We’ve tried increasing the reserved concurrency, but it feels like a band-aid. The function takes about 200ms to process each event. We’re seeing roughly 5000 events per minute during rush hour.

  • Region: us-west-2
  • Lambda runtime: Node.js 18
  • Current concurrency: 1000
  • EventBridge rule: conversation.update
  • Target: Single Lambda function

Is there a way to batch these events before they hit the Lambda? Or should we be using an SQS queue as a buffer between EventBridge and the function? We’ve looked at the EventBus settings but aren’t sure how to configure the retry policy effectively. The documentation is vague on high-volume scenarios.