Embracing the Future of Automation with Camunda Platform 8’s Headless Workflow Engine

Camunda Platform 8's API-first design makes it a capable solution for headless automation.
By
  • Blog
  • >
  • Embracing the Future of Automation with Camunda Platform 8’s Headless Workflow Engine
TOPICS

30 Day Free Trial

Bring together legacy systems, RPA bots, microservices and more with Camunda

Sign Up for Camunda Content

Get the latest on Camunda features, events, top trends, and more.

TRENDING CONTENT

The concept of “headless automation” is gaining traction within the automation toolset spectrum. Essentially, it refers to utilizing an automation system purely via API calls, eliminating the need for a user interface (UI). Camunda Platform 8 successfully accommodates this rising trend, providing a unique advantage in the rapidly evolving automation landscape.

Understanding headless automation

Headless automation entails operating a workflow engine entirely through APIs and scripting, bypassing the need for user interaction with a UI. In traditional systems, the backend tightly integrates with the UI, often leading to the system’s dependence on the UI for input. Monolithic BPMS (Business Process Management Systems) cannot be used for headless automation solutions because of this tight coupling and the resultant necessity of using a UI to operate them. In contrast, headless systems decouple the UI, allowing operations purely over the API, hence termed “headless.”

The implementation of headless automation provides the opportunity to compose system architectures that either have no UI or include custom UIs that reflect the business domain, as opposed to the technical nuances of the components.

Why choose headless automation?

The primary motivation for adopting headless automation is to integrate automation as a component of a larger system, rather than presenting it as “an automation system.” This approach allows the encapsulation of automation functionality within an aggregate system.

As automation permeates more aspects of business operations, it becomes a cross-cutting business concern. Consequently, solutions encapsulating automation need to express themselves in the user’s business domain rather than the component concerns. With headless automation, users interact with “a solution” rather than switching between the interfaces of various components.

When to implement headless automation

The adoption of headless automation is particularly beneficial when building custom solutions that synthesize numerous disparate components, including automation. It allows users an optimized, single view of the entire system, reducing the technical complexities usually associated with individual components.

It can be used to move from paper-based process documentation and checklists to orchestration of components. This could allow, for example, loan officers to process loans using their familiar UI, following a process that they never see, but which makes things happen in the right order for them, including dealing with branches based on decision points.

Caveats of headless automation

While promising, headless automation requires a custom UI for human users, entailing dedicated development resources. Therefore, organizations with limited development resources might choose to manage the complexity of multiple interfaces in the end system.

Can Camunda Platform 8 facilitate headless automation?

Simply put, yes. Camunda Platform 8 is designed to be fully addressable via API, with components interacting primarily through API calls.

At the heart of Camunda Platform 8 lies the source-available Zeebe workflow engine. It exposes a gRPC API that facilitates various tasks such as deploying process models, starting process instances, and managing tasks in a process. The platform also includes Operate, Tasklist, and Optimize components, each of which provides specific UIs and exposes their APIs.

Whether you opt for a self-hosted approach using Zeebe and ElasticSearch or use Camunda’s SaaS offering, Camunda Platform 8’s API-first design makes it a viable solution for headless automation.

Technical Deep-dive

Zeebe workflow engine

At the core of Camunda Platform 8 is the source-available Zeebe workflow engine. Based on the industry standard for business process modeling, BPMN 2.0, Zeebe exposes a gRPC API that allows you to use it in a headless context.

This API is write-only. The “output” from the workflow engine comes in the form of exported events. There is an ElasticSearch exporter that exports events to ElasticSearch. You can also write your own exporters, and there are a number of exporters available in the community.

You can build a complete headless automation solution using just the Zeebe gRPC API and the exported stream, either by querying ElasticSearch over its REST API, or by exporting to another data sink that you query.

The Zeebe gRPC API allows you to:

  • Deploy resources (process diagrams, decision diagrams)
  • Create process instances
  • Evaluate decisions
  • Publish messages for correlation with process instances
  • Broadcast Signals to process instances
  • Retrieve and complete jobs for tasks in processes
  • Update process instance variable
  • Modify a process instance state
  • Handle incidents

 Read more about the Zeebe API in the documentation.

