<- All posts

What is a Workflow Engine? + 5 Open Source Tools

Ronan McQuillan
15 min read · May 1, 2024

Workflow engines are used to simplify, expedite, and optimize all sorts of internal tasks and processes.

By codifying and digitalizing business logic, an effective workflow engine enables us to achieve a high degree of efficiency, repeatability, accuracy, and productivity within daily operations.

They’re also a powerful basis for business process automation, integration, real-time analytics, and other digital transformation efforts across your business.

Today, we’re exploring everything you need to know.

Specifically, we’re going to start by checking out what workflow engines are and what they’re used for. Then, we’re going to take a look under the hood at how they work and the kinds of solutions that are out there.

We’ll wrap up by thinking about some of our top picks for open-source workflow engines as well as some of the top decision-points for rolling out a solution of your own.

First, though, let’s think about the basics.

What is a workflow engine?

A workflow engine is a solution for centrally storing and enforcing the logic that underpins regular workflows within business operations. Depending on the scope, this could be a single task - or a whole suite of related processes.

The goal is - where possible - to replace human decision-making with computational logic.

When used as part of your automation efforts, workflow engines can then trigger and coordinate defined follow-on actions when certain decisions are made for business process management.

For example, say you used a workflow engine that’s designed to help you manage financial tasks.

Our engine might store rules so that when a user submits an expense claim, it can be automatically approved or declined based on the value, vendor, or category of the invoice.

A successful approval might then trigger other tasks and automated workflows or processes - like notifying the original user of the outcome.

So, at the most basic level, a workflow engine does a couple of things:

  1. Storing computable rules to govern workflows.
  2. Managing triggers and actions for automation events.
  3. Facilitating user inputs and interactions.

Besides this, workflow engines play an important role in your integration efforts. Rather than separately configuring the same rules across multiple nodes and platforms, we can connect disparate tools to a single solution to achieve the same ends.

Where are workflow engines used?

Workflow engines are only one solution out of many for managing internal tasks. Therefore, we need to understand the scenarios where they’re most helpful - and moreover, the specific use cases where they’re appropriate.

To understand this, we need a strong picture of what alternatives are out there.

Very broadly, this includes any non-centralized solutions for implementing business logic in workflows. For instance, storing rules separately in different SaaS platforms involved within a process.

So, when do we need centralization?

There are several factors to consider here. First, there’s the complexity of our workflows - both in and of themselves and in terms of the technology we use to implement them.

For instance, the greater the number of distinct tools and actors involved in a workflow, the more difficult it’s going to be to consistently and manageably enforce business rules without some degree of centralization.

Following this, consider what happens when the business rules that underpin a workflow change - for example, we raise the cost threshold for automatically approving expenses.

This is obviously going to be much easier when our rules are managed in a central location compared to in a range of unrelated tools.

Interoperability

Workflow engines are also commonly leveraged in scenarios where we have the same kinds of logic across many distinct workflows.

The best example of this is the case of request and approval workflows.

In purely computational terms, these kinds of workflows are made up of a relatively small number of elements:

  • The information required for a particular request.
  • The various states that a request can be in at any given time.
  • The conditions that need to be met for each possible transition between states.

As we’ll see a little bit later, one of the options for implementing this kind of logic is to treat each of these elements as distinct objects within a workflow management database system.

Since we’d be handling all of our approval workflows in a single platform in this scenario, this is a comparatively cost-effective and robust approach to implementing a whole range of automation and digital transformation efforts.

Control

Another key impetus for implementing workflow engines is a need for a high degree of operational centralization and control - particularly as this relates to oversight from particular departments, like IT or ops.

We can contrast this with workflows that are controlled and implemented by the individual departments where they’re actioned.

To this end, operations or IT colleagues might build or configure centralized workflow engines as a more viable alternative to managing business rules within discrete tools - as their on-the-ground counterparts might do.

This offers a number of important benefits, including increased oversight, ease of maintenance, and cost-effectiveness.

3 types of workflow engines

We’re going to consider three distinct types of workflow engines - that can be implemented as application back-ends, process layers, or middleware.

Let’s take each in turn.

1. Workflow management databases

First, we have workflow engines that are implemented by creating dedicated databases - effectively state machines - and then using some combination of stored procedures, automations, purpose-built UIs, or third-party integrations to handle transitions.

So, we might have a set of interrelated data tables for requests, transitions, states, and any other objects that are required to implement or internal business logic at a data level.

This is an effective and comparatively cost-effective method for building a workflow engine with a high degree of centralized control.

However, the downside is that we need a large degree of database management skills in order to create, manage, and maintain these kinds of solutions.

There’s also a tradeoff in the sense that this kind of workflow engine becomes very complex when there’s a higher degree of variety between the different kinds of workflows involved.

Check out our in-depth guide to workflow management database design to learn more.

Workflow engine database

2. API-based & hard-coded solutions

We also have the option of creating fully customized solutions based on existing data sources.

So, rather than creating an entirely new database schema to store and manage business rules, this approach means connecting to existing databases that are already used within workflows and creating hard-coded scripts to enact business rules.

