Assignment of users in different Task

I have watched many videos over 10 hours, unfortunately, not much is taught.

@FC_Catalonia - apologies, but I’m not sure what else I can provide regarding the user ID/assignment? You need to put the email address of the user in the Assignee field in Modeler, which I provided a screenshot of.

I will give it a try tomorrow and let you know. Hopefully, it works. I have some doubts and I feel like crying because it’s really challenging for a beginner to start with Camunda after watching the Academy videos, even though not everything is covered.

Hi @FC_Catalonia,

maybe I can give some more background here.

For the task assignment, there are several concepts foreseen, but not completely implemented in the Camunda Tasklist right now. And it differs, if you use Camunda 8 as a Cloud service or if you run your implementation in your own cluster. Main difference here is the way of user administration. In Cloud, you reference your users with their email address, that you enter when you add a user in Console. In self-managed installations, you reference users by their user IDs given in Identity (The users are saved in Keycloak). Large company don’t want to administrate users in different systems, they connect their User access management system via Keycloak to identity in their self-managed installation.

Looking at the user tasks in the process model and the Tasklist application, there is a gap of implemented features at the moment.

If you assign a user task via “Assignee” directly to a user, then she/he is responsible to complete it. If you assign a task to one or more teams of people, the team names are given in “Candidate Groups”. But there is no filter in Tasklist implemented to select all tasks for teams where I am a member of. “Candidate Users” are the teams for a small company. They don’t have departments (Groups), but several named individual who are able to work on the task.
When one of the candidates assigns a task to himself, the task is not visible in the tasklist for the other candidates anymore (This is missing in the Tasklist as well). Common expectation is, that the user who picked the task from the tasklist completes it and the process instance continues with the outgoing sequence flow from the user task.

In case the user cannot complete, he can unassign himself from the Task and hand it back into the group list.

To work as efficient as possible on a user task, the task requires a good form. It should be self-explanatory, not overloaded and provide sufficient information to get the task done. This completely separated from the task assignment. If you don’t provide a form for the user task, the Tasklist shows just a generic list of variables, which is confusing for a beginner.

Hope this helps, Ingo

Thank you very much. So, if I understood correctly, I cannot access “Candidate Groups” and “Candidate Users” in the Tasklist in SaaS. Is there a solution on how I can do that? What is Keycloak? I have modeled a process, and my idea was that if there are two people and one of them takes the task, only that employee is responsible.

Although I entered the user’s email address under “Assignee,” the task is not displayed in the other user’s task list. Are there no videos available for creating and assigning users?

I have just created two users. And invited them to the organization. I specified their email addresses during the assignment. However, when I go to the task list, anyone can take the task, even though another employee should not have access to it. Since I assigned it to them, they are unable to write anything. What should I do now? I assigned it to someone, but they are unable to work on it. I tryied everything.

Hi @FC_Catalonia,

That’s how the Camunda Tasklist is built right now. It doesn’t restrict, it just proposes which tasks the user should work on.

I have seen a lot of companies with a wide range of Tasklist requirements. As a vendor, we cannot fulfill all requirements here. They range from “my users get only a single task presented and have to complete it in the next 3 minutes, overwise our SLAs a violated” until “my users should have all the freedom to see every task and pick what they like”.

If the Camunda Tasklist doesn’t meet the requirements for a customer, they usually build their own UI based on the Tasklist API to support their users flow best.

Hope this helps, Ingo

So if I understand correctly, the Tasklist does not support assigning tasks to specific individuals. You can write someone’s name under “Assignee” even if they cannot perform the task, and in that case, only the owner can execute it. Am I understanding this correctly? If I have a task named A, the employee A should perform it. Such functionality is not supported in Tasklist or Camunda, is that right? How do I achieve this using the API? I have never done this before and cannot find any information. If the API is the only solution, I need to implement it that way. Do I need to work with Java, or can I use Python with Jupyter Notebook? How can the users in my organization, whom I have invited, execute the tasks?

Hi @FC_Catalonia,

task assignment from the task users point of view highly depends on knowing the userId (easy, as he has logged in) and it’s groups (difficult, as Camunda 8 SaaS organization management doesn’t support groups right now) and create the best filters to show only tasks that the user should see.

Examples: “assignee=john.doe@some-domain.com” or “candidateGroups=marketing”.

You can use any framework to build your User interface that can access either the REST API for Tasklist directly or where you can generate a client library for the REST API.

The most important endpoint is task search: Task API | Camunda Platform 8 Docs. The TaskSearchRequest lists all available query parameters: TaskSearchRequest | Camunda Platform 8 Docs

Hope this helps, Ingo

From what I understood, only the process owner can execute the task, and not users if no API has been created. Did I understand it correctly? Is there a video available with the API? I find the documentation a bit cumbersome.

Theoretically, would one need to write the email addresses of the users under “candidate user”?

Hi @FC_Catalonia,

No, the task execution is not limited to the process owner. Think of a order-to-cash process where many departments are involved. (remember the diagram “A first BPMN model…” of the BPMN 2.0 academy course, section Important Symbols)

The art of Human Task Management is to bring all tasks as effective as possible to the users who should complete them. In this example, the users work in Sales, Logistics and Accounting.

Maybe. The real values depend on the user directory. They have to be unique IDs (which email addresses are)

Hope this helps, Ingo

Yes, I understood the part about the videos. I have created a user, but they are unable to perform the task even though their email address is listed under Assignee.

Hi @FC_Catalonia,

what do you mean with

In my Tasklist, with the filter selection “All open” I can find the Review Tweet task, that is assigned to somebody else:

When I press “Unassign”, I can assign it to me and complete the task.

Hope this helps, Ingo

I understand that, but I don’t want to perform the role of a process owner. The first task is assigned to someone else, not me, and therefore I don’t want to unassign myself as the process owner. That would violate the rule.

@FC_Catalonia - can you share your BPMN model (either the exported model, or a screenshot of the User Task with the details pane expanded), and a screenshot of what you’re seeing in Tasklist? After reviewing this thread again, I’m a little bit confused on what exactly you’re seeing on your end.

Can I send you a private message about this issue?

If you are more comfortable sharing those details privately, absolutely!

@FC_Catalonia - thanks for sharing your model privately. As I mentioned in the DMs, everything is working as designed. I feel like we are going in circles in this thread, so I want to try to summarize everything above:

  • Tasklist currently does not have permissions/authorizations that limit who can claim a task. As Ingo said, our product team is balancing the very specific needs for a wide variety of users and use cases. They are working on adding some permissions in Tasklist (utilizing candidateUsers and candidateGroups), but that feature is not yet complete.
  • Tasklist provides a quite complete set of APIs that allow developers to build their own Tasklist UI that implements their unique requirements while still using Camunda Platform 8 to manage process execution.
  • In order to implement what you are looking for, you will need to write a custom Tasklist implementation that enforces the rules you require.

Our Community Hub has examples of community contributed custom Tasklist applications that you can look at for inspiration. Below are two examples.

Thank you very much. Is there perhaps a video where one can see the implementation so as to gain a better understanding? So, something that cannot be done with Java or Python.