Glossary
Rules engine vs workflow engine
The short answer
A workflow engine runs a process: it moves work between steps, people and systems, handles waiting, approvals and notifications, and decides what happens next. A rules engine answers a question at a step, such as who must approve or whether an order goes on hold. They do different jobs and work best together.
Two different questions
The simplest way to tell them apart is to look at the question each one answers. A workflow engine answers "what happens next, and who does it?" A rules engine answers "what is the answer?"
Take a purchase order. The process is: the PO is raised, it is checked, it is approved, it is sent to the supplier. That sequence, the waiting for approval, the reminder emails and the update to the ERP are workflow. The question "who must approve this PO?" is a decision, and the logic behind it, based on amount, cost centre, category and supplier, is rules.
The two are easy to confuse because both involve conditions. A workflow might say "if the approver rejects, send it back to the requester". A rule might say "if the amount is over 10,000, the finance director must approve". The first is about the flow of work; the second is about business policy. Keeping that distinction in mind makes it much clearer where each piece of logic should live.
What a workflow engine does
Workflow engines, including process automation and orchestration tools, typically handle:
- Triggers: starting a process when a record is created, a form is submitted or a file arrives.
- Sequencing: running steps in order, in parallel or on a schedule.
- Human tasks: assigning work, requesting approvals and waiting for responses.
- Integration: calling other systems and moving data between them.
- Notifications and escalation: reminders, timeouts and exceptions.
- Process state: knowing where each case is and what it is waiting for.
What a rules engine does
A rules engine takes the facts at a point in the process and returns an answer by applying business rules. It does not wait, send emails or move records. It is usually stateless: same inputs, same answer, every time.
Because it only decides, a rules engine can be called from many places. The same approval rules can serve a workflow, a Power App, an ERP screen and a nightly batch, and they all get consistent answers. The rules can also change without changing any of those callers.
Rules engines also tend to be easier to test than processes. Because a decision takes inputs and returns an output, you can run it with a set of example values and check each answer without starting a real process, waiting for approvals or sending emails. That makes it practical to test every policy change against dozens of real cases before it goes live.
What goes wrong when you mix them
Most workflow tools let you add conditions, so it is tempting to put the business rules straight into the process. For simple cases that is fine. As policy grows, problems appear:
- Nested conditions pile up until the process is hard to read and risky to edit.
- A limit change means editing the process wherever the old number appears.
- The same rules are copied into several processes and apps, and drift apart.
- Explaining a result means reading through branches rather than seeing the reasons.
A simple test: process or policy?
When you are not sure where a piece of logic belongs, ask who would want to change it and why. If the answer is "the operations team, because we are adding a review step", it is process and belongs in the workflow. If the answer is "finance, because the approval limit has gone up", it is policy and belongs in the rules.
A few more signals help. Logic that is about timing, waiting, ordering or notifying is workflow. Logic that is about thresholds, eligibility, categories, lists and limits is rules. Logic that needs to give the same answer in several places, such as a Power App, a flow and an ERP screen, is almost always rules, because copying it into each place is how inconsistencies start.
The line is not always sharp, and a few simple conditions in a workflow do no harm. The aim is to stop business policy from spreading through process definitions where it is hard to find, hard to test and hard to explain.
It also helps to think about lifespan. Processes tend to change when the organisation changes: a new team, a new system, a new step. Policies change when the business environment changes: a new credit appetite, a new supplier risk, a price rise. Keeping the two apart means each can move at its own pace, owned by the people who understand it best.
How they work together
The clean pattern is decide, then act. The workflow reaches a decision point, sends the facts to the rules engine, receives the answer and carries on. For a purchase order, the workflow asks "who must approve?", the rules engine returns "finance director and procurement lead", and the workflow sends both approval requests.
This keeps each tool doing what it is good at. If the rules engine returns something unexpected, such as missing data, the workflow can route the case to a person rather than guessing. The process stays short and readable. The rules sit in one place, owned by the people responsible for the policy, and can be tested and changed without touching the process. Each answer can come with a trace that shows why.
Condexa is the decision half of that pattern. Workflow tools such as Power Automate call a published Condexa decision over a REST API and get the answer back in milliseconds. The Condexa vs Power Automate page walks through the split in detail, and purchase order approval shows it in practice.
Who does what in a purchase order process
| Step | Handled by | Why |
|---|---|---|
| PO created in the ERP starts the process | Workflow engine | Trigger and orchestration |
| Who must approve this PO? | Rules engine | Business decision based on policy |
| Send approval requests and wait | Workflow engine | Human tasks and waiting |
| Chase approvers after two days | Workflow engine | Escalation and timing |
| Is the supplier ready to trade? | Rules engine | Business decision based on checks |
| Release PO to supplier and update ERP | Workflow engine | Integration and state |
Last updated