Guide
How to Document Business Rules Before Automating a Workflow
How to turn approval rules, exceptions, timing, ownership, and disputed cases into a workflow specification that can be tested.
A workflow can look consistent until someone asks why one request was approved and another was held. The answer may live in a policy, a manager's memory, a spreadsheet formula, or a habit that changed months ago.
Software needs a rule it can apply to the information available at that moment. Before automating an approval or routing decision, record the rule, its authority, its limits, and the cases where a person still decides.
Start with a case people disagree about
Take a recent type of request that produces different answers from different people. A hypothetical purchasing team might receive an expedited request for a vendor that is already approved, while the amount exceeds the requester's normal limit and the department head is away.
Ask each current decision-maker to explain the next action using only the facts visible in the request and the connected systems. Record where their answers diverge. The disagreement may expose an unstated exception, a missing field, a stale policy, or two rules with no defined order.
Do not make the software choose while the business answer remains unsettled. Assign an owner to resolve the question and keep the case in the acceptance test set.
What belongs in a rule record
One decision rule record can name the business purpose, triggering event, inputs, calculation or condition, resulting action, owner, approving authority, effective date, and source. Related rules can remain separate when their dependencies and order are recorded alongside them.
For the hypothetical purchase, a sample record might say: when an expedited request arrives, read the approved-vendor status and requester limit from their named systems as of submission time. Send an over-limit request to an eligible department approver. Hold the request when either source value is missing. The accountable purchasing owner approves the record and its effective date.
Each input also needs a definition. Record units, currency and conversion source, rounding, time zone, normalization, allowed nulls, and any derived value. A threshold has little meaning if one system rounds before comparison and another rounds after it.
Where policy and practice disagree
A documented policy, a configured system rule, and the way people handle work today may differ. Put them side by side and ask the accountable owner which one should govern the automated workflow.
A workaround may exist because the official process cannot handle a real case. It may also survive because nobody removed it after a temporary problem ended. Record the reason, frequency, consequence, and current approval before carrying it into software.
Keep the source wording with the decision record. A short implementation note helps the builder, while the original source helps a reviewer catch a changed meaning. Rules based on legal, tax, compliance, or contractual obligations need approval from the responsible subject-matter authority.
Conflicts, missing matches, and time boundaries
Rules often collide. A department limit may allow a purchase while a vendor hold blocks it. The specification should say whether evaluation stops at the first match, combines permitted actions, rejects conflicting results, or sends the item for review. Name who approved the precedence order.
A request may match no rule at all. Use a safe, visible default such as a hold or named review queue for unmatched, conflicting, and out-of-scope items. Avoid silently applying the nearest condition.
Time also changes the answer. Define the business calendar, time zone, cutoff, effective and expiration dates, and how an open request behaves when a rule changes. Mark the people, departments, record classes, currencies, regions, products, and environments within scope only where those boundaries affect the decision.
Exception authority and evidence
An exception route needs an eligible approver, a backup, and a measurable deadline on the business calendar. Record delegated authority, separation-of-duties restrictions, and whether the requester or an earlier reviewer is barred from approving the case. Define when the response clock begins, pauses, and expires.
Overrides should be limited to named roles and permitted reasons. The audit record should identify the actor, authority used, original result, override result, reason, evidence reference, and time. Reassignment should preserve the earlier owner and deadline history.
Supporting notes and attachments belong only in an approved system with restricted access, a documented reason for collection, and applicable retention and removal rules. General alerts and dashboards should use a controlled reason code or reference instead of copied sensitive material.
When nobody responds, the workflow may hold, escalate, expire, or return the item to its source. Choose the outcome from the consequence of delay and make it visible to the person responsible for the underlying work.
The decision table
Turn the written rules into rows a business owner can inspect. Each row should contain the relevant inputs, expected decision, expected action, reason, and approving source. Include cases drawn from real categories while using synthetic or properly authorized data during review.
If an AI extraction, classification, or score supplies an input, record the model or service version, validation rule, uncertainty handling, and review route. The table should include an unavailable or low-confidence result.
- An ordinary case that should pass without review
- A value exactly on each threshold and values immediately above and below it
- Missing, malformed, stale, duplicated, and conflicting inputs
- Two applicable rules with an agreed precedence
- An exception with an available reviewer and the same exception after its deadline
- A rule that changes while an item is waiting
- An item outside the documented scope
- A correction or cancellation after an earlier decision
Unknowns belong with named owners
Mark unresolved questions as unknown, name the decision owner, and set a date for resolution. Avoid filling a gap with a developer assumption or copying whichever behavior is easiest to configure.
Some decisions remain judgment calls because the evidence changes by case or the cost of a rigid rule is too high. Define the information a reviewer receives, the actions they can take, and the audit record they leave. The workflow can prepare and route the case without making the decision.
Changing a live rule
Assign a version and effective time to the approved rule set. The decision audit record should preserve that version, evaluation time, result, actor or system identity, any override, and either a minimized snapshot of the values evaluated or an immutable, versioned source reference that can reproduce those values. Keep snapshots and references in an approved, access-restricted audit store. Protect the history from ordinary edits and retain it according to legal, contractual, audit, privacy, and operating requirements set by the accountable owner.
Use a defined activation method and an authorized path back to the prior version. Before release, decide whether open and previously processed items stay under their original version, are reevaluated, or require a controlled correction. A rollback should not replay completed actions without checking their current destination state.
Run the decision table against the configured workflow and investigate every difference. Include queued items, repeated events, unavailable source data, and a change that takes effect while work is open. After release, automated checks or complete review may be appropriate for errors, overrides, disputes, and high-consequence cases; risk-based sampling can cover lower-consequence routine work.
Name the person who reviews disputes and set the next date for updating the decision table. Operators should be able to see the rule version and input references behind a result before that review begins.
