Rules and safety¶
Preview
Framework v2 is not yet available to all accounts.
There are two ways to keep an agent within bounds. You can tell it what not to do and trust its judgment, or you can make the platform refuse to let it happen. v2 keeps both and names them differently so you always know which one you are relying on.
Guardrails steer¶
Guardrails are part of the Brief. They are instructions the agent reads on every turn: topics to avoid, claims never to make, disclaimers to include, plus any hard rule of your own. The agent follows them the way a well-briefed teammate follows a company policy document. They apply ahead of any Playbook and a Playbook cannot override them.
Mia's Guardrails: no medical advice, no diagnosis, no price for anything not in the catalog, and a line that consultations are with a licensed provider.
Guardrails are the right home for rules that need judgment to apply. "Do not give medical advice" depends on reading what the person asked. The agent is good at that, and lint and evaluations tell you when it is not.
Policies enforce¶
Policies are rules the platform applies before the agent reads anything and after it writes anything. The agent never sees a Policy and cannot override one. If a Policy fires, its result stands.
| Policy | What it enforces |
|---|---|
| Opt-out | A person who has said STOP, or the equivalent, gets no further messages, and the request is honored on the platform, not by the agent noticing. |
| Compliance | Carrier and channel rules: quiet hours, required disclosures, message pacing. |
| Reviewed copy sent verbatim | When a Playbook, Flow, or Policy calls for a message template, the platform sends the template's text unchanged. |
| No cancellation without a clear ask | An existing booking is only cancelled or moved when the person clearly asked for it, never because the agent misread a "no thanks". |
| Times come from the calendar | The agent can only offer times that Scheduling returned this turn. |
| Test traffic | Conversations from the emulator and the tester app are marked as tests and kept out of your reporting. |
Some Policies ship with the platform and are always on. Some ship with a capability and are on whenever the capability is (Scheduling brings the two booking Policies above). You can add your own for high-stakes output checks: Mia has one that blocks a reply containing a diagnosis word list. Policies are listed with the Brief so you can see every rule that governs the agent in one place, and each time a Policy fires it is named in the turn record.
The line between the two: a Guardrail is something you would explain to a teammate; a Policy is something you would build into the system so that no teammate could get it wrong.
Rules the platform enforces, on the Definition page¶
For a v2 agent the Definition page has a section named Rules the platform enforces, marked Every reply, listing the agent's own output checks. Each rule is a blocklist: a name, the words, phrases, or patterns it blocks, and what happens when a reply trips it. The default action is rewrite: the agent is asked once to rewrite the reply with the violation named, and if the rewrite still trips the rule the fallback copy you wrote is sent instead (or, with no fallback, the message is dropped). The drop action skips the rewrite. A rule can be switched off without deleting it, and each firing is named in the turn record as the rule's id.
Mia's rule No diagnosis language blocks a short list of diagnostic words with the fallback "I can't speak to that, but a Glow provider can at your consultation." When the section is empty it says so and notes that Scheduling's own rules (cancel or move a call only on a clear ask) are on whenever Scheduling is.
Today these rules are written in the agent's portable document
(policies under definition in the export) and applied by import;
the section on the Definition page shows them. See
Export / Import in the
Agent API for the shape.
Message templates are reviewed copy¶
A message template in Content is text a person on your side has read and approved. Wherever a template is used, that exact text goes out with its placeholders filled: Mia's outreach opening, her booking confirmation, her opt-in request. The agent may choose when a template applies (in an open-ended Playbook) or a Flow step may call for it, but neither can change its wording. If you need different wording, you edit the template, and the change is visible in Content.
This is what lets you promise a compliance reviewer that the message a person receives at a given moment is a message the reviewer has seen.
Impossible by construction¶
Some mistakes are not prevented by a rule; they are prevented by the shape of the agent's reply. In v2 the agent does not write free text that the platform then inspects. It fills in a reply form whose blanks are set for this turn from what is actually true. Because the form has no blank for a thing that does not exist, the agent cannot produce it.
| The agent cannot⦠| Because⦠|
|---|---|
| Offer a time slot that is not on the calendar | The time-picker blank only accepts times Scheduling returned this turn; when none were fetched, there is no picker to fill. |
| Show a card for a product you do not have | The product blank only accepts items from your catalog. |
| Send a template that does not exist | The template blank only accepts names from Content. |
| Put rich cards on SMS | The SMS reply form has no card blank; the reply is plain text with a short length limit. |
| Rewrite a template | A template goes out by reference; the agent names it, the platform renders it. |
| Enter a Playbook whose capabilities are not ready | The Playbook is not among the choices offered when the Playbook is picked. |
Everything else the agent says is its own words, shaped by the Brief and checked by Policies. The distinction matters when something goes wrong: an invented time slot is not a bug you patch with a stronger instruction; in v2 there is no way to express one.
What is not a rule¶
Two things people sometimes reach for as rules belong elsewhere. "Confirm before booking" is a step, and belongs in the booking Flow, where it always happens. "Ask about treatment interest early" is a way of working, and belongs in the Qualify Playbook body, where the agent applies it with judgment.