Need to create Camunda PoC - Queries

We are thinking to adopt Camunda in our application, and looking answer for below question so that we can create PoC around it -

  1. Does Camunda provides inbuild Notification Capabilities like Email and SMS?
  2. If it provides Email notification support, then can a user change/edit a new recipient list at run time?
  3. Can Camunda be integrated in such a way that we can see user tasks on our application GUI instead of Camunda’s Tasklist?
  4. Also can we drag and drop any existing process, while creating new/ or editing existing processes? (Ex - I want to drag and drop email notification process as it is while creating any new process.)
  5. Can Camunda provide Retry functionality for Failed Camunda tasks/block? And also the reason for the failure of that task, also can we check the reason of failure. (maybe on right click/hover)

Hello my dear!

Answering your questions: :smile:

1- Does Camunda provides inbuild Notification Capabilities like Email and SMS?
Camunda does not have a native resource for sending emails and sms, but we can use the Camunda API to communicate with external services and thus do whatever is necessary for this.
Classes can even be used within your own spring project, for example, to send emails triggered by a Camunda service task :smiley:

2 - If it provides Email notification support, then can a user change/edit a new recipient list at run time?
YES! You can implement this list of emails in a process variable for example, and allow the logged in user to change the list of emails contained in this variable.

3 - Can Camunda be integrated in such a way that we can see user tasks on our application GUI instead of Camunda’s Tasklist?
YES! Camunda has a Rest API with great resources to use, including retrieving and manipulating user tasks in its own created user interface.

4 - Also can we drag and drop any existing process, while creating new/ or editing existing processes? (Ex - I want to drag and drop email notification process as it is while creating any new process.)
I didn’t quite understand your question… but let’s try to answer haha! In camunda modeler you can edit bpmn files as long as they are in bpmn 2.0 format, being able to drag and drop, model, create new flows, and even delete if you want.
If not, please don’t hesitate to ask and I’ll try to understand better to help you!

5 - Can Camunda provide Retry functionality for Failed Camunda tasks/block? And also the reason for the failure of that task, also can we check the reason of failure. (maybe on right click/hover)
YES! In camunda you can model and define repetition strategies, define the time it will take to repeat, error treatments, among many other things. Quick example, in case you have some activity that you would like to repeat 3x in case of error and being 1 time every 5 minutes, and after these 3 attempts, throw an error to be treated according to the stipulated rules, you can put a “Job execution” setting its “Retry time cycle” to R3/PT5M, its very easy! This tells Camunda that you want to repeat the task 3 times, once every 5 minutes and if it gives an error, play the same to be treated.
In addition to the fact that you can create loopings through the modeling itself using the elements of BPMN 2.0.

image

I hope this helps!

See you soon!
William Robert Alves

Thanks @WilliamR.Alves, for your quick reply.

Can we integrate Camunda Modeler itself. Basically I want the capability to create new process from our application GUI itself?

Continues Discussion Point #3 - Can you please share any reference API for these and also help me understand how UserTask can be perform on our interface. Is it some thing achieved via Camunda forms.

Continues Discussion Point #2 - I took email as an example, but lets say I have one service or user task. And for that task, on our application GUI can we perform such type of runtime operation. Do you have any reference to accomplish the same.

Continues Discussion Point #4 - I can see we can get the list of all Process by an API i.e. /process-definition. So, I want to have an interface where I can drag any of the process from this list and put it in between any two task.

Continues Discussion Point #5 - The reason I asked this, I currently able to show the view of my BPMN file on my application UI(ReactUI) by using BPMN.js. And here I want the retry capability on right click/hover.

Hello my dear!

Continues Discussion Point #3 - Can you please share any reference API for these and also help me understand how UserTask can be perform on our interface. Is it some thing achieved via Camunda forms.

In this link below we have all the APIs available so that you can use the alert and use the Camunda engine through your own application / interface.
https://docs.camunda.org/rest/camunda-bpm-platform/7.19/

Continues Discussion Point #2 - I took email as an example, but lets say I have one service or user task. And for that task, on our application GUI can we perform such type of runtime operation. Do you have any reference to accomplish the same.

In the same link I sent you above, you will have access to manipulate everything you need through these Rest APIs.

  • You can start process instances, search for a certain variable within the process, or even search for a list of variables.
  • Execute activities, or trigger signals to start a certain activity… example: Imagine that in your application you have a button to cancel something that has been done, you can model a process with the necessary steps for this, and when you click on “Cancel” button in your application will call the Camunda API to trigger the start of this cancellation process within Camunda.
  • And many other things that will be possible to do, I suggest taking a look at this documentation or forwarding it to a developer, who will certainly know how to take advantage of it!

Continues Discussion Point #4 - I can see we can get the list of all Process by an API i.e. /process-definition . So, I want to have an interface where I can drag any of the process from this list and put it in between any two task.

If “drag a process-definition” to be done between two activities is referring to 2 activities that are already modeled in Camunda, you can do it, you just model your process definition the way you want, and use an BPMN element called "Call activity ", this element makes the initial call to a process-definition already modeled previously through the ID defined for this process that you want to call, and then you can drag, move and drop it wherever you want.

Continues Discussion Point #5 - The reason I asked this, I currently able to show the view of my BPMN file on my application UI(ReactUI) by using BPMN.js. And here I want the retry capability on right click/hover.

In this case, you can add to your logic for when generating incidents, when clicking on the task in your ReactUI it does an “incident resolve” so that the camunda engine understands that the incident has been resolved and tries to execute the activity again.

I hope this helps :smiley:

Regards.
William Robert Alves

So William when you said click on the task on ReactUI, does that mean you achieve on click functionality. Can you please share the code snippet or a sample repository .

I apologize, but I’m not the best person to talk about front-end, as I’m a Back-end / Camunda BPM engineer.

But from what I understood from your information, you have your own interface that mirrors Camunda’s cockpit in it, right? If so, the person who developed this application will know how to do this without a doubt, as it involves API calls and methods such as .onclick() or .call(), but again, I could be wrong about the methods, because I really don’t understand about front end.

But if you need something related to back-end, Camunda, or even about infrastructure, you can call me!

Regards.
William Robert Alves