We’ve set up a Genesys Cloud Data Action to trigger on routing:conversation:activity events via EventBridge. The goal is to propagate OpenTelemetry trace context from the inbound request through the Data Action execution. Everything works locally, but in production, we’re seeing duplicate events for the same interaction.
Here’s the payload structure we’re receiving:
{
"source": "genesys.cloud",
"detail-type": "Routing Conversation Activity",
"detail": {
"conversationId": "abc-123",
"eventType": "conversation-update"
}
}
The Data Action logic creates a new OTel span using the traceparent header. When the duplicate event arrives, it creates a second span with the same trace ID but a different parent span ID. This is breaking our distributed tracing visualization in Jaeger. We’re getting two parallel traces instead of one continuous flow.
I’ve tried adding a deduplication key in the Data Action JSON mapping, but EventBridge doesn’t seem to respect it for near-real-time events. The events arrive within milliseconds of each other.
Has anyone implemented a deduplication strategy for Genesys Cloud EventBridge events? We need to ensure only one event triggers the Data Action per interaction update. Any ideas on how to handle this in the Data Action configuration or via a pre-processing step?