ActivoRules: the decision stack
A live, executable copy of how your business decides.
The decision stack is the architecture behind ActivoRules. Your policies become versioned rules in DecisionRules, our rules engine partner. ActivoRules’ AI agents orchestrate the work around them, 24/7, and dedicated solvers handle the hard optimisation: prices, stock transfers and fulfilment routes. Your leadership team sets the limits and handles the exceptions, and your systems of record stay clean, controlled and auditable.
DecisionRules gives our 24/7 agents a deterministic decision layer
ActivoRules orchestrates the agents, solvers, workflows and human checkpoints. DecisionRules is our rules engine partner: it runs your policies as decision tables, decision trees, scripting rules and flows, with version history, a test bench and audit logs, and every agent can call it through its MCP server or APIs, in the cloud or on-premise.
Agents bring language and judgement, solvers bring optimisation, and DecisionRules guarantees the same input gets the same, explainable answer.
One stack, every process
Each layer has one job. Probabilistic work (language, documents, judgement calls) sits above the decision line; deterministic work (policy, limits, calculations) sits on it; the systems of record sit below it and are never written to directly by an agent.
CEO / owner
Sets goals and the risk envelope (margin floor, cash buffer, autonomy levels). Asks scenario questions. Reads the weekly decision digest.
Process owners
FD, sales lead, ops manager. Own their rule sets in DecisionRules, approve new rule versions, decide escalated cases.
Operators
Work the exception queue. Every override is logged with a reason, which feeds rule improvements.
Admin / IT partner
Connectors, permissions, secrets, monitoring. Often a fractional or outsourced role in an SME.
Orchestrator agent
Takes the request, plans the steps, delegates to specialists, calls DecisionRules for every policy decision, calls a dedicated solver when a rule says the case needs optimising, and assembles the answer or approval card.
Intake & extraction
Invoices, contracts, emails, forms into typed fields with a confidence score.
Research & enrichment
Company registries, CRM history, supplier data, market signals.
Scenario analyst
Turns a question into assumption sets and candidate policies; runs them through DecisionRules and, for large search spaces, a solver; explains the trade-offs.
Execution agent
Prepares actions and triggers DecisionRules flows. Holds no direct write credentials to records.
Comms agent
Customer replies, supplier emails, approval briefs, the CEO digest.
Monitor agent
Reads execution logs, spots drift and frequent overrides, drafts rule-change proposals.
Rules
- Decision tables and decision trees
- Lookup tables
- Scripting rules (JavaScript) for calculations
- Rule variables (thresholds, limits)
Flows
- Decision flows chain rules, API calls and database connectors
- Integration flows for long-running background jobs
- AI agent nodes for extraction, classification, enrichment
Testing
- Test bench to simulate cases
- Rule comparison between versions
- Batch runs of what-if inputs
Governance
- Version history per rule
- Audit logs for every decision
- MCP server and REST API for every agent
Price optimisation
Prices tuned to demand, stock and competitor moves, inside floors set by rules.
Stock transfers
Which site sends what to whom, at the lowest total cost.
Fulfilment & routes
Warehouse splits, carriers and delivery routes for each order.
How they run
Python or Node with OR-Tools, PuLP or SciPy on serverless compute. Triggered by a DecisionRules flow or the agent; never write to records directly.
Finance & ERP
Xero, QuickBooks, Sage, NetSuite: ledger, AP/AR, price lists.
CRM
HubSpot, Salesforce, Pipedrive: accounts, deals, quotes.
Operations
Inventory, orders, WMS, helpdesk.
People
HRIS, payroll, expenses.
Bank & payments
Read balances; payments released by people.
Data & documents
Warehouse, policies, contracts. Read-only for agents.
Improvement loop. Agents never edit rules in production. The monitor agent drafts a change (for example, “raise the auto-approve discount band for tier-A customers from 5% to 7%”), backtests it against logged cases in the DecisionRules test bench, and sends it to the process owner. Approved changes ship as a new version that can be rolled back.
Who decides what, and how autonomy is earned
The routing of each case is itself a DecisionRules decision table, owned by the CEO. That keeps the “when does a human step in” policy explicit, versioned and easy to tighten after a bad week.
Assist
Agent drafts and checks; a person does the action. Use for new processes and anything irreversible.
Approve
Agent, rules and any solver prepare the decision with reasons; a person clicks approve or overrides with a reason.
Supervise
Auto-execute inside DecisionRules limits. People handle only the exceptions the rules send them.
Autonomous
Auto-execute with sampled review. The CEO sees outcomes and drift in the weekly digest.
Promote a process one level when its override rate stays under target (say 2%) for four weeks. Demote it automatically when exceptions spike or the rule version changes materially.
| Value at risk | Reversible | Agent confidence | Rule result | → Mode | → Reviewer |
|---|---|---|---|---|---|
| < £1,000 | Yes | ≥ 0.90 | Clean pass | Auto-execute | 5% sampled |
| < £1,000 | Yes | < 0.90 | Clean pass | Confirm | Operator |
| £1k – £10k | Any | Any | Clean pass | Approve | Process owner |
| > £10,000 | Any | Any | Any | Decide | CEO or FD |
| Any | No | Any | Any | Approve | Process owner |
| Any | Any | Any | Conflict or missing data | Hold & ask | Operator |
Rows evaluate top to bottom; first match wins. Thresholds are illustrative; set your own per process.
Agents widen the options; rules score them the same way every time
The agent’s creativity goes into framing scenarios and generating candidate policies. The judgement of which candidates pass and how they rank comes from a pinned DecisionRules rule version, so the result can be reproduced, defended to the bank or board, and re-run next month.
Ask
States the question and what must stay true (cash buffer, margin floor).
Frame
Builds assumption sets: base, downside, stress. Pulls actuals read-only.
Generate
Lists candidate policies: price moves, order quantities, alternative supplier.
Evaluate
Runs every scenario × candidate through the same rule version: constraints pass/fail, objective score.
Rank & explain
Shortlists the top options with reason codes and plain-English trade-offs.
Decide
Picks one. It is promoted as a new rule version or a variant test.
Track
Execution logs compare real outcomes to the scenario; drift triggers a re-run.
| Candidate | Gross margin | Cash low point | Constraints | Score |
|---|---|---|---|---|
| Price +3%, switch 40% volume to supplier B | 34.1% | £182k | All pass | 86 |
| Price +5%, keep supplier A | 35.0% | £171k | All pass | 74 |
| Hold price, cut reorder qty 15% | 31.2% | £205k | All pass | 61 |
| Hold price, keep supplier A | 29.4% | £148k | Margin floor 30% | — |
Constraints and the scoring formula live in DecisionRules as decision tables and rule variables, so the CEO can see exactly why an option failed.
“Can we hold our prices if our main supplier raises costs 8% and demand softens?”
What deterministic optimisation means here. The engine evaluates an explicit set of candidates against explicit constraints and an explicit objective, so the same inputs always give the same ranking. For SME-sized choices (a few price points, suppliers, order sizes) a grid of candidates is usually enough.
When the search space is large (multi-warehouse fulfilment, stock transfers, delivery routing, dynamic pricing), the rules decide that a case needs optimising, a DecisionRules flow or the agent calls a dedicated solver over an API, and the business rules check the solver’s answer before anything is committed. This decoupled solver pattern keeps heavy maths out of the rules engine, where scripting rules are best kept for moderate calculations.
Ten processes, one pattern
Each card follows the same lanes as the architecture. The rule line shows the kind of logic that belongs in DecisionRules rather than in a prompt, and the solver lane shows where optimisation takes over.
Quote & discount approval
SalesTrigger: a rep requests a discount in the CRM or Slack.
ValueQuote turnaround in minutes; discounting stays inside policy.
Customer onboarding & credit limit
FinanceTrigger: new trade-account application.
ValueSame-day onboarding with one consistent credit policy.
Supplier invoice processing
Finance · APTrigger: invoice arrives in the AP mailbox.
ValueHigher touchless rate; fewer duplicate and over-payments.
Stock replenishment & transfers
OperationsTrigger: nightly schedule, or a stock level crossing a threshold.
ValueFewer stock-outs with less cash tied up in inventory.
Cash-flow scenarios
CEO · FinanceTrigger: the CEO asks a question, or the monthly close completes.
ValueBoard-ready answer the same day, reproducible next month.
Support triage & refunds
ServiceTrigger: a ticket, chat or email from a customer.
ValueFaster first response; consistent, fraud-resistant refunds.
Commission & incentive payouts
People · FinanceTrigger: month-end close.
ValuePlan changes without code; fewer disputes.
Expenses & leave policy
PeopleTrigger: an expense claim or leave request.
ValueManagers stop rubber-stamping; policy is applied evenly.
Multi-warehouse fulfilment
Operations · E-commerceTrigger: a multi-item order completes checkout.
ValueFewer parcels, lower shipping cost and carbon per order.
Dynamic price calculation
Sales · E-commerceTrigger: a daily schedule, or a stock or competitor price change.
ValueMargin protected without manual repricing.
Start with one decision, not one agent
The fastest return comes from a high-volume decision that already has a written policy. Encode the policy first; the agent wraps around it afterwards.
Encode and shadow
- Pick one decision (discounts, AP matching, refunds).
- Write the policy as DecisionRules decision tables with an owner.
- Connect read-only to the system of record.
- Replay past cases in the test environment; compare to what people decided.
Exit: rules agree with good past decisions.
Add agents at L2
- Intake agent turns documents and emails into payloads.
- Every case goes to an approval card with reasons.
- Log overrides with a reason code.
- Track cycle time, override rate, error rate.
Exit: override rate under target for four weeks.
Supervise and scale
- Move proven paths to L3 with governed write-back.
- Give the CEO the scenario cockpit and weekly digest.
- Switch on the monitor agent’s rule proposals.
- Reuse the stack for the next process.
Exit: a repeatable template for every new process.
| Activity | CEO | Process owner | Operator | Admin / IT | Agents | DecisionRules | Solvers |
|---|---|---|---|---|---|---|---|
| Set risk envelope and autonomy levels | A | C | I | I | — | R | — |
| Author and approve rule versions | I | A | C | C | C | R | — |
| Interpret inputs and draft outputs | — | I | C | — | R | — | — |
| Make the policy decision | — | A | — | — | — | R | — |
| Optimise complex plans | — | A | — | C | C | C | R |
| Handle exceptions | I | A | R | — | C | — | — |
| Write to systems of record | — | A | — | C | — | R | — |
| Monitor drift and propose changes | I | A | C | C | R | — | C |
Build your decision twin with ActivoRules
We help you pick the first decision, encode it in DecisionRules, add solvers where the maths is hard, wrap the right agents around it and set the human checkpoints. The agent then runs 24/7, and you pay for the outcomes it delivers.


