Calling subprocess with Call activity

Hi everybody, first post from a complete Camunda newbie here (be gentle!).

I have a question regarding Call activities. What I’m trying to do:

  1. Set up a high-level process flows of so called Value streams (i.e., value adding processes)
  2. Be able to link these individual processes to their detailed flows with a Call activity

So, something like this:
Start → Application → Risk assessment → Decision → Post-processing → End

I’d like to be able to click the blue “expansion arrow” (or something similar) that you get for a normal subprocess on each of these four main processes in order to get to the detailed process.

Here’s some additional info

  • As I understand it, I cannot use the built-in subprocesses because I need various lanes in my detailed flow and the BPMN definition assumes a subprocess takes place within one specific lane
  • Call activities are only available in the enterprise edition of Cawemo (which I don’t have)
  • I have version 5.10.0 of Camunda Modeler
  • I don’t have access to a server
  • I’m not a developer, but I can understand written code fairly well, even though I wouldn’t have been able to write it myself (in most cases)

What I’m struggling with is how to populate the various fields in the details of the Call activity (Called element etc.).

Is there anybody that would be able to give me a few pointers?

Hi @NickGabben,

A call activity links to a different process. You can model the called process in the same file that contains your caller, or in a different one. If you want to use the same file, either add another Pool or use the following community plugin:

However, the possibility to link a call activity directly to another model (by browsing the available models) is only available in Cawemo EE (or Camunda 8). So, you need to configure the link manually:

  • Type: Select BPMN
  • Called element: add the ID of the other process (The ID is defined in the model)
  • Binding: “latest” tells the engine it should always start the most recent version of the linked process
  • Tenant ID: If you do not have a multi-tenant Setup, leave this empty
  • Business Key: Should the engine handover the business key to the called process?
  • Delegate Variable Mapping: Leave it to “<none>

You can read more about call activities in Camunda
https://docs.camunda.io/docs/components/modeler/bpmn/call-activities/:

Thank you for your reply, @StephanHaarmann!

That’s pretty much what I had tried. I’ve modelled two different variants, but I’m not sure any of them is correct.

Variant 1
Here, I have the top-level process and the “called process” in the same bpmn file, each in a separate pool. In the Call activity, I have entered the following for the called element:

  • Type: BPMN
  • Called element: ID of the called process
  • Binding: latest
  • Tenant ID: empty
  • Business key: not checked
  • Delegate Variable Mapping:

Is that technically correct? I was expecting a symbol to appear on the Call activity (similar to the blue and white arrow symbol that you can see on the standard subprocesses), but maybe that’s not the case.

Variant 2
Here, I have tried to use a process in a completely separate file as called element (i.e., it has its own bpmn file). I’ve used the same settings as for variant 1 above (with a different ID for the called element, of course). Do the two files have to be in the same folder or how does that work? I have a folder for Camunda models and I have put all my stuff there.

What I’d like to accomplish is to have the high-level process and then be able take a dive into the more detailed processes simply clicking on the high-level task. This is how it works with the subprocess (arrow symbol), but as I mentioned previously, the lower-level processes I have still span multiple lanes, so I can’t use the subprocess concept.

Is there a solution for this, or will I have to navigate through the two levels manually? Of the two versions above, option 1 doesn’t really appeal to me because then the file would be a mix of the high- and the lower-level view. Option 2 is neater, but as I said (and as I’m sure you’ve realized from my questions and description), I’m new to Camunda and also to BPMN, although I had at least heard of that before. :slight_smile:

Hi @NickGabben,

Unfortunately, you would need to navigate through the different levels manually. (No matter whether you use Variant 1 or 2).

Thank you again, @StephanHaarmann!

I signed up for the 30-day trial and have been playing around a bit. When I set up a call activity to call another process, I get an error message that a call activity requires a (fair enough), but when I do enter the ID of the process I’d like to call, it passes the validation, but I get this instead:

image

I have deployed all processes, so I’m not sure why I get this message. The main process and the called process are in the same project folder. Have I made a mistake? They are both very, very simple processes, so I don’t think there’s a semantic issue.

Can you provide the models?

Sure! Please find my masterpieces attached :slight_smile:

called-process-1.bpmn (4.6 KB)
main-process.bpmn (4.0 KB)

Here’s the third (I wasn’t allowed to attach three in one message)
called-process-2.bpmn (4.6 KB)

Hi @NickGabben,

When you use a pool, the process ID is defined for the Pool and not for the diagram:


This ID should be used to link the process. I hope this resolves your issue.

It did indeed, vielen Dank! Not completely intuitive, but now that I know I think I’ll manage. And I can also navigate back and forth without having to exit to the project folder, nice.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.