We’ve configured EventBridge rules to capture Genesys Cloud interaction events and route them to a Lambda function for downstream processing. The setup works fine during low traffic, but we are seeing throttling when call volumes spike. The Lambda function hits its concurrency limit, causing EventBridge to retry and eventually drop events after the dead-letter queue fills up.
The current handler in Python looks something like this:
def lambda_handler(event, context):
for record in event['detail']:
process_interaction(record)
return {'statusCode': 200}
We are not batching the events properly in the handler, and the default concurrency is too low for our peak hours. We’ve tried increasing the reserved concurrency in the AWS console, but it feels like a band-aid solution. Is there a recommended pattern for batching these events or configuring EventBridge to fan out to multiple Lambda functions? We need to ensure no events are lost during high-volume periods.
Any advice on adjusting the batch size or using Step Functions for better throughput would be appreciated.