EventBridge duplicate events crashing our lambda

We’ve got a simple Lambda subscribed to Genesys EventBridge for routing.queue.member.wrapup. The code is basic, just logging the event ID to a table. Here’s the payload structure we’re seeing:

{
 "detail": {
 "type": "routing.queue.member.wrapup",
 "id": "evt-123-abc"
 },
 "id": "source-uuid"
}

The problem is the id field in the root always changes, even when the detail.id stays the same. Our DB key collision handler is firing constantly because we’re using the root id for deduplication. Is there a unique event ID we should be hashing instead, or do we have to build a composite key from detail.type and detail.id?