Hey @gianluca ,
Welcome to the universe of Camunda. Let me try to help you with your questions:
How can I have different values as results of the Human/Task step?
I am not sure exactly sure what you mean. For the input of the user you must create a form. There are various options how you can achieve that. If you want the User to interact with Tasklist, I think an easy way to start are form fields. Or if you are okay with String values you could use the new function of the Camunda Modeler to create forms and deploy those together with your bpmn diagram. If you have decide the way you like to build your forms, you could then have a variable, that stores the different values form the usertask.
Why when I define an output in the Task step, this is not available in the following block?
If you define a variable in the Usertask this variable is available in the process afterwards. So if you create in the user task the variable age you can use the variable in Expressions to see if it contains a certain value etc.
And how should I proceed if I want the user to get a task assigned to it but I want to halt the execution of the flow on the wait of a system message:
This is a little bit unclear. You want to assign the user and then pause the execution (meaning the user is not allowed to work on its task) or do you want to pause the process after the user finished its task or do you want that both things need to happen at the same time? I think this can be solved easily by using BPMN symboles, like for example the message receive event.
How do I route an external event to a already running-instance in Camunda?
This depends on the event type. But if you use messages for example you can define correlation keys for the message, so it finds its process instance.
how do I indicate that the external event is for the that specific instance?
Again not sure what kind of event you are talking about. But again correlation keys for messages would help here.
Last but not the least, having a technical step on a business process such as the ones that I am working on, doesn’t sound too correct.
I would expect a task to be assigned to a user, and the task itself would halt until an event comes through …
A usertask always halts until a user completes it. Not sure if that is what you mean.
I hope that helps. Cheers