v0.7 · B2B procurement
$50k purchase orders that
survive human review
Build AI procurement agents that comparison-shop merchants, pause for human approval above your threshold, attach PO numbers, and stream the full audit trail to Agorio Cloud — all on a single composable SDK.
Multi-merchant price discovery
Comparison-shop Shopify, WooCommerce, and any UCP-native catalog in one chain. Pick the lowest total per line item or per cart.
Approval workflows that survive process restarts
Sub-agents pause at the approval gate and resume — minutes or days later — once a human reviewer clicks Approve. Backed by Redis or any pluggable SessionStorage.
PO numbers, vendors, expense categories
The procurement plugin generates and attaches PO numbers, resolves vendor metadata (payment terms, tax category, preferred-supplier status), and validates expense categories against your configured list.
EU AI Act-ready audit trail
Every tool call lands in the audit-trail plugin and the Agorio Cloud trace explorer. PO# + vendor + amount + category are first-class fields, ready for CSV / PDF export.
Spending controls per agent
Hard per-transaction and rolling daily caps, enforced via plugin middleware. The LLM cannot bypass them — the agent loop is blocked before submit_payment ever fires.
Full Cloud trace hierarchy
Multi-agent runs render as a tree in cloud.agorio.dev/traces. Sub-agent invocations, LLM calls, tool calls, and audit events all indented under the parent. Sharable URL per run.
The whole demo, in code
Sub-agents composed via AgentChain, governance plugins layered as middleware, session storage so a 24-hour approval wait doesn't lose the cart. This snippet runs on three local MockMerchants — clone the repo and npx tsx examples/procurement/index.ts.
import {
AgentChain,
ShoppingAgent,
ClaudeAdapter,
agorioCloud,
FileSessionStorage,
} from '@agorio/sdk';
import { createApprovalWorkflowPlugin } from '@agorio/plugin-approval-workflow';
import { createSpendingControlsPlugin } from '@agorio/plugin-spending-controls';
import { createAuditTrailPlugin } from '@agorio/plugin-audit-trail';
import { createAgentIdentityPlugin } from '@agorio/plugin-agent-identity';
import { createProcurementPlugin } from '@agorio/plugin-procurement';
const cloud = agorioCloud({ apiKey: process.env.AGORIO_API_KEY! });
const storage = new FileSessionStorage({ dir: './sessions' });
const plugins = () => [
createAgentIdentityPlugin({
organizationId: 'acme-corp',
organizationName: 'Acme Corp',
department: 'Procurement',
}),
createSpendingControlsPlugin({ perTransactionLimit: 5_000, dailyLimit: 25_000 }),
createApprovalWorkflowPlugin({ requireApprovalAbove: 1_000 }),
createAuditTrailPlugin({ output: 'callback', callback: shipToYourLog }),
createProcurementPlugin({
vendors: VENDORS,
expenseCategories: ['office-supplies', 'it-equipment', 'furniture'],
requirePoOnCheckout: true,
}),
];
const findBestPrice = { name: 'find-best-price', description: '...', build: (ctx) =>
new ShoppingAgent({ llm: claude, tracer: ctx.tracer, onLog: ctx.onLog, plugins: plugins() }) };
const requestApproval = { name: 'request-approval', description: '...', build: (ctx) =>
new ShoppingAgent({
llm: claude,
tracer: ctx.tracer,
onLog: ctx.onLog,
plugins: plugins(),
sessionStorage: storage,
sessionId: 'po-2026-04829', // survives process restart
}) };
const checkoutAndTrack = { name: 'checkout-and-track', description: '...', build: (ctx) =>
new ShoppingAgent({ llm: claude, tracer: ctx.tracer, onLog: ctx.onLog, plugins: plugins() }) };
const chain = new AgentChain()
.add(findBestPrice)
.add(requestApproval)
.add(checkoutAndTrack);
const result = await chain.run(
'Order 100 ergonomic chairs for the new procurement team',
{ tracer: cloud.tracer, onLog: cloud.onLog },
);Looking for a design partner
We're working with mid-market procurement teams ($50M–$500M ARR) frustrated with Coupa / Ariba pricing to build the reference implementation. Free Pro tier for 12 months, co-marketing on launch, and weekly access to the maintainer team.