Free-form Procedures
A Free-form Procedure is best when the SOP is mostly narrative guidance and the model needs room to adapt its wording or ordering to the conversation.
Configure the trigger and content#
Give the Procedure a clear name and a specific trigger such as “When a customer cannot access the account after resetting a password.” Put the SOP in Content using Markdown. Content is limited to 50,000 characters. Include required questions, decision guidance, escalation rules, and a clear definition of completion; do not hide credentials or policy exceptions in the SOP.
The trigger is evaluated only when no Procedure is already active. If several triggers overlap, their configuration order influences which choice is presented first, so prefer explicit scope over broad phrases such as “when the customer needs help.”
Runtime and completion#
Once selected, Operade adds the Free-form content to the active agent context. The model responds normally with access to attached knowledge and Tools. After each response, a separate forced completion evaluator decides whether the Procedure is complete.
If completion is false, a waiting event is recorded and the Procedure resumes on the next user message. If completion is true, Operade records completion, clears the active Procedure, and future messages can trigger another Procedure. A Free-form Procedure does not execute deterministic steps and does not close the conversation merely because it completed.
Make the SOP testable#
State observable completion criteria such as “the case ID has been created and repeated to the customer.” Avoid instructions that can never be verified from the conversation. In Test chat, exercise both a completed and incomplete path, then inspect Activity for procedure_started, procedure_step_waiting, and procedure_completed.
Choose a Structured Procedure when exact messages, explicit Tool calls, or authored branches must run in a fixed sequence.
