EventBridge sending duplicate events for same interactionId

Running into a weird issue with our EventBridge integration. We’re listening to conversation events to update an external CRM, but we’re seeing duplicate events for the same interactionId. The interactionId and eventType are identical, but the eventTimestamp is off by a few milliseconds. This is causing our CRM to double-create records.

Here is the JSON payload structure we are seeing:

{
 "source": "com.nice.cxone",
 "detail": {
 "interactionId": "a1b2c3d4-...
 "eventType": "conversation.analyzed",
 "eventTimestamp": 1698765432100
 }
}

We’ve tried a few things:

  • Checked the CXone integration settings. No obvious retry policies or fan-out configurations that look wrong.
  • Added a simple deduplication check in our consumer lambda using a DynamoDB table with the interactionId as the primary key. It works, but it feels like a band-aid.
  • Verified that the script isn’t triggering multiple webhook calls. It’s a single call at the end of the flow.

Is there a way to configure the EventBridge source to prevent these near-duplicate sends? Or is this expected behavior due to internal retries on the CXone side? The docs don’t mention idempotency guarantees for EventBridge events.

We’re using the AWS SDK v3 for our consumer. Not sure if there’s a filtering rule we can add at the EventBridge bus level to catch this before it hits the lambda.