# Procedures overview

Procedures keep repeatable operating instructions separate from the Agent system prompt. They run only when the customer's request matches a trigger, and the active Procedure can continue across several messages.

## Choose a Procedure type

Operade supports **Free-form** and **Structured** Procedures. A Free-form Procedure gives the model an SOP as Markdown and lets it decide how to follow it. A Structured Procedure executes authored Ask, Tell, Say, Tool, If, End, and Sub-procedure steps in order. The type is part of a Procedure's identity and cannot be changed later for the same ID.

An agent configuration can contain up to 50 Procedures. Each needs a unique ID, name, and trigger. Free-form content can contain up to 50,000 characters; Structured Procedures have their own step and expansion limits.

## How triggers are selected

When no Procedure is active, Operade makes one forced model decision using the current customer message and the configured triggers. The choices are presented in configuration order, so when triggers overlap, configuration order determines priority and the first selected Procedure wins. Write narrow, mutually distinguishable triggers and put the more specific Procedure first.

If the model returns no valid Procedure, normal Agent or Workflow behavior continues. While a Procedure is active, the trigger router is skipped until that Procedure waits, completes, returns, or ends the conversation.

## Author and publish

Open **Procedures** in Agent Studio. Changes autosave to your branch draft and can remain incomplete while you work, but Test chat, conversation creation, and Publish require the configuration and referenced resources to be ready. Use [Free-form Procedures](/docs/procedures/free-form) for flexible SOPs or [Structured Procedures](/docs/procedures/structured) for explicit control.

Procedure start, waiting, and completion records appear under **[Activity](/docs/monitor/transcript-and-activity)** in Conversation detail.
