Simple confirmation process

Hi,

I am looking into a use case which seems to be rather simple. In many cases employees need to confirm something. E.g. we send out an Email with the context and the employee needs to press a YES or NO button. There are many ways to implement this.

But I am wondering how to realize this with a tool like Camunda if considering additional features. E.g. the user may want to correct his answer by clicking the second button within the same Email.

Is there anyone of you who built something like this? And if so, how? Perhaps like this:

Would be very interested what you come up with. As well what to do in terms of tractability of responses, e.g. sometime it will be required to look who did what choice and when. I guess this can be read out of the logs?!
Btw. this will not be an survey tool.

Thanks,
Ralf

Here is a full example for you:

Hi Stephen,

Thanks for that. Pardon me if I misinterpret your model but I cannot see where you consider the case where the user ‘changes his mind’ and selects a different answer.
Because once the user picked his first answer your Node server passes it to task Receive Response of a running process instance which then completes. But if the user chooses a different answer the Node server has no task/process instance to pass the result to.

Thanks,
Ralf

To handle a choice after a choice has already been made then I would likely do similar to your original model that supports the timeout that confirms your choice. You could modify the node code to handle this fairly easily with a additional post that kills the uuid.

Few questions:

  1. Your scenario is basically with have N hours to make your decision, but your decision only “executes” /is final after the timeout?

  2. If your timer was 5 days and I kept changing by mind after 4 days, does the timer restart or still expire 1 day later?

  1. Yes that is correct. Well, I thought that this is the only way to allow the employee to correct his decision as long as the process is running.
  2. The time will not restart.

So, the intend of this exercise is to understand to what extend Camunda/BPMN can and should be used to manage states and when it should not be used. In this case I try to manage an object state (i.e. confirmation object) via the process design.
Which leads to another question. Is this good practice? I mean, where to draw the line. When should object state management be moved to an application layer? If I am talking about forms, things get even more complex. A customer fills out a form and submits it. By submitting, the process instance state changes. If the form state is not handled outside of the process instance then there is no way for the customer to modify the form values he entered.

Sorry for the brain dump.

Have a few ideas for you. Will post tomorrow. Do you have some more specific use cases you are trying to solve? And why you want to use bpmn ?

Hi @ralf,

I did it a few years ago: camunda-7-code-examples/one-time-examples/counterparty-onboarding at master ¡ camunda-consulting/camunda-7-code-examples ¡ GitHub

To catch additional posts from the users, you can use a non interrupting event based subprocesses, where you have to correlate the links from the emails to the message start event. May look like this:

Hope this helps,

Ingo

2 Likes

Thanks @StephenOTT, My employer is very much interested to make process automation happening. We have enough BAs, as well as IT people who understand BPMN. It is the notation of our choice and any non-BPMN compliant tool is out of question.
Because we will apply automation onto all divisions there is no specific business use case. But I fear there are heaps of use cases around the development we don’t know yet if we go with Camunda.

Hi @Ingo_Richtsmeier, yes I thought of the event-based subprocesses as an alternative.

@ralf I was going to post a example nearly identical to @Ingo_Richtsmeier.

Does a mix of @Ingo_Richtsmeier and the node server example (with edits) i posted, match your needs?