There are other components in Camunda Platform 8 that provide human user interfaces – Operate, Tasklist, and Optimize. You can do everything that these components do using only the gRPC API and an exporter.

However, there are two factors that may cause you to leverage these components as part of a headless automation solution:

  1. These components expose their own APIs, handling the reduction of the event stream exported to ElasticSearch and providing high-level semantic APIs.
  2. You cannot (as of July 2023) deploy custom exporters on Camunda SaaS, and you cannot directly access ElasticSearch in Camunda SaaS (due to the licensing of ElasticSearch). So to do a complete headless automation solution using Camunda SaaS, you need to use the APIs of the other components rather than an exporter.

So: you can roll a full headless automation solution with Zeebe and ElasticSearch when you are running it self-hosted—and you will find it takes less development effort if you leverage the APIs of the other components.

On the other hand, if you use Camunda Platform 8 via the Camunda SaaS offering, while you don’t have access to ElasticSearch or custom exporters, you do have access to the APIs of the additional components, allowing you to still implement a full headless automation solution.

Let’s look at the additional components and the functionality that they expose via API.

Operate

Operate is the operational interface of Camunda Platform 8. Operate is used to inspect and manage running processes, to inspect the final state of completed process instances, and to resolve incidents.

Operate provides a UI over several of the Zeebe gRPC API operations—such as updating variables and resolving an incident, or canceling a process instance.

The Operate API, however, provides several operations that are not possible with the Zeebe gRPC API. Operate produces a state reduction of the event stream from Zeebe, and builds a “current state” picture of a process instance. You can do the same thing yourself if you have direct access to ElasticSearch and want to do the work. But you can save yourself the trouble of reinventing the wheel by using the Operate API to:

  • Retrieve a list of deployed process models
  • Retrieve the current state of a running process instance
  • Retrieve the state of a completed process instance
  • Retrieve a list of incidents

Read more about the Operate API in the documentation.

Tasklist

Tasklist is a component that provides a UI for user tasks—tasks that are modeled as being carried out by humans in the BPMN process model.

If your system is using headless automation, maybe you don’t have any human user tasks; or maybe you deal with them using a custom interface. You can also treat human user tasks as service tasks—in Camunda Platform 8, user tasks are implemented as a service task with a specific task type.

Regardless, if you have human tasks in your process models, Tasklist provides an API to allow you to interact with them.

You can use the Tasklist API to:

  • Search tasks
  • Assign and unassign tasks
  • Get forms
  • Complete tasks

See the documentation for more information on the Tasklist API.

Optimize

Optimize is a component that allows you to analyze and refine your processes. You would want to use this in a headless mode when you augment your business analysts with AI. Yes, Camunda Platform 8 is Singularity-ready out of the box. 😂

You’re more likely to get your AI to analyze the raw data than you are to use Optimize to do it. And that’s why Optimize can export a machine learning-ready dataset via its API.

Via the Optimize API, you can:

Refer to the Optimize API documentation for more information.

Demonstration

This video: Camunda 8 Unified SDK for Node.js demonstrates using the various components of Camunda Platform 8 in a purely headless fashion, completely over the API.

It uses the community-supported Node.js Unified SDK for Camunda Platform 8, but rest assured that you can do everything that it demonstrates today, with any number of tools—from the command-line to Postman to your favorite programming language.

The UI of Camunda Platform 8 is used in the demonstration to show you that we are doing everything that you could do via the UI, “headlessly”—purely via API calls.

Conclusion

With the rise of headless automation, solutions like Camunda Platform 8 that provide an API-first design approach are positioning themselves at the forefront of the automation landscape. As an automation component within a larger technical architecture, Camunda Platform 8 presents an optimized, unified experience to users, thereby solidifying its position within the headless automation realm.

Try All Features of Camunda

Related Content

Excited by the potential of Camunda Marketplace, LTIMindtree held a hackathon to generate the best Connector to submit. Here's how they did it.
Learn how a new Connector can improve the way you handle files in the cloud with Camunda. You can get the Connector today in Camunda Marketplace.
Learn how to get started with automated underwriting, what the benefits are and why automation in underwriting is important.