Camunda 8 Human Task Job Worker – Complete Guide with Properties & Examples

Camunda 8 Human Task Job Worker – Complete Guide with Properties & Examples

In Camunda 8, Human Tasks are implemented very differently from Camunda 7.

There is no embedded engine, no Java Delegates, and no direct Tasklist logic inside the engine.

Instead, Camunda 8 is built on Zeebe, a distributed, event-driven workflow engine, where job workers are responsible for executing work—including Human Task lifecycle management.

This blog explains:

✔ How Human Tasks work in Camunda 8
✔ What a Human Task Job Worker is
✔ All-important Human Task properties
✔ Assignment, completion, and variables
✔ Differences from Camunda 7
✔ Best practices and real-world examples


⭐ 1. How Human Tasks Work in Camunda 8 (Big Picture)

In Camunda 8:

  • A User Task in BPMN creates a Human Task job

  • The Tasklist application interacts with the engine

  • Workers handle lifecycle events (create, claim, complete)

  • The workflow continues only after the task is completed

⚠️ Important:
Human Tasks are asynchronous by design in Camunda 8.


⭐ 2. What Is a Human Task Job Worker?

A Human Task Job Worker is a worker that:

  • Subscribes to Human Task–related job types

  • Manages task state and metadata

  • Coordinates with Tasklist

  • Does NOT execute business logic (users do)

Unlike service task workers, human task workers mostly manage orchestration, not computation.


⭐ 3. BPMN Human Task in Camunda 8

A typical BPMN Human Task:

<bpmn:userTask id="ApproveLoan" name="Approve Loan"/>

At runtime:

  • A job is created

  • The job waits for human interaction

  • Completion triggers workflow continuation


⭐ 4. Core Human Task Properties in Camunda 8

These properties are configured in Camunda Web Modeler or BPMN properties panel.


🔹 4.1 assignee

Defines the user responsible for the task.

assignee = john

✔ Single user
✔ Can be set dynamically using variables

Example:

assignee = =loanOfficer

🔹 4.2 candidateUsers

Defines users who can claim the task.

candidateUsers = alice, bob

✔ Any listed user can claim
✔ Once claimed, task becomes exclusive


🔹 4.3 candidateGroups

Defines groups allowed to claim the task.

candidateGroups = managers, finance

✔ Common in enterprise workflows
✔ Integrated with identity providers


🔹 4.4 dueDate

Defines when the task should be completed.

dueDate = =now() + duration("P2D")

✔ Used for SLA tracking
✔ Visible in Tasklist


🔹 4.5 followUpDate

Used for reminders or escalation.

followUpDate = =now() + duration("P1D")

🔹 4.6 priority

Defines task importance.

priority = 80

✔ Higher value = higher priority
✔ Helps ordering in Tasklist


⭐ 5. Input & Output Variables (Human Task Mapping)

Input Mapping

Variables passed into the task:

input: loanAmount = =loanAmount

Output Mapping

Variables returned after completion:

output: approved = =approved

✔ Clean separation of scope
✔ Prevents accidental variable overwrite


⭐ 6. Task Claim, Complete & Lifecycle

Task Lifecycle:

  1. Task is created

  2. User claims task (optional)

  3. User completes task

  4. Engine resumes workflow

Completion triggers:

  • Variable updates

  • Gateway evaluation

  • Next BPMN step


⭐ 7. Tasklist Role in Camunda 8

Tasklist is a separate application that:

✔ Displays human tasks
✔ Handles claim/unclaim
✔ Submits completion data
✔ Talks to Zeebe via APIs

It is not embedded in the engine.


⭐ 8. Human Task vs Service Task Workers

FeatureHuman TaskService Task
ExecutorHumanWorker
Job TypeUser TaskCustom type
ExecutionManualAutomatic
DurationMinutes/DaysMilliseconds/Seconds
RetryManual/Process logicAutomatic retries
SLAImportantUsually not

⭐ 9. Comparison with Camunda 7 Human Tasks

AspectCamunda 7Camunda 8
EngineEmbeddedDistributed
ExecutionCan be synchronousAlways async
TasklistBuilt-inSeparate app
AssignmentEngine-managedWorker-managed
ScalingLimitedHighly scalable
TransactionsACIDEventual consistency

⭐ 10. Real-World Example: Loan Approval

Flow:

  1. Customer submits loan request

  2. Service Task validates data

  3. Human Task: Loan Officer approval

  4. Manager approval (conditional)

  5. Final notification

Human Task properties:

  • candidateGroups = loan_officers

  • priority = 90

  • dueDate = +2 days


⭐ 11. Best Practices for Camunda 8 Human Tasks

✔ Always use candidateGroups for scalability
✔ Avoid hard-coding assignees
✔ Use input/output mappings
✔ Set dueDate for SLA tracking
✔ Keep Human Tasks simple (decision, not logic)
✔ Combine with DMN for rule-based decisions
✔ Monitor with Operate
✔ Design for async completion


⚠️ Common Mistakes to Avoid

❌ Expecting synchronous behavior
❌ Putting business logic in Human Tasks
❌ Forgetting variable mapping
❌ Hard-coding user IDs
❌ Ignoring SLA properties
❌ Treating Camunda 8 like Camunda 7


🎉 Conclusion

In Camunda 8, Human Tasks are:

✔ Asynchronous
✔ Scalable
✔ Event-driven
✔ Managed via Job Workers and Tasklist
✔ Perfect for cloud-native architectures

Understanding Human Task Job Workers and properties is essential to design robust, enterprise-grade workflows in Camunda 8.


💼 Professional Support Available

If you are facing issues in real projects related to enterprise backend development or workflow automation, I provide paid consulting, production debugging, project support, and focused trainings.

Technologies covered include Java, Spring Boot, PL/SQL, Azure, and workflow automation (jBPM, Camunda BPM, RHPAM).



Comments

Popular posts from this blog

jBPM Installation Guide: Step by Step Setup

Scopes of Signal in jBPM

OOPs Concepts in Java | English | Object Oriented Programming Explained