Best practice for consuming events directly from Zeebe (bypassing Operate/Tasklist)?

Hi everyone,

I am working on a Camunda 8.9 (later 8.10) architecture and I would like to avoid relying on Operate and Tasklist. Instead, I want my custom application to receive notifications and process events directly from Zeebe.

What is the recommended approach for this? Should I be looking into building a custom Zeebe Exporter (e.g., to Kafka/RabbitMQ), or is there a better way to consume real-time engine events natively?

Any advice or architectural patterns you can share would be greatly appreciated. Thanks!

Building a custom Zeebe Exporter is indeed the recommended approach for consuming real-time engine events directly from Zeebe, bypassing Operate and Tasklist (available only in Self-Managed). I found the following relevant resources:

Does this help? If not, can anyone from the community jump in? :waving_hand:


:light_bulb: Hints: Use the Ask AI feature in Camunda’s documentation to chat with AI and get fast help. Report bugs and features in Camuda’s GitHub issue tracker. Trust the process. :robot:

Hello, It depends on your use case

If your goal is to capture all kinds of engine events and everything happening inside Zeebe, then the recommended approach is usually to develop a custom Zeebe Exporter. This gives you full access to the event stream and allows your application to react to all workflow/activity state changes in real time.

On the other hand, if you only need to react to very specific events, for example events related to User Tasks only, then using User Task Listeners is probably a better and simpler approach.