Capabilities

Agents are only as good as the context you give them

Most AI agent projects fail the same way. The model is capable, the integrations work, and the agent still gets things wrong — because it's reasoning from a pile of API responses rather than an understanding of how your business actually works.

Groundwork fixes this at the foundation. Before an agent handles a single conversation, your operation is mapped into a Context Layer that every agent reasons from.

The Context Layer

The Context Layer is a single, structured representation of your business: what things are, how they relate, and what the rules are. Every system you connect is read through it — the data stays where it is — so agents see one coherent picture rather than six disconnected data sources.

Every agent reasons from this
Agent
Agent
Agent

Context Layer

Workflows

How you run, with deterministic policy gates.

Grounding

Attributes, style, policies and escalation.

Integrations

Your systems, mapped onto your ontology.

Ontology

What exists in your business, what it is called, and how it relates.

System A
System B
System C

1. Ontology

An ontology is an agreement about what exists in your business, what each thing is called, and how the things relate: a customer places an order, the order is for a product, is settled by a payment and is bound by a policy. It's the first thing that gets built, because every workflow, rule and integration is defined in its terms.

It is not a data model. A data model describes how one system stores its records. An ontology describes the world those records are about, in the language your customers and your industry actually use — which is why it's written from your operation, with the people who run it, during Foundations, not lifted from a database schema.

It matters because most of what an agent handles is text, and text only means something in context. “Credit” in a customer message could be a refund, a credit note or a goodwill gesture. The ontology is what lets the agent tell which, and what follows from it.

Order Customer Product Payment Policy Case
Customer · places · Order Order · is for · Product Order · settled by · Payment Policy · bounds · Order Case · about · Order Customer · raises · Case A customer's request for a product, from placed to fulfilled. The person or organisation an order is for. What you sell, in the terms your customers use for it. Money moving against an order: a charge, a refund or a credit. The rules that bound what can happen to an order, and who decides. A customer's request about an order that needs handling.

2. Workflows

If the ontology is the nouns, a workflow is a sentence: which things it reads, what it decides, where it is checked, and what it is allowed to do. Every step names a concept from your ontology, every gate is a policy bound to one, and every action is a verb on one — so what an agent may look at, and what it may change, is written down rather than inferred.

Workflows are captured from the people who do the work and from your historical cases. The agent reasons freely inside them; the gates are deterministic checkpoints it cannot reason its way around, and each one names where the work goes when the check fails. Actions write back to your systems, staged for a person by default and closed automatically only where you have decided they can be.

Every decision is recorded on the case it belongs to, with the reasoning attached. That record is what Prove replays when a workflow or a policy changes.

Order Customer Product Payment Policy Case
The message becomes a Case, about the Order it mentions. It must resolve to the customer who placed the order. If it can't, a person takes it. What was bought, what was paid and how — read from your systems, in your terms. The refund policy bounds the order. The agent reasons inside it, not around it. Above the limit the decision waits for a person to approve, with the reasoning attached. A verb on Payment, written back to billing. The agent can only do what the workflow names. The reply and the decision behind it are written to the Case — which is what Prove replays. A carrier event lands on the Order it belongs to, not in an inbox. Every customer with an order on that shipment, by following the links. The delivery policy says what was promised; the agent works out which orders now miss it. Named accounts go to the person who owns them, not to the agent. Wait, reroute or cancel — only the options the policy allows for that order. The customer's choice, written back to fulfilment. One Case per customer, with what happened and why. Every payment past its due date, wherever it is recorded. From the payment to the order it settles, to the customer who placed it. An open case about the order stops the chase. Nobody is chased for something in dispute. The dunning policy sets the cadence and the tone; the agent writes the reminder inside them. In your voice, to the right contact. After the third, the policy says a person decides what happens next. If a person says so: a verb on Order, written to the ERP. Each reminder and each decision on the Case, so the next run knows where it left off.
  1. Trigger · Customer message
  2. 01 Open a case
  3. 02 Gate · Identity fails → Human
  4. 03 Read the order and what was paid
  5. 04 Credit note, refund or decline agent
  6. 05 Gate · Refund limit fails → Human
  7. 06 Issue the credit note → Billing
  8. 07 Reply and record
  1. Trigger · Carrier event
  2. 01 A shipment slips
  3. 02 Find everyone affected
  4. 03 Which promises now break agent
  5. 04 Gate · Key account fails → Human
  6. 05 Tell the customer, offer the options → Messaging
  7. 06 Reschedule the order → Fulfilment
  8. 07 Record the decision
  1. Trigger · Scheduled, daily
  2. 01 Find overdue payments
  3. 02 Which order, which customer
  4. 03 Gate · Open dispute fails → Stop
  5. 04 Choose the reminder agent
  6. 05 Send it → Messaging
  7. 06 Gate · Third reminder fails → Human
  8. 07 Put the order on hold → ERP
  9. 08 Record the decision

