Complete user task with zeebe worker or tasklist api (GraphQL)?

Hello everyone,
I have a BPMN process which contains mostly user tasks.
The plan is to use a react frontend instead of camunda tasklist.

Which is the best way to complete the user tasks programmatically from the backend?
Using graphql for the tasklist api or with @ZeebeWorker(type = “io.camunda.zeebe:userTask”)?

Also, conserning the latter option, is there a tutorial? Because I find it somehow difficult to understand the logig for the implementation.

Thank you!

My understandings for your reference.

There are basically two steps you should consider.

Firstly get the tasklist.

1, Through Tasklist Graphql API(recommended)
2, Read from default data storage Elasticsearch
3, Get from customized data storage exported by other Zeebe data exporters than Elasticsearch.
4, Job workers as you mentioned above and forward the task and store it somewhere else as your data store.

You should be careful with the lifecycle of user tasks where some task instances may no longer required and should be disabled.

Secondly complete the task.

1, Still through Tasklist Graphql API(recommended)
2, Zeebe client API to complete task with task id

I’m not sure if there are other effective ways to do that. Still in learning.

1 Like

Hi @camunda_kon,

under the hood, the tasklist API calls the Java client and send the complete command via GRPC.

For me it sounds more conventient to stay with the GraphQL API only instead of bringing in another library into your code.

Hope this helps, Ingo

1 Like

Sorry for that but I didn’t mentioned that I am using the self-managed approach. Does this affect the solution you proposed?

1 Like