ActivoRules · Two speeds of decision

Customer-facing and operational decisions, one policy engine

A shopper will not wait two seconds for an offer. Your ERP cannot afford a wrong purchase order. ActivoRules runs both kinds of decision, with DecisionRules governing every one.

External triggers come from customers and need instant, personal answers that protect your margin. Internal triggers come from your own systems and need deep integration and answers that are right every time. Each needs a different design, but the same rule registry, the same audit trail and the same outcome-based fees.

External · customer-facingReal time, high speed. Conversion, retention and revenue you can attribute.
Internal · operationalHigh volume, deep integration. Lower cost, less risk, tighter supply chain.

At a glance

Two kinds of trigger, two sets of needs

The same agents and rules engine serve both, but the design choices are different. Here is how we tune ActivoRules for each.

NeedExternal · customer-facingInternal · operational
Typical triggerAbandoned cart, discount request in chat, checkout, return requestLow stock, new supplier invoice, shipping manifest, nightly schedule
Speed that mattersSub-second. A two-second delay can lose the sale.Minutes are fine. Accuracy and completeness come first.
What the agent doesHolds the conversation, reads intent, pulls customer history and cartReads contracts, invoices and manifests; drafts orders and payments
What DecisionRules decidesLoyalty tier, discount ceiling, refund exception, bundle eligibilityVendor compliance, approval limits, duties and restrictions, payment release
Where solvers fitRun ahead of time: price and bundle plans computed overnight, applied instantlyRun on demand: stock transfers, carrier choice, multi-warehouse splits
Systems touchedStore, checkout, chat, CRM, loyalty platformERP, WMS, OMS, accounting, payroll and payouts
Main risk controlledMargin leakage, discount abuse and fraudOverspend, compliance breaches and errors in the ledger
Outcome you pay forRevenue from saved carts and accepted offers, validated in the decision logSuccessful, zero-error runs, or a share of verified cost savings

Architecture

Two lanes, one rule registry

Both lanes call the same DecisionRules registry through MCP. Customer-facing decisions use rules that answer in milliseconds, with any heavy optimisation done in advance. Operational decisions can call dedicated solvers in the moment, because accuracy matters more than a few seconds.

External and internal triggers share one rule registryTop lane, external triggers: a customer action such as an abandoned cart goes to the AI agent, which parses intent and calls DecisionRules through MCP; loyalty, risk and stock rules return an offer in under a second. Bottom lane, internal triggers: a system event such as low inventory goes to the AI agent, which reads vendor contracts and calls DecisionRules; purchasing, compliance and approval rules return a decision, and dedicated solvers optimise transfers and carriers before the ERP or warehouse system is updated. Both lanes use the same versioned rule registry and audit log.EXTERNAL · CUSTOMER-FACINGunder 1 secondINTERNAL · OPERATIONALaccuracy firstCUSTOMER ACTIONCart abandonedChat asks for a discount,checkout, return requestAI AGENTParses intentPulls history and cart,keeps the conversationREAL-TIME OUTPUTOffer appearsCoupon, bundle, storecredit or a polite noSYSTEM EVENTStock below thresholdInvoice, manifest ornightly scheduleAI AGENTReads and draftsVendor contracts, prices,draft purchase orderSYSTEMS OF RECORDERP · WMS · payoutsPO raised, carrier booked,supplier paidDECISIONRULES · MCPOne rule registrymarketing · support ruleslogistics · finance rulesversioned · tested · auditedofferapprovedDEDICATED SOLVERSOptimise when neededStock transfers, carriers,multi-warehouse splits;checked by the rulesSOLVERS · AHEAD OF TIMEPrecomputed offersPrice and bundle plans runovernight; rules apply theminstantly at checkout

Swipe sideways to see the full diagram →

1 · External triggers

Customer-facing decisions in real time

Focus: conversion, retention and direct revenue

Here the agent acts as a personal concierge for every shopper. It handles the conversation; DecisionRules sets the financial limits, so the agent can be generous where it pays and firm where it does not.

Customer actionCart abandoned→AI agentParses intent→DecisionRules MCPEvaluates loyalty rules→Real-time outputCustom offer appears

Loyalty tiering & fraud checks

A customer asks for a discount in chat. The agent pulls their history; a real-time risk and reward table decides whether they qualify and sets the exact discount.

customer_value > £500 AND chargebacks = 0 → max_discount = tier_rate

Cart-save offers

When a cart is abandoned, the agent writes a personal message and the rules pick the offer: free delivery, a coupon or nothing at all, based on margin and customer value.

cart_margin ≥ 35% AND first_abandon = true → offer = free_delivery

Dynamic bundles & cross-sell

The agent reads the cart and past behaviour. Rules choose bundles that convert well without discounting stock you are short of.

stock(item) < 50 → exclude item from discounted bundles

