Why PROCESS.md
PROCESS.md is a format for AI agents to intelligently execute workflows, such as chasing an overdue invoice or onboarding a new client, based on instructions written in plain language.
It replaces traditional rule-based automation tools built around drag-and-drop flowcharts, which are limited to predefined logic and cannot adapt or improvise.
Workflow automation tools
Static flowcharts
Create deterministic workflows with every step predefined. They execute exactly as designed, but cannot interpret ambiguity, apply judgment, or adapt beyond the flow.
PROCESS.md
Intelligent automation
Write the workflow in plain language. An AI agent runs it, adapts to nuance, handles edge cases you didn't think of, and pauses for your approval when it matters.
Writing a PROCESS.md
Every PROCESS.md has the same structure. A YAML header with the name and description, followed by three sections: ## Rules (optional), ## Todos (required), and ## Paths (optional).
| Section | Required | Purpose |
|---|---|---|
## Rules |
No | Conditions, policies, guardrails, or custom instructions for the whole workflow. |
## Todos |
Yes | The actual workflow the agent executes, as a list of items. |
## Paths |
No | Reusable sub-flows the workflow can run mid-execution. Each path is a named set of todos called from a Description with run path [path-name]. |
Example
Frontmatter
A YAML header with two required fields: name and description.
| Field | Required | Constraints |
|---|---|---|
name |
Yes | Lowercase letters, numbers, and hyphens only. Must not start or end with a hyphen. |
description |
Yes | Up to 1024 characters. Describes what the process does. Use > for multi-line values. |
Example
Todos
A todo is a single step the agent executes to complete the workflow. Every todo can have parameters that tell the agent how to run it.
| Parameter | Required | Description |
|---|---|---|
Title |
Yes | A short name for the todo, written after [ ]. |
Description |
Yes | What the todo is and how the agent should execute it. |
Approval |
No | The agent asks for the approval of every action it takes while running this todo. |
Sources |
No | The connected sources the todo uses (CRMs, email, calendars, messaging, file storage, etc.). Separate multiple with commas. |
Skills |
No | SKILL.md files the agent loads for this todo. Separate multiple with commas. |
Assets |
No | A template, example, or reference the agent reads before running the todo. Separate multiple with commas. |
Only include what the agent needs. An AI agent reads every line in a todo and uses it to decide how to act. Irrelevant details confuse the execution and make results less reliable.
Example
Rules
Rules are conditions, policies, guardrails, or any custom instructions that apply to the whole workflow. Each rule starts with a label followed by the instruction. Use one of the predefined labels or create your own.
Custom rules
| Parameter | Required | Description |
|---|---|---|
Label |
Yes | A short category name for the rule, followed by :. |
Instruction |
Yes | The condition, policy, guardrail, or any custom instructions the agent must follow. |
Predefined rules
| Label | What it does | Instruction |
|---|---|---|
Stop |
Workflow stops and will not be executed further. | Describe when the workflow should stop. |
Escalate |
Notify about certain event (workflow will continue to execute). | Describe who to notify, when, and their email. |
Email only for now. Escalate sends notifications via email. Other channels like Slack or SMS aren't supported yet.
Rules override todos. They apply to the whole workflow and, if they conflict with a todo, take precedence over it.
Example
Paths
Paths are sub-flows that can be triggered from a Todo's Description or a Rule using run path [path-name]. Define each one under ## Paths with a ### path-name heading and its own todos.
To trigger an external PROCESS.md, use run process [process-name] โ it runs a separate file from your processes/ folder.
| Parameter | Required | Description |
|---|---|---|
Name |
Yes | A short path name, written after ### . Each path in a PROCESS.md must have a unique name. |
How to run a local path or trigger an external process
| Phrase | What it runs |
|---|---|
run path [path-name] |
Runs a path defined in ## Paths section. |
run process [process-name] |
Runs an external PROCESS.md file from your processes/ folder. |
Processes folder structure
Example
Full example
A full example of a PROCESS.md workflow.
Run PROCESS.md in Askpilot
Askpilot is purpose-built to run PROCESS.md files. From one place, activate any process where it needs to run:
- Across your whole company for organisation-wide processes
- To specific teams like sales, operations, or compliance
- To individual employees for personal workflows or assigned tasks
- On any trigger like events, schedules, conditions, or manual runs
PROCESS.md describes the work. Askpilot makes sure it runs right, wherever it's needed.
Get started today
Run your processes in Askpilot.
Request early access and start automating your business workflows.