Assignment of users in different Task

Hello, I have modeled a process and then automated it. The problem is that I can only assign the tasks to myself, but I would like to assign them to 2 users. I have two lanes and would like to create a total of 4 users, but unfortunately, it’s not possible. I have read the documentation, but I couldn’t find a solution, and the academy videos don’t cover this topic. Can you help me with this without generating any programming code? Is there any way to set up retain familiarity and separation of duty for users? Thank you for your help.

Hi @FC_Catalonia - welcome to the forums! To assign tasks to other users, you must first have those users created within your organization. Once the users exist, you can assign the task to the users in the BPMN model itself:

Have a look at those docs and let me know what other questions you have!

Hello, I have read the documentation, but it doesn’t provide specific instructions on how to create users. There is no guide for it, and the tutorial videos don’t mention it either.

@FC_Catalonia - I will take that feedback to our documentation team! Are you using the SaaS product, or are you running a self-managed instance with Docker or Kubernetes?

I am using the SaaS product. I have several more questions, such as data input and handling complex data. I previously used a different workflow management system, and I find it a bit challenging. May I ask questions about it?

In the Saas product, you can select the Organizations menu in the top right of the Console, and select “Manage” there:

Screenshot 2023-06-12 at 11.08.44 AM

On the next screen, you’ll have a tab for “Users” and can add new users there. The process is different if you decide to switch to the self-managed version, FYI.

The forums are a great place to ask your questions, but usually it’s better to create a new topic for each topic. That helps keep the conversation focused, and also makes it easier for others to reference that topic and learn from it!

Thank you so much. Is it possible to set up without adding an email address? Could I enable “retain familiar” and “separation of duties” for the users? Thank you, I will then ask more questions.

Users in the SaaS product require an email address; there are more flexible options with a self-managed installation. I am not sure what you mean by “retain familiar” and “separation of duties”, can you elaborate?

With “retain familiar” can be translated to English as “user-specific task allocation.” It refers to a situation where there are two users, and a task assigned to a lane should be executed by only one user, while the other user is not allowed to perform it.

“Separation of duties” refers to the principle of the “four-eyes principle” in English. When two people are present in a lane, one task is assigned to one user, but the other task should not be performed by that user; instead, it should be carried out by another person.

Here are the translations:

retain familiar (user-specific task allocation)
Separation of duties (four-eyes principle)

Neither of these are supported out of the box as you’ve described them. Both can be achieved by implementing some custom application logic, and there are several ways to approach that, but the process needs to be told who to assign a task to.

When creating a User Task, you can assign it to a single user or specify a list of candidateUsers and/or candidateGroups that are able to claim and complete the task (documentation reference). That gets you close to “retain familiar.”

What is the difference between candidateUsers and candidateGroups? Can you give me an example?
What do you mean by logic? Can you provide an example of where it can be seen? I’m not very good at programming. I’m planning to create some users tomorrow. Can I let you know tomorrow?

I have created a user, but I am still unable to assign a task to them. What should I do now?

@FC_Catalonia - to achieve what you are asking about, you will need to write some code that handles the business logic that determines what user should be assigned to what task. One way you could do this is to create a job worker that returns the user the task should be assigned to.

How are you trying to assign a user to a task? Unfortunately I need a lot more detail to be able to assist much further - can you share your BPMN model, and show how you’re trying to assign the task?

First, I created a user as you told me yesterday. Then, in the task list, there’s only “Assign to me,” and I don’t know what to do next. The problem is that I don’t have enough knowledge to write the code or understand how to integrate it into Camunda. There are no examples available, and I can’t make sense of the videos and documentation.

Correct, in Tasklist you can only claim tasks for yourself. As mentioned in an earlier reply, when you create a User Task in your process, you can assign a user at that time:

Thank you very much. The documentation does not explain how to do it exactly, and no example is provided. The information in the documentation is not really helpful. I’m really overwhelmed. How are beginners supposed to implement something like this? It’s not addressed in the videos at all.

It sounds like you’re missing some conceptual pieces about how Camunda operates, and might still be using a mental model from another product that functions in a completely different way. I saw you mentioned YAWL in another thread; I’ve never used that, but searching the forums shows some users who migrated from YAWL to Camunda - maybe those threads have helpful tidbits?

Regarding user assignments, each task type - of which, User Task is one type - of the BPMN spec that Camunda supports, there are properties in the details pane in Modeler that control how that task behaves. In the case of the User Task, there is an Assignment section, with the Assignee field mentioned in the documentation (the details pane also provides a link to the documentation). If you enter a valid user ID in the Assignee field, Tasklist with automatically assign the task to that user.

Yes, previously I used YAWL and watched the videos for Camunda and also read the documentation, but I’m having trouble representing it similarly. Not all topics are covered in the videos, and I’m a bit desperate. I find it strange that no video was made specifically for the users. I created a user, but I still can’t see what their user ID is. I apologize if I’m writing a lot. The BPMN videos were great, but from my perspective, I’m missing the videos on executing Camunda, making it difficult for beginners.

The documentation I linked says what the user ID value should be, and includes a note with an example. As you are using Camunda Platform 8, the email address would be the user ID.

I appreciate the frustration; it sounds like you’re trying to dive deep into multiple topics at the same time. Might I suggest implementing a model first. Don’t worry about the data, don’t worry about users, just focus on the process model itself. There are some great Camunda Academy videos around this topic, and there are lots of videos on YouTube too (my favorite introductory YouTube video is the Camunda 8 Code Studio video series). Once you have your process modeled, then start working through the implementation details one at a time.

I suggest trying it this way because Camunda is quite different from YAWL, and trying to map concepts 1:1 between the two is going to be arduous and confusing. I recommend “starting with a blank slate” so to speak: start with just the process model, then build on top of that.

I have seen the User-ID mentioned in XML; however, it does not explain how to implement it. This makes me sad. I have modeled a process and executed it. I need to write a research paper on translating a process from a workflow management system to Camunda.