Business Key feature in Camunda 8

I currently evaluate to move our Camunda usage from Camunda 7 to Camunda 8.

The current implementation with Camunda 7 is mainly based on the business key feature. This is the linkage between the Camunda scope and our application scope. We use that key to search for follow up tasks for the current user and also as search criteria to return the process state. On each delegate we use the key for our business operations.

I have not seen something similar on Camunda 8. Also a workaround with process variable will not work, because the current APIs does not support such query option.

How should this work on Camunda 8? The explanation in following post does not help.

Are you plan to add that feature?

BR Bernd

Hi @BerndVarga,

the Business key in Camunda 7 allows to identify a process instance on the top level of the relational database structure without any join on variables or anything else.

Technically there is no need for a business key in Camunda 8 anymore, as the process instances are not stored in a relation database.

For migration I would introduce a variable with name businessKey and route all methods that get the business key into job.getVariablesAsMap().get("businessKey").

Hope this helps, Ingo

Hi @Ingo_Richtsmeier ,

Thanks for the reply. Beside the topic with the business key we have from business the requirement, to query for tasks (also historical tasks) which have some set process variable like customer id, account, user, …
Do we need to implement such relations on our own, or are there plans, to provide such capability?

Query for tasks based on process variable values?
Query for process instances based on process variable values?

Hi @BerndVarga,

For this one, please check the Operate API - variable endpoint - if that works for your use-case:

We’re planning to extend the API properties in Tasklist GraphQL to retrieve process-related information.

Best,
Aleksander

1 Like

Hi @aleksander-dytko ,

Thanks for the hint.

Following query is working on operate-api side:

/v1/variables/search
{
  "filter": {
    "name": "businessKey",
    "value": "\"93cec599-de38-490b-86e1-5f4d72033a9c\""
  }
}

→

{
    "items": [
        {
            "key": 2251799813707088,
            "processInstanceKey": 2251799813707087,
            "scopeKey": 2251799813707087,
            "name": "businessKey",
            "value": "\"93cec599-de38-490b-86e1-5f4d72033a9c\"",
            "truncated": false
        }
    ],
    "sortValues": [
        "businessKey",
        2251799813707088
    ],
    "total": 1
}

But I still miss such feature also in Tasklist GraphQL.

1 Like