EventBridge consumer receiving duplicate routing.queue.member.added events

We are building a custom agent desktop extension using the Genesys Cloud Embeddable Client App SDK. Part of the setup requires keeping the local state in sync with the cloud, so we set up an AWS EventBridge integration to listen for real-time events.

Specifically, we are targeting routing.queue.member.added. The goal is to update the local queue membership list without polling.

The issue is that for every single member added event in Genesys Cloud, our Lambda function receives two identical events. The timestamps are slightly different (milliseconds apart) but the payload is exactly the same.

Here is the EventBridge rule configuration we are using:

{
 "source": ["genesys.cloud"],
 "detail-type": ["genesys.cloud.routing.queue.member.added"]
}

And here is a sample of the duplicate payload we see in CloudWatch Logs:

{
 "id": "12345678-1234-1234-1234-123456789012",
 "detail-type": "genesys.cloud.routing.queue.member.added",
 "source": "genesys.cloud",
 "account": "123456789012",
 "time": "2023-10-27T18:30:00Z",
 "region": "us-east-1",
 "resources": [],
 "detail": {
 "id": "member-id-123",
 "queueId": "queue-id-456",
 "memberId": "agent-id-789"
 }
}

We’ve checked the Genesys Cloud admin console and the member was only added once. We also verified there is only one EventBridge rule configured for this event type.

Is this a known behavior with the Genesys Cloud EventBridge integration? Should we be implementing deduplication logic on the consumer side based on the detail.id field?

Any insights would be helpful.