Designing for speed

  • Rules are evaluated directly, with no solver in the customer’s path
  • Price and bundle plans are optimised overnight and stored as rule data
  • The agent falls back to a safe default offer if any call times out

How the outcome is measured

Every offer the agent makes carries the rule version that approved it. Revenue from carts saved and offers accepted is attributed from those logs, so the value is clear to both sides.

2 · Internal triggers

Operational decisions with deep integration

Focus: lower cost, less risk, supply-chain guardrails

Here the agents act as autonomous procurement, logistics and finance assistants. Because these decisions commit company money, the deterministic rules layer is non-negotiable, and every action reaches your ERP only through governed paths.

System eventLow inventory→AI agentReads vendor terms→DecisionRules MCPRuns purchasing rules→Fulfilment / payoutERP updated

Autonomous restocking

The agent watches stock levels. When a threshold is crossed it reads vendor contracts, extracts prices and drafts the purchase order. Rules check the vendor and the spend before anything is sent.

vendor_rating ≥ B AND po_total ≤ £5,000 → auto-approve; else → manager

Cross-border compliance & tax

The agent parses shipping manifests. Deterministic tables calculate duties and apply restrictions, so nothing ships that should not.

item.class = liquid AND dest IN restricted_zones → block shipment

Supplier invoices & payouts

Invoice lines are matched to purchase orders and goods received. Rules release payment within tolerance and route the rest to a person.

|invoice − PO| ≤ 2% AND GRN matched → schedule payment

Designing for accuracy

  • Dedicated solvers plan stock transfers, carriers and warehouse splits
  • Every solver answer is checked by the rules before it is committed
  • Least-privilege write-back, with idempotent updates and full audit logs

How the outcome is measured

Runs are counted only when they complete with no errors or manual fixes. Savings are measured against the baseline from your Decision Audit: spend, labour hours and costly mistakes avoided.

Centralised governance

One rule registry for your whole business

Using DecisionRules for both lanes means every policy lives in one place, organised by area, versioned and audited the same way. Your team can see the whole policy engine clearly separated by function.

SpaceTriggerExample ruleWhat the AI agent does
marketing_rulesExternalcalculate_loyalty_couponReads the customer’s chat and history, extracts the inputs and applies the coupon the table returns.
support_rulesExternalvalidate_refund_exceptionChecks whether a return outside the window still qualifies for store credit because of the customer’s lifetime value.
pricing_rulesExternalapply_dynamic_priceApplies the overnight price plan from the solver, inside floors and daily change caps.
logistics_rulesInternalselect_optimal_carrierReviews dimensions, weight and delivery promise, then books the right carrier.
inventory_rulesInternalplan_stock_transferCalls a solver to rebalance stock between sites, then raises transfers that pass the limits.
finance_rulesInternalapprove_supplier_invoiceMatches PO lines against scanned invoices and approves payment within tolerance.

Commercial model

Outcome-based fees, shaped to each lane

You pay for what ActivoRules delivers, not for seats. Because the two lanes create value in different ways, we measure them differently.

External triggers

A share of revenue the agent wins

Customer-facing decisions affect sales directly, so the fee follows the revenue they bring in.

  • Revenue from carts saved by agent offers
  • Upsell and bundle revenue accepted by customers
  • Only offers validated by DecisionRules count

Internal triggers

A fee per clean run, or a share of savings

Operational decisions save cost rather than earn revenue, so the fee follows usage or verified savings.

  • A fee per successful, zero-error automation run
  • Or a share of cost saved against the baseline
  • Labour, overspend and error costs all count

Outcome units, rates and the baseline are agreed in writing after the Decision Audit. How outcome-based fees work →

Getting started

Pick your first trigger

Most clients start with one decision in one lane, prove the outcome, then add the other lane on the same rule registry.

←

Back to ActivoRules

See the full service: the three engines, the decoupled solver pattern, the multi-warehouse fulfilment example and how outcome-based fees work.

ActivoRules →

Questions about the two lanes

Can ActivoRules handle both kinds of trigger?

Yes. Both lanes call the same DecisionRules registry, use the same audit trail and are run by the same agents. What changes is the design: customer-facing rules are tuned for speed, operational flows for depth of integration and accuracy.

How do you keep customer-facing decisions fast?

The customer’s path only touches rules that answer in milliseconds. Heavier work, such as price or bundle optimisation, runs ahead of time with dedicated solvers, and its results are stored as rule data that can be applied instantly.

What stops the agent giving away too much?

The agent never decides the discount. DecisionRules does, using your limits on customer value, chargeback history, margin and stock. Every offer is logged with the rule version that approved it.

Which lane should we start with?

Start where one decision is frequent, has a written policy and a clear outcome. For many online retailers that is refund exceptions or cart-save offers; for operations-heavy businesses it is restocking or supplier invoices. The Decision Audit helps you choose.