Hi Gabriel,
I would strongly recommend handling idempotency before the event reaches Genesys.
In most scalable architectures, the best pattern is:
- middleware/event gateway
- idempotency validation layer
- deduplication based on business correlation IDs
Retry scenarios are extremely common in asynchronous systems, and Journey platforms usually assume the source system is responsible for event uniqueness.
What has worked best in my projects:
- immutable business event IDs
- correlationId propagation
- event hashing for replay detection
- short-lived deduplication cache
Trying to clean duplicates afterward becomes much harder operationally and impacts analytics consistency.
Best Regards!
------------------------------
Lilian Lira
Services and Developer Manager
------------------------------