Camunda 7 Tasklist Customization – Complete Guide with Examples

Camunda Tasklist is the built-in web application used to manage User Tasks inside Camunda 7.
By default, it offers a simple UI for completing tasks — but many real-world systems need:

✔ Branding / Company colors
✔ Custom login pages
✔ Custom header & footer
✔ Custom forms
✔ Custom task filters
✔ Buttons, scripts, or plugins
✔ Integration with your own front-end

This guide explains everything you can customize in Camunda Tasklist, with examples, best practices, and recommended approaches.


⭐ What Can You Customize in Tasklist?

Camunda 7 Tasklist allows customization in three layers:

1️⃣ Look & Feel (Branding & UI)

  • Colors

  • Logos

  • CSS styles

  • Header/Footer

  • Layout

2️⃣ Behaviour (Add JS, Buttons, Actions)

  • Custom scripts

  • Additional buttons

  • External redirects

  • Dynamic task field behaviour

3️⃣ Forms (UI for User Tasks)

  • Camunda Forms

  • Embedded Forms

  • External Forms (your own UI)


1. Customizing Tasklist Theme (CSS + Branding)

Tasklist uses AngularJS + LESS/CSS.
You can override styles by placing your CSS file inside:

src/main/resources/META-INF/resources/webjars/camunda/app/tasklist/styles/custom.css

Example: Change background & logo

.app-header { background-color: #002b5c !important; /* your company color */ } .app-logo { background-image: url("images/my-logo.png") !important; background-size: contain !important; }

Add your logo under:

src/main/resources/META-INF/resources/webjars/camunda/app/tasklist/images/my-logo.png

2. Customizing the Login Page

Override login page:

src/main/resources/META-INF/resources/webjars/camunda/app/tasklist/login.html

You can change:

✔ Background
✔ Company branding
✔ Add “Forgot password?” link
✔ Add security notice

Example snippet:

<div class="custom-login-banner"> <img src="images/my-logo.png" /> <h2>Welcome to RealTech Workflow Portal</h2> </div>

3. Adding Custom JavaScript to Tasklist

You can inject any JS logic by adding:

src/main/resources/META-INF/resources/webjars/camunda/app/tasklist/scripts/custom.js

Example: Alert when opening a task

camForm.on('form-loaded', function() { console.log("Form loaded:", camForm.formElement.key); });

Example: Add custom button

var customBtn = document.createElement('button'); customBtn.innerText = "Help"; customBtn.onclick = () => alert("Contact support: support@company.com"); document.body.appendChild(customBtn);

4. Custom Task Filters

You can predefine filters for:

  • My Tasks

  • High priority tasks

  • Tasks due today

  • Tasks for department

  • Tasks by process definition

Filters go under:

src/main/resources/META-INF/processes.xml

Example filter:

<filter> <id>highPriority</id> <resource>task</resource> <properties> <property name="name" value="High Priority"/> <property name="color" value="red"/> </properties> <query> <property name="priority" value="50"/> </query> </filter>

5. Custom Task Actions (Buttons & REST calls)

You can add custom buttons inside the layout:

task.html task-actions.html

Example: “Escalate Task” button

<button class="btn btn-warning" ng-click="escalate(task.id)"> Escalate </button>

Add API call:

$scope.escalate = function(taskId) { $http.post('/workflow/escalate/' + taskId) .then(() => alert("Task escalated!")); };

6. Custom Embedded Forms for User Tasks

You can create your own HTML/JS form instead of using Camunda Forms:

camunda:formKey="embedded:app:forms/approve.html"

Form file:

src/main/resources/META-INF/resources/webjars/camunda/app/tasklist/forms/approve.html

You can use:

  • Bootstrap

  • Tailwind

  • jQuery

  • Custom validation

  • Dynamic JavaScript fields


7. Using External Task Forms (Recommended for Modern Apps)

If you want full UI freedom, your custom UI (React/Angular/Vue) should use:

camunda:formKey="external:loan/approval"

Then your UI uses REST API:

  • /task?assignee=…

  • /task/{id}/form-variables

  • /task/{id}/complete

This is the modern standard for enterprise portals.


8. Customizing Tasklist Navigation & Layout

Override the layout template:

tasklist.html navigation.html header.html footer.html

You can add:

✔ Company footer
✔ Contact info
✔ Department names
✔ Links to external portals
✔ Hotline support number


9. Custom Plugin Development

(Advanced – For Enterprises)

Camunda Tasklist supports plugin injection:

  • Menu plugins

  • Task action plugins

  • Process information panels

  • Dashboard plugins

Plugin example structure:

tasklist-plugin/ ├── plugin.js ├── plugin.html └── plugin.css

Real-World Example – Customized Banking Tasklist

Bank added:

✔ Blue/white branding
✔ Loan officer dashboard
✔ SLA exposure panel
✔ “Escalate to supervisor” button
✔ Custom menu on left
✔ Advanced React frontend via external forms

Result → Modern workflow experience without coding BPM logic.


Best Practices

✔ Prefer External Forms if UI requirements are heavy
✔ Keep embedded JS minimal
✔ Store all customizations in version control
✔ Use typed variables in forms
✔ Avoid modifying Camunda core files
✔ Re-apply customizations after Camunda upgrade
✔ Add login security (Keycloak/JWT/SAML)
✔ Always test in multiple browsers
✔ Create separate theme CSS file


⚠️ Common Mistakes

❌ Editing Camunda webapp source directly
❌ Not using “META-INF/resources” folder
❌ Confusing Embedded Forms with External Forms
❌ Using too much AngularJS (deprecated)
❌ No security on REST endpoints


🎉 Conclusion

With Tasklist customization in Camunda 7, you can create your own:

✔ Fully branded workflow portal
✔ Custom task actions
✔ Advanced UI interactions
✔ Dedicated dashboards
✔ Enterprise-grade user experience

From simple CSS branding to full external UI integration, Tasklist is extremely flexible and can be customized to match any business requirement.

💼 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).



🎥 Learn IT with Shikha on YouTube

Prefer learning through videos? Watch practical tutorials on Kafka, Camunda, Alfresco, Java, Spring Boot, Microservices and Enterprise Architecture.

▶ Subscribe to Learn IT with Shikha on YouTube

Comments

Popular posts from this blog

Top 50 Camunda BPM Interview Questions and Answers for Developers (2026 Guide)

10 BPMN Best Practices Every Camunda Developer Should Know

OOPs Concepts in Java | English | Object Oriented Programming Explained