We’d then connect each of the relevant tools within a workflow to this via API requests.

For example, we might create a piece of middleware that monitors changes to our inventory management database and then performs defined actions when certain conditions are met using asynchronous programming - based on established business logic.

The clear upside to this approach is the huge amount of flexibility and customization available to us.

The trade-offs, however, are fairly major.

Since we’d effectively need to hard code each individual piece of business logic involved in every workflow we want to manage in this way, the relative development costs would be huge - alongside increased product development times.

3. Low-code workflow engines

In the past few years, more and more IT and operations teams are turning to low-code development in order to systematize, manage, and automate internal workflows.

The idea behind low-code is to empower specialists and non-developers alike to create custom tools, automations, and other solutions in a fraction of the time.

For building a workflow engine, this can include creating data management solutions, flow-based automations, custom API calls, user interfaces, and cross-platform integrations to enforce defined business rules.

Effectively, we can achieve the same levels of functionality, flexibility, and customization as we would with a hard-coded solution, with far reduced development costs and lead times.

Check out our in-depth guide to open-source low-code development platforms to learn more.

Budibase workflow engine

Top 5 open-source workflow engine tools

Next, we can think about some more specific options for powering our workflow management efforts.

Many teams prioritize open-source solutions here. Since workflow engines will typically interact with a range of mission-critical processes, data, and tools, auditability, visibility, security, and control are critical requirements.

For example, if we want to self-host a solution or audit its source code.

With that in mind, here are our five top picks for open-source workflow engines across a variety of different internal teams and use cases.

1. Budibase - for IT teams

Budibase is the open-source, low-code platform that turns data into action. With extensive external data support, intuitive visual design tools, a powerful automation builder, a public API, and enterprise-grade security, it’s the ideal solution for handling all kinds of internal workflows.

With dedicated connectors for RDBMSs, NoSQL tools, APIs, spreadsheet, and more alongside our built-in low-code database, Budibase is ideal positioned to drive digital transformation efforts, without compromising on control and security.

Seamless ship professional interfaces on top of any data source, with autogenerated CRUD screens, optional JavaScript, role-based access control, custom conditionality rules, and mobile-responsive design as standard.

IT teams also choose Budibase to create, store, and manage workflow logic. Our automation builder offers a library of chainable, configurable actions, as well as extensive connectivity with external platforms and data.

Budibase is the top choice for security-focused teams. Our open-source product is self-hostable using Kubernetes, Docker, Digital Ocean, Azure, Cloud Run, Ansible, and more. We even offer free SSO.

Check out our guide to using Budibase as a business rules engine to learn more.

Join 200,000 teams building workflow apps with Budibase

2. Gitea - for DevOps teams

Gitea

Gitea is an open-source solution for automating key development and DevOps workflows. One easy way to look at this is as an open-source alternative to GitHub or Bitbucket.

As such, Gitea’s core functionality largely relates to building automations for the likes of version control, managing deployments, reviewing and approving contributions, auditing changes, and hosting code for other kinds of workflow rules.

One big selling point is that Gitea is highly focused on providing experiences that will be very familiar to anyone who has used GitHub before, including in terms of the integrated UI. There’s also full compatibility with GitHub Actions across the platform.

Gitea is also impressive in terms of integration options. It supports a wide range of databases, hosting options, and other third-party platforms, along with a platform API for connecting to other tools.

On top of this, Gitea offers a range or helpful workflow tools such as project boards, issue tracking, team management, and custom project wikis.

3. Wexflow - for admin tasks

Wexflow

Wexflow is an open-source workflow engine that’s tightly focused on recurring admin tasks. It allows users to define and chain constituent tasks within workflows using either a visual editor or XML/JSON definitions.

Some of the target use cases include orchestration tasks, file management, database administration, reporting, document generation, and email/SMS automation.

It’s available on local machines or as a Docker image, with support for a range of SQL databases as well as MongoDB as persistence providers. There’s also a native Android app that could make Wexflow an attractive option for managing workflow automations in the field.

Wexflow’s UI is an effective way to build, manage, and monitor custom workflow rules, as well as basic user interfaces. However, this also feels slightly dated compared to some of the other platforms in this round-up.

Integration options are largely centered around a platform API. This offers us a lot of scope to connect to external platforms, although Wexflow is slightly more limited when it comes to native integration options.

There are also a couple of key areas where Wexflow is somewhat inflexible. For example, user permissions are relatively simplistic, offering just two distinct tiers. This could rule it out for larger-scale or more security-focused workflows.

4. Activepieces - no-code workflow engine

Activepieces

Activepieces is an open-source, no-code solution for empowering non-technical colleagues to build and manage workflows across existing tools. In other words, we can think of it as an open-source alternative to tools like Zapier.

In particular, it’s tightly focused on providing visual experiences for building AI, operations, sales, marketing, and support workflows.

The real selling point here is Activepieces’ simple, lightweight automation builder interface. Essentially, this allows us to configure and chain pre-built blocks to connect to a range of SaaS tools using webhooks.

