EventBridge sending duplicate Genesys Cloud events despite deduplication logic

We’ve got a Lambda consumer for EventBridge events from Genesys Cloud. The setup is standard, but we’re seeing duplicate interaction.created events hitting the handler within milliseconds. I thought the event bus handled deduplication, but it seems like Genesys is just firing them twice. Here’s the snippet I’m using to check for duplicates based on eventId:

def check_dup(event_id):
 return cache.get(event_id)

Is there a header I’m missing? Or is this a known issue with the integration?

Genesys sends events to multiple targets, not just one. EventBridge doesn’t dedup across sources. You need to handle idempotency in your Lambda. Use DynamoDB with ConditionExpression to block duplicates.

client.update_item(
 TableName='EventLog',
 Key={'eventId': {'S': event_id}},
 ConditionExpression='attribute_not_exists(eventId)'
)