EventBridge dedup strategy for GC Web Messaging SDK

The Genesys Cloud Web Messaging SDK triggers messageReceived events that seem to fire twice for the same payload. I’m pushing these to AWS EventBridge, and my Kotlin consumer sees duplicates despite the eventId matching. Is there a built-in deduplication flag in the SDK config? I’ve tried checking event.detail.id in my lambda, but the overhead is killing performance. Just need a clean way to handle this without writing a custom cache layer.

Not gonna lie, the SDK doesn’t have a native dedup flag for this. You’re probably better off using a DynamoDB TTL table with the eventId as the key and a 1-minute expiry. It’s way cheaper than a cache layer and handles the idempotency cleanly.

{
 "TableName": "gc-event-dedup",
 "Key": {
 "eventId": { "S": "${event.detail.id}" }
 },
 "TTL": 60
}