We’re also particularly impressed by the capabilities on offer around creating complex logic, including looping actions, conditional branches, and auto-retries.

Activepieces offers a range of hosting options, including Docker, Digital Ocean, and AWS, as well as a proprietary cloud platform.

Notably, there’s also an active community of contributors, building custom automation blocks using Activepieces’ highly extensible development environment.

5. Plynx - for complex data workflows

Plynx

Lastly, we have Plynx, an open-source visual tool for automating complex data workflows.

The core functionality here is enabling us to define operations using Python or bash scripts, and then structure these using directed acyclic graphs using a visual flow-chart-based interface. Alternatively, we can also define operations using existing repositories.

This makes it a particularly attractive option for complex data science and AI use cases, but we’ll also need a strong grasp of Python to take advantage of this.

Plynx is also highly extensible, offering both custom plug-ins for interacting with external back-end services and a powerful RESTful API for connecting to existing tools and data sets.

We can deploy Plynx using Docker and Kubernetes, making it a viable solution for powering data workflows while maintaining security.

Overall, it offers a powerful solution for a relatively tight range of use cases, but it’s unlikely to be a viable option for more simplistic day-to-day internal workflows.

Workflow engines: benefits and challenges

Before we wrap up, it’s important to note that workflow engines are powerful tools - but they aren’t necessarily the right option in every context.

To get a realistic view of the key decision points and trade-offs here, it’s important to thoroughly assess the pros and cons of implementing a workflow engine to manage internal business rules.

Here goes!

Benefits of workflow engines

First, let’s think about how workflow engines provide positive value. Workflow engines can improve profitability and reduce costs by increasing:

  • Efficiency - Reducing and eliminating the need for manual human actions.
  • Accountability - Rationalizing responsibilities within workflows and helping to create a paper trail of how processes are adhered to.
  • Accuracy - Cutting the scope for human error or actions outside of formal workflows.
  • Standardization - Ensuring that the same outcomes are arrived at no matter which users are involved.
  • Morale - Empowering colleagues to focus on more challenging, cognate tasks.

Of course, these are only the high-level business benefits. In more technical and IT ops terms, they also offer benefits, including:

  • Ease-of-maintenance - Compared to enforcing business rules in a range of disparate platforms.
  • Connectivity - Facilitating cross-platform integrations and automation rules.
  • Risk management - Improving our readiness to respond to issues.
  • Low vendor dependence - By eliminating the need to manage business rules in third-party SaaS tools.
  • Customization - We’re not limited by capabilities provided by existing platforms.
  • Scalability and adaptability - Centralized solutions make it easier to respond as our needs evolve and change.
  • Reducing development workloads in the longer term - Avoiding the need to configure and manage business rules in multiple, separate locations.

In other words, workflow engines have the potential to provide superior, streamlined experiences for on-the-ground users and IT teams alike.

Challenges of workflow engines

However, nothing is ever all plain sailing.

Indeed, workflow engines come along with their own trade-offs, challenges, and other potential downsides. It’s important to be cognizant of these in order to make an informed decision about the right workflow management strategy for your specific needs.

Specific issues to keep in mind include:

  • Up-front costs - We may incur relatively high up-front costs compared to alternative strategies.
  • Maintenance and lifecycle management - When we build fully custom solutions, we’re liable for maintenance and lifecycle management costs.
  • Variability within or across workflows - Workflow engines aren’t always the appropriate solution when our processes lack homogeneity.
  • Stakeholder buy-in - We need to convince stakeholders at all levels that a workflow engine is the most viable solution.
  • Centralization risks - Centralization can leave us more vulnerable to certain threats.
  • Redundancy - If something goes wrong with our workflow engine, we’ll need some kind of backup plan to avoid service interruptions.
  • High technical barriers - Traditional developments will be beyond the ability of less technical colleagues - whereas SaaS-based solutions might not be.
  • Hidden costs - We may incur additional costs from the tools we need to connect to our workflow engine - for instance, on a per-API call basis.
  • Implementation and change management - We’ll need to plan and resource our roll-out.

So, implementing a workflow engine won’t be the right option in every scenario. Broadly speaking, we can point to two strands here.

On the one hand, there are times when a workflow engine is just not the right solution. On the other, there are situations where internal resources inhibit our ability to leverage workflow engines - even if they are a viable solution from a technical point of view.

However, that latter point is becoming increasingly alleviated with the rise of low-code development.

Make work flow with Budibase

Budibase is the fast, easy way for IT teams to build all kinds of workflow tools including user interfaces, data models, and powerful low-code automations.

Alongside extensive data support and intuitive app design tools, Budibase is the ideal solution for creating, storing, and triggering business logic. Our automation builder offers a range of triggers, including in-app actions, external events, chron jobs, database queries, and more.

Budibase also integrates seamlessly with your existing tool stack, via webhooks, custom REST requests, and our powerful platform API. This perfectly positions it for creating centralized, accessible business logic across your internal tools.

With optional self-hosting, custom JavaScript, free SSO, flexible RBAC, and much more, Budibase is the ideal solution for powering workflows within mission-critical internal processes.

Check out our features overview to learn more.