PROCESS.md

Intelligent Workflow Automation

PROCESS.md is a format for writing down your workflows in plain language, as a set of todos, rules, and approvals that AI agents run.

contractor-chase / PROCESS.md
--- name: contractor-chase description: Chase a contractor weekly until they confirm scheduling. --- ## Rules Stop: If contractor confirmed a date. Escalate: After 3 weeks without a response, run notify-property-manager. ## Todos [ ] Check for contractor response Description: Look for replies in the last 7 days. [ ] Send follow-up email Description: Use front-inbox to draft a polite chase. Ask for approval before sending. [ ] Record chase attempt in CRM Description: In iamproperty-crm, log the message sent, date, and next follow-up date against the repair ticket.

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.

Trigger · overdue Send reminder Paid? yes no Exit Log outcome Wait · 30 days loop

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.

--- name: invoice-chase description: Chase an overdue invoice until paid. --- ## Rules Escalate: If invoice 30 days or more overdue, notify account manager at amelia.brooks@kinsleyandco.co.uk. ## Todos [ ] Send reminder Description: Use gmail to draft a reminder, working from assets/invoice-reminder-template.md. If this is the 3rd attempt, use a firmer tone. Approval: required [ ] Log outcome Description: In hubspot, update the record with the message sent and next follow-up date.

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

--- name: process-slug description: Full description of the process. --- ## Rules ← optional ## Todos ← required ## Paths ← optional

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

--- name: new-client-onboarding description: > Onboard a new client, from contract signature through their first kickoff call and system setup. ---

Todos

A todo is a single step the agent executes to complete the workflow. Each todo has a Title and a Description, plus an optional Approval flag. Everything else the todo needs — which sources to use, which skill or reference files to load — is written into the Description in plain language.

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. Name everything the todo needs here, in plain language — which sources to use (CRMs, email, calendars, messaging, file storage), and any SKILL.md or template/reference files to load before running it.
Approval No The agent asks for the approval of every action it takes while running this todo.

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

## Todos [ ] Send welcome email to new employee Description: Use gmail and email-writer to introduce their manager and team, share the first-day logistics, and summarise what to expect in week one. Follow the write-professional-email and internal-tone-guide skills, and draft from assets/welcome-email-template.md and assets/week-one-checklist.md. Approval: required

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

## Rules Stop: If contractor confirmed a date. Escalate: If a customer complains about product quality, email the product manager at alex.chen@acme.co. Language: Always use British English. CC Policy: CC the manager on all disputes when sending an email. Manager email: sarah.walker@acme.co

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

processes/ ├── maintenance-ticket/ │ ├── PROCESS.md │ └── assets/... ├── inspection-report/ │ ├── PROCESS.md │ └── assets/... ├── request-photos/ │ └── PROCESS.md └── shared-assets/ └── brand-tone.md

Example

## Todos [ ] Process the contractor's reply Description: After the contractor responds, run path job-fixed-resolution if the job was fixed. Run path quote-approval-flow if they sent a quote for further work. ## Paths ### job-fixed-resolution [ ] Email tenant confirming the fix Description: Use front to email the tenant. Draft from assets/tenant-fix-confirmation.md. Approval: required [ ] Email landlord confirming the fix Description: Use front to email the landlord. Draft from assets/landlord-fix-confirmation.md. Approval: required [ ] Mark job complete in iamproperty Description: Use iamproperty to mark the job complete on the ticket. [ ] Upload contractor invoice to ticket Description: Use iamproperty to attach the contractor invoice to the ticket. [ ] Move Trello card to Done Description: Use trello to move the card to the Done list. ### quote-approval-flow [ ] Email landlord requesting quote approval Description: Use front to email the landlord requesting approval. Draft from assets/quote-approval-request.md. Approval: required [ ] If no reply in 2 working days, schedule a call with landlord Description: Use outlook-calendar to schedule a call if there's no reply in 2 working days. [ ] On approval, email contractor confirming and request scheduling Description: Use front to email the contractor confirming and requesting scheduling. Approval: required [ ] Once fixed, run path job-fixed-resolution

Full example

A full example of a PROCESS.md workflow.

--- name: contractor-chase description: > Chase a contractor weekly for a response on a logged repair until they confirm scheduling. If the contractor replies with a confirmed date, notify the tenant. Escalate to the contractor-escalation process if still unresponsive after 3 weeks. --- ## Rules Stop: If contractor confirmed a date or tenant withdrew the repair. Escalate: After 3 weeks without a response, run process contractor-escalation and notify the property manager at pm@acme.co. Tone: Keep messages polite and professional. Use a firmer tone on the 3rd attempt. Language: Always use British English. ## Todos [ ] Check for contractor response Description: In iamproperty, look for replies against this repair in the last 7 days. [ ] Send follow-up message Description: Use front and iamproperty to draft and send a chase email. Follow the contractor-communication skill and draft from assets/contractor-chase-template.md. Reference the original repair and prior messages. If the contractor replies confirming a date, run path tenant-update. Approval: required [ ] Log outcome Description: In iamproperty, record the sent message and next expected response date. ## Paths ### tenant-update [ ] Email the tenant confirming the scheduled date Description: Use front to send a brief, friendly update with the confirmed date, contractor name, and what to expect on the day. Draft from assets/tenant-scheduled-update.md. Approval: required [ ] Log the notification in the repair ticket Description: In iamproperty, record that the tenant has been informed, with timestamp.

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 access and start automating your business workflows.

Start with CallSwitch One