Procedures Format
Procedures are YAML-based standard operating procedures (SOPs) that give agents step-by-step instructions for recurring tasks. They are stored as .proc files (mandatory extension) using UTF-8 encoding, and invoked by agents via the invoke_procedure tool.
File Location
procedures/
{agentName}/ # Agent-specific procedures
qualify-lead.proc
follow-up-sequence.proc
shared/ # Shared across all agents in the project
daily-standup.proc
weekly-report.proc
- Agent-specific:
procedures/{agentName}/-- only available to the named agent. - Shared:
procedures/shared/-- available to all agents in the project.
Schema
name: qualify-lead
description: Qualify an inbound lead based on ICP criteria
inputs:
- name: lead_name
type: string
description: Full name of the lead
- name: company
type: string
description: Company name
outputs:
- name: qualified
type: boolean
description: Whether the lead meets ICP criteria
- name: score
type: number
description: Lead score (0-100)
tools_used:
- web_search
- create_task
steps:
- title: Research the company
details: Use web search to gather company info including size, industry, funding, and recent news.
- title: Check ICP criteria
details: Compare the gathered information against the ideal customer profile. Check for company size (50-500 employees), target industry, and budget signals.
- title: Score and record
details: Assign a lead score from 0-100 based on ICP fit. Create a follow-up task if the score is above 60.
Field Reference
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Unique identifier for the procedure (kebab-case) |
description | string | Yes | Human-readable summary of what the procedure does |
inputs | list | No | Expected input parameters |
outputs | list | No | Expected output values |
tools_used | list | No | Tools the procedure relies on (informational only -- not validated at runtime; the agent can use any available tool regardless of this list) |
steps | list | Yes | Ordered list of steps to follow |
Input / Output Fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Parameter name |
type | string | Yes | Data type (string, number, boolean, object, array) |
description | string | Yes | What this parameter represents |
Step Fields
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Short name for the step |
details | string | Yes | Full instructions for the agent to follow |
How Procedures Are Invoked
Agents call procedures via the invoke_procedure tool:
invoke_procedure(name="qualify-lead", inputs={"lead_name": "Jane Smith", "company": "Acme Corp"})
The agent receives the procedure definition and follows the steps using its reasoning loop. Procedures are guidance, not rigid automation -- the agent uses judgment to adapt steps to the situation.
Managing Procedures
You can manage procedures in two ways:
- UI: Navigate to Agent Profile > Procedures tab to create, edit, or delete procedures.
- GraphQL API: Use the procedures mutations for programmatic management.
tip
Start with the procedures included in your agent's template, then customize them as you learn what works for your workflow.