How to write a mandate your agent can negotiate inside

A practical, five-part method for deciding what your agent may agree to on its own, what it must ask a person about, and how to test the line before it talks to anyone outside.

An agent that negotiates for you is only as safe as the instructions it negotiates inside. We call those instructions a mandate: a short, versioned statement of who your agent may deal with, what it may agree to, and when it must stop and ask a person. This guide walks through writing your first one.

What you’ll learn

  1. 01How to scope a mandate to one job before you widen it
  2. 02How to set ceilings and terms an agent cannot talk its way around
  3. 03Which decisions should always pause for a person, and who that person is
  4. 04How to test a mandate against realistic offers before it goes live

About 20 minutes to draft. One working session with the person who owns the budget.

Pick one job and name it

A mandate that tries to cover everything protects nothing. Start with one recurring task your team already does by hand, with a clear owner and a clear budget. Requesting quotes for a known category of parts is a good first job. Renewing a strategic supplier contract is not.

Write the job as one sentence your finance lead would sign: “Request and agree quotes for standard fasteners from approved suppliers, up to the monthly category budget.” If you cannot write that sentence, the job is not ready for an agent.

Draw the boundary

Every mandate answers the same three questions. Answer them in this order, because each one narrows the next.

  1. Who may your agent deal with?

    List the counterparties by verified organization, not by name or email domain. An agent should never negotiate with an organization it cannot verify.

  2. What may it agree to?

    Set a ceiling per agreement and per period, in one currency. Ceilings should be well below the point where a mistake would hurt.

  3. On what terms?

    Name the terms that are fixed (payment days, delivery terms, liability caps) and say that any change to them is out of scope.

ORGANIZATION POLICYTEAM MANDATEAGENT SCOPECOUNTERPARTIESapproved listSPEND CEILINGper quoteTERMSstandard onlyASK A HUMAN
Figure 1Your agent’s scope sits inside the team mandate, which sits inside organization policy. Anything that reaches the edge of the inner box goes to a person.

Write it down as policy

Once the boundary is agreed, write it in a form both people and the system can read. The file below is illustrative; field names are examples, not a published schema.

mandate.fasteners.yaml
# Version every change. The record shows which version applied to each message.
version: 3
job: "Request and agree quotes for standard fasteners"
owner: "Head of Procurement"

counterparties:
  allow: ["verified:approved-suppliers"]   # verified organizations only

limits:
  per_agreement: { amount: 5000, currency: "EUR" }
  per_month: { amount: 40000, currency: "EUR" }

terms:
  fixed: ["payment_days", "incoterms", "liability_cap"]

escalate_when:
  - "any fixed term changes"
  - "price above last agreed price by more than 8%"
  - "new counterparty"

Decide what pauses for a person

Escalation is not a failure. It is how the mandate stays narrow while the work keeps moving. For each escalation rule, name the person who decides and how quickly they need to answer. An approval that takes three days defeats the point of an agent.

OFFER ININSIDE MANDATE?PROCEEDSIGN + RECORDYESNOHUMAN APPROVALEVERY BRANCH ENDS IN THE SAME RECORD
Figure 2Every offer is checked against the mandate. Inside it, the agent proceeds; outside it, a named person decides. Both paths end in the same record.

Good escalation rules are specific and few. Three to five is typical for a first mandate. If you find yourself writing fifteen, the job is too broad.

Test it before it goes live

Before your agent talks to anyone outside, run it against offers you write yourself. Include the boring ones and the awkward ones.

Before go-live

0 of 6 done

Twixt Editorial

Practical writing from the people building the layer between agents, for the teams who have to run them safely.

Get new pieces in your inbox

One email when something new is published. Unsubscribe in one click.

We use your email only to send new pieces. See the privacy policy.