Procedures: enforce a checklist while the AI keeps the conversation

Last reviewed: 2026-09-24

A successful search can still return no records. A procedure can require a returned record ID before completing its lookup step, so an empty result keeps the step open for its retry or no-match instructions. After a successful tool action, the runtime can remind the agent of the next required step without running that action automatically. An empty lookup instead carries the current step's retry or no-match instructions. Write the retry limit explicitly in that step. The reminder numbers empty results so the agent can distinguish the first miss from an exhausted retry. An empty search does not undo completed identity verification. These reminders support the instructions you write; a retry limit in prose still depends on the agent following it.

A step's completion check should cover every detail that its instructions require. For a flow that collects information and then asks the customer to confirm it, use separate collection and confirmation steps before the final write. This lets the background checker catch missing information before the agent treats a partial read-back as permission to proceed.

A Procedure is a checklist the platform enforces while your agent keeps its natural conversational style. Use one where a Smart (prompt-driven) agent must reliably follow a sequence — verify the caller, confirm an amount, then take payment — but a fully scripted Guided flow would feel too rigid.

While the call runs, the platform ticks steps off as they complete, blocks locked actions (like a payment tool) until their earlier steps are done, and quietly nudges the agent back on track if it skips ahead or claims something happened that didn't.

The background checker uses recent conversation and retained outcome evidence. It leaves a requirement incomplete when evidence is missing or contradictory. An AI assessment cannot replace a required tool result or verified application state.

For asynchronous work, distinguish request started from work completed. Sending a payment request does not mean the payment succeeded. A procedure can track the accepted request as one milestone and require a confirmed payment before recording it. Similarly, showing a different card should not complete an appointment-card step.

Steps live inside the prompt

Procedure steps are blocks in the prompt itself — the step's instructions are ordinary prompt text you type inside the block, exactly where the model reads them. Open the agent's stage → Behavior tab.

To insert a step, type {{ (or @) at the spot in the prompt where the step belongs and pick Procedure step from the menu. The block appears at your cursor with its settings dialog open; type the step's instructions inside the block, between the teal STEP and END STEP pills.

The prompt editor's header row (next to Copy full prompt) shows the procedure summary:

The same controls appear on each Smart subagent's tab for a procedure scoped to that subagent. Guided flows don't take one: their step script already is a procedure.

Steps run in the order they appear in the prompt. Reorder by moving the blocks; delete a step by deleting its block.

Multiple procedures and references

An agent can carry several named procedures in one prompt. Pick Procedure section from the {{ menu to insert a {{#procedure name}} … {{/procedure}} section, then add steps inside it. Each named procedure is its own checklist, and clicking its PROCEDURE pill opens its settings:

A named procedure is active in the prompt where it's written, and its progress carries across subagents — a step completed before a hand-off stays completed after it. To make a procedure active in another prompt too (for example a subagent that should follow a flow defined on Main), type {{ there and pick it from the Procedure category — that inserts a {{PROCEDURE:name}} reference which renders the procedure's steps into that prompt at runtime and arms its checklist there. Steps outside any named section form the prompt's own default checklist, scoped to where they're written.

Step settings

Click a STEP pill to open its settings:

Watching it work

Test the agent in Preview. A Procedure panel appears beside the phone the moment the checklist arms, ticking steps live as the call progresses — with a lock icon on gated steps, dimmed rows for steps that don't apply, and a short log of any corrections the checker issued. The same events are stored with the conversation, so the checklist survives into the post-call record.

The checker model

Judge steps, "applies when" AI assessments, and drift-checking use a small, fast "logic checker" model. It defaults per stack (for example Nova Micro on an AWS stack) and can be changed — or pointed at your own self-hosted OpenAI-compatible endpoint — under the stage's Auxiliary services section or Settings → Tenant Settings → Auxiliary Services. Its usage is metered separately in cost reporting, and cost forecasts include it automatically when an agent has procedures or extraction variables.

The logic checker section shows the selected default model in the normal model selector. Expand Procedure checker prompt or Entity extraction prompt to view and override its instructions. Use default prompt restores the inherited text. AI judge criteria remain on each individual condition.

Tips

When an action is blocked by an unfinished step, the agent receives that step’s instructions with the refusal. Include the exact tool or component to use in those instructions so the agent can recover without repeating the same mistake. For a checklist with several required answers, use smaller completion checks when a single broad assessment accepts partial answers.

Use clear step titles: the agent sees prerequisite titles in the tool descriptions before choosing an action. When a current background check identifies missing facts, the blocked action can pass those facts back as a recovery hint; older assessments are not reused after the conversation changes.

The background checker also listens to your caller's answers. When an action requires confirmation, it can wait briefly for that assessment before proceeding. A check still in progress is different from a missing answer; the agent should preserve an existing confirmation instead of asking for it again.