Writing SOPs your VA AND Claude can both follow
A 5-step template for standard operating procedures that work equally well for a human VA and for an AI executing the same task. Examples from real placements, with the failure modes.
The single best predictor of whether a VA placement works is whether the founder writes SOPs. The single best predictor of whether AI augmentation works inside that placement is whether those SOPs are written in a format Claude can also follow.
You can write SOPs that work for both. Here’s the template.
The five fields
Every SOP has five sections. Skip any one and both your VA and your AI will guess.
1. Outcome (what)
One sentence. The deliverable. Not the steps.
❌ “Process the customer returns inbox”
✅ “Every Monday by 12pm AEST, every return request from the prior week is either approved (refund processed in Shopify, customer emailed) or escalated to founder with a one-line reason.”
The bad version describes activity. The good version describes a finished state.
2. Why (context)
Two sentences. The thing the executor needs to know that is not obvious from the task itself.
✅ “Customer satisfaction scores drop sharply if we take longer than 5 business days to process a return. We are also subject to Australian Consumer Law, which means some returns are not optional — see escalation rules.”
This field is what separates judgement-capable execution from mechanical execution. Both your VA and Claude need it.
3. Steps (how)
Numbered, each starting with a verb. Each step has one action.
❌ “Open Shopify, check the returns inbox, look at each return, decide if it’s eligible, process the refund, update inventory, and let the customer know.”
That’s seven actions in one sentence. Half will get skipped.
✅
1. Open Shopify Admin → Orders → Filter: Customer requested returns
2. For each return, open the order page
3. Check: is the return within our 30-day window? (date in order vs today)
4. Check: was the item flagged as final-sale in product tags? If yes → DECLINE
5. Check: is the product condition acceptable per customer's photos? If photos missing → REQUEST photos via [TEMPLATE_REQUEST_PHOTOS]
6. If eligible → click Refund, restock if condition allows, send [TEMPLATE_REFUND_APPROVED]
7. Log the return in the weekly returns spreadsheet [LINK]
Each step has one action and one decision. Both VA and AI can pattern-match this.
4. Done looks like (example)
The single most important field. One paragraph or one screenshot of an actual finished output.
✅ “Done looks like: Shopify shows the return as Refunded, inventory shows +1 for restockable items, the customer has received the refund-approved email within 2 business days of their original request, and the returns spreadsheet has a new row with date, order #, customer name, item, refund amount, and reason category.”
Or, even better, a Loom recording of you doing it once. Three minutes of you walking through the task is worth 30 minutes of writing.
For AI specifically: include a literal example output. If the SOP produces an email, paste an example email. If the SOP produces a spreadsheet row, paste an example row. Claude calibrates against examples far better than against descriptions.
5. Escalate when
The explicit list. Not “use judgement”. Specific cases.
✅
Escalate to founder before actioning when:
- Return value > $200 AUD
- Customer mentions "lawyer", "ACCC", "consumer affairs", "refund authority"
- Customer is on the VIP list (see [LINK])
- Return is for a custom or made-to-order item
- More than 60 days have passed since delivery
- Customer has had more than 2 returns in the last 90 days
Without this section, your VA either over-escalates (everything becomes a question) or under-escalates (problems land in your inbox as faits accomplis). AI does the same.
A complete worked example
The full SOP for the returns workflow above, in our standard template:
# SOP: Returns processing (Shopify)
## Outcome
Every Monday by 12pm AEST, every return request from the prior week is either
approved (refund processed in Shopify, customer emailed) or escalated to
founder with a one-line reason. Returns spreadsheet [LINK] updated.
## Why
Customer satisfaction scores drop sharply if we take longer than 5 business
days to process a return. We are also subject to Australian Consumer Law,
which means some returns are not optional — see escalation rules below.
## Steps
1. Open Shopify Admin → Orders → Filter: Customer requested returns
2. For each return, open the order page
3. Check: is the return within our 30-day window?
4. Check: was the item flagged as final-sale in product tags? If yes → DECLINE
5. Check: is the product condition acceptable per customer's photos?
If photos missing → REQUEST via [TEMPLATE_REQUEST_PHOTOS]
6. If eligible → click Refund, restock if condition allows, send
[TEMPLATE_REFUND_APPROVED]
7. Log the return in the returns spreadsheet [LINK]
## Done looks like
- Shopify shows return as Refunded
- Inventory shows +1 for restockable items
- Customer has received the refund-approved email within 2 business days
- Returns spreadsheet has a new row: date, order #, customer, item, refund $, reason
Example refund-approved email output: [paste example]
## Escalate to founder when
- Return value > $200 AUD
- Customer mentions "lawyer", "ACCC", "consumer affairs"
- Customer is on the VIP list [LINK]
- Return is for a custom or made-to-order item
- More than 60 days have passed since delivery
- Customer has had > 2 returns in the last 90 days
## Templates
[TEMPLATE_REQUEST_PHOTOS]: Hi [first_name], thanks for getting in touch...
[TEMPLATE_REFUND_APPROVED]: Hi [first_name], your refund has been approved...
## Last reviewed
18/05/2026 — Jenn
This is roughly 350 words. Lives in a Google Doc or Notion page. Linked from the VA’s master onboarding doc.
Why this format works for AI too
When the VA hands this off to Claude with a prompt like:
Process the customer return below per our returns SOP. Output:
- The decision (approve / decline / escalate)
- The reason
- The draft email reply (if approve or decline)
- The spreadsheet row entry (if approve)
If anything is ambiguous, flag it [VERIFY].
SOP: [paste the SOP above]
RETURN REQUEST: [paste]
Claude has everything it needs: the outcome, the context, the steps, the example output, the escalation rules. Output quality is 85-90 per cent first-try-acceptable. Without the SOP context, output quality drops to roughly 40 per cent.
What to avoid
Long preamble sections. SOPs are not strategy docs. Save the “why this matters for the business” framing for the onboarding doc. SOPs are operational.
Multiple decisions per step. If a step has more than one IF, split it into two steps. Both humans and AI lose track at the second branch.
Implicit context. “Process the return per our usual policy” is not an SOP. Spell out the policy in the SOP itself.
Tribal knowledge. “You’ll figure it out after you see Sarah do it a few times” doesn’t survive a VA replacement and doesn’t translate to AI at all.
Stale links. The SOP says “see the template at [link]”. The link is dead. Both VA and AI follow the SOP confidently and produce broken output. Audit links quarterly.
The maintenance rhythm
We update SOPs on this cadence:
- During onboarding (weeks 1-4): weekly. The VA flags what’s unclear, you update.
- Months 2-3: every 2 weeks.
- Steady state: monthly.
- Quarterly: full audit. Are any SOPs no longer used? Are any new processes missing an SOP?
Every SOP has a “last reviewed” date at the bottom. If it’s older than 6 months, it’s stale.
Where to keep them
Three options that work:
Google Docs in a shared Drive folder. Simplest. Search works. Loom recordings can be embedded. Free.
Notion workspace with a SOPs database. Best for teams running multiple clients. Templates, tags, last-reviewed dates filterable.
A Git repo with markdown SOPs. Overkill for most agencies, but the right answer if you have engineers on the team and want version history of every SOP edit.
We use Notion for our master SOP library and Google Docs per-client. Don’t sweat this; pick one and don’t switch.
What’s next
For the broader onboarding context where SOPs live, see Onboarding a VA week by week.
For the prompts that turn SOPs into AI-executable workflows, see Prompt library for Australian VAs.
For the Claude Code workflow that audits SOPs automatically, see How we run our VA team on Claude Code.
If you want a placement that comes with an SOP template pack on day one, book a discovery call.
Tools mentioned in this post
- Claude
- Google Docs
- Notion