Hi Camunda Team and Community,
I’m building a custom tasklist frontend for a headless Camunda 8 Self-Managed deployment (version 8.8) using Node.js with the camunda-8-js-sdk. Before implementing, I’d like to get official recommendations on the best architecture approach for my requirements.
I’ve researched extensively on the forums and found valuable threads like:
- There’s a delay after a process instance is started
- Process variables and task availability issue
- Filter for generic task variable values in tasklist API
- How to retrieve UserTasks with process instance variables
These threads helped me understand Camunda 8’s eventually consistent architecture, but I still have specific questions about the recommended approach for my use case.
Requirements:
-
Complex Sorting by Process Variables:
We need to display tasks sorted by business process instances variables (business priority), NOT just by creation time. -
Variables in Task List Response:
For each task, we need to display some process instances variables and we need these variables returned with the task search results (ideally in a single API call). -
Universal Search:
A single search input field that searches across multiple process variables.
4. Multiple Task Screens:
Each user task needs its own screen:
- Created tasks - Unassigned tasks for claiming
- Created + Assigned - Tasks assigned to the current user
For 5 user tasks = 10 different task list views.
5. Scale and Performance:
- 3000+ active tasks at any time
- 30+ concurrent users
- Lightning-fast response times (sub-second)
- Proper pagination support
From the forum threads and documentation, we understand:
-
Eventually consistent architecture: Zeebe exports to Elasticsearch, and Tasklist/APIs query Elasticsearch. There’s
inherent delay (2-10 seconds). -
Tasklist API v1 limitations:
taskVariablesfilter only supportseqoperator (no LIKE/pattern matching)includeVariablesworks but only for truncated/small variables- Cannot sort by process variables
- Sorting only supported for built-in fields (creationTime, dueDate, etc.)
-
Orchestration Cluster API v2: Does not yet support
includeVariablesin search response. -
Community solutions: Several users have implemented their own database layer (per threads linked above).
Is there an official recommended architecture for custom tasklists that need:
- Sorting by process variables
- Full-text search across variables
- Sub-second response times for 3000+ user tasks?
What is the Camunda-recommended architecture for this use case?
Thank you for your time and guidance!