3. Grounding

Grounding is what keeps agents on-policy in every individual conversation: the facts recorded about it, the way the agent speaks and what it will speak about, the limits it works within, and when it hands over.

Attributes

An attribute is a fact about a conversation, stored on it and readable everywhere downstream: issue_type, tone, refund_processed_count. Attributes are set in two ways.

  • Derived by analysis. The agent reads the conversation and sets issue type, tone, urgency, sentiment and anything specific to your business. These are judgements, so every one is written to the conversation record where a person can review it.
  • Set by the workflow. A workflow step writes an exact value: refund_processed_count goes up by one when a refund is issued, dispute_open is set when a case is raised. Nothing is inferred. The value is what the step wrote, and the step is on the record.

Both kinds feed the same things: branching inside a workflow, policy gates, escalation rules, and every report. A gate can read a count the workflow kept just as easily as a tone the agent detected.

Style

Style governs how agents present themselves: your house language and conventions — what you call things, how you sign off, what is never said — and a register that follows the attributes, conciliatory when tone turns and brisk for routine confirmations. It also sets the agent's scope. An agent answers within your operation and politely declines the rest, so nobody can use it as an open door to a general-purpose model.

Policies and escalation

Policies are hard limits on what an agent may and may not do, applied to every conversation. Escalation rules name the circumstances — read from the same attributes — in which a conversation is handed to a person, with the full context attached.

Customer message

Derived by analysis

issue_type tone urgency

Step · Refund issued

Set by workflow

refund_processed_count dispute_open

Conversation attributes

issue_type
refund
tone
frustrated
urgency
high
refund_processed_count
2
dispute_open
false
The agent reads the conversation and sets what it finds. Reviewable on the record. The step writes an exact value. Nothing is inferred, and the step is on the record. issue_type picks the workflow: this conversation runs Refund request. A second refund on the same order waits for a person to approve. A frustrated tone selects the conciliatory register. High urgency and a frustrated tone hand over, with the conversation attached. Every attribute is a filter in reporting, whichever way it was set.

4. Integrations

Groundwork connects to your systems through MCP and APIs. Rather than wiring each integration to each agent, every integration is mapped onto your ontology on the fly. A booking is a booking whether it came from your PMS, your channel manager or a spreadsheet — and the agent treats it that way. You control, per connection, which actions agents may take.

Wired per agent
9 integrations
System A
System B
System C
Agent
Agent
Agent

Each new agent multiplies the integration work and each system keeps its own vocabulary.

Mapped once
6 mappings
System A
System B
System C
Ontology
Agent
Agent
Agent

The mapping is done once against the ontology, so adding an agent adds no wiring.

Nothing goes live untested

Because workflows and policies are explicit, they can be tested. Every change is replayed against an evaluation set built from your own historical cases before it reaches production, so you see exactly which past conversations would now be handled differently — and agents don't drift as your business evolves.

Change · workflows/refund.v4

-refund gate: manager

+refund gate: policy

Replayed against history

  • case a unchanged
  • case b unchanged
  • case c outcome changes
  • case d unchanged
  • case e outcome changes
  • case f unchanged
  • case g unchanged