TL;DR: SOPs are not bureaucracy. They're the difference between an agency that runs on the founder's head and one that runs on a documented system. The 12 SOPs below are the ones I actually use at Eximius Studio. Each one is short (1 page), specific, and written so a competent person could execute it without asking me a question. Skip these and every new contractor takes 3x as long to ramp. Build them and your agency stops being you-shaped.
I spent two years explaining the same things to every contractor I onboarded. How we do kickoff calls. What the QA checklist is. When invoices go out. How to log time. By the third contractor I realized the problem wasn't the contractors. It was me. Every "how do we do X?" question was a missing SOP I'd been carrying in my head.
I'm Sammie Oku, founder of Eximius Studio, a web design and dev agency in Tyler, TX. The 12 SOPs below are what I wrote down so I could stop being the bottleneck on every operational question. They're not theoretical. Each one is in active use, today, at my studio.
For the bigger picture, how to run a web design agency covers the seven systems these SOPs operate inside. Think of SOPs as the recipes, the seven systems as the kitchen, and Notion as the building the kitchen sits in.
The SOP that nobody writes (and why)
Most agency owners don't write SOPs because writing them feels like work that doesn't ship anything. The client doesn't care that you have a documented kickoff process. The invoice doesn't go up because you wrote down how invoices go out. So the documentation gets deprioritized indefinitely.
The actual cost of skipping is hidden. Every undocumented process gets re-invented every time it runs. Every new contractor needs 5 to 10 hours of you explaining things they should have been able to read in 30 minutes. Every vacation you take is interrupted by "quick questions" about how to do something you do every week.
The benchmark from my own studio: writing the 12 SOPs below took roughly 18 hours over 6 weeks. The time savings the following year were closer to 80 hours, mostly recovered from no longer answering "how do we do X?" questions and from contractors ramping in 2 days instead of 2 weeks.
What makes an SOP actually usable
Before the 12 SOPs, the format. Most agency SOPs fail because they're too long, too vague, or both. A usable SOP has:
- One page maximum. If it's longer than a page, it's two SOPs.
- A purpose line at the top. "This SOP covers how we run client kickoff meetings."
- A trigger. "This SOP runs when a deposit clears."
- Numbered steps in order. Not paragraphs. Numbered, specific, sequential.
- Owner per step. Who does what.
- Tools and links. Specific tools and where to find them.
- A definition of done. How you know the SOP is complete.
Anything longer or vaguer doesn't get read. Once written, store them in one place (a Notion "SOPs" database is ideal) and link to them from the workflow where they're used.
The 12 below are grouped into five categories: Sales, Onboarding, Delivery, Retainer, and Finance.
Sales SOPs (3)
SOP 1: Lead Intake and Qualification
Trigger: New inbound lead via website form, referral, or direct email.
Purpose: Filter qualified leads before scheduling discovery calls.
Steps:
- Within 1 hour of inquiry, send the 28-question discovery questionnaire with a cover note.
- Wait 5 business days for completion. If no response, send one follow-up nudge. If no response after that, mark as Disqualified.
- When questionnaire is returned, score against the qualification rubric: budget fit, scope clarity, timeline reality, decision-maker access. Each scored 1 to 5.
- Total score 14+ → Schedule discovery call. Score 10 to 13 → Send rate sheet and a "not a fit but here are resources" email. Score under 10 → Decline politely with a referral.
- Update the lead record in the Leads database with score, status, and reason.
Done when: Lead has been scored, status updated, and next action either scheduled or declined.
SOP 2: Discovery Call
Trigger: Qualified lead scheduled a discovery call.
Purpose: Run a structured 45-minute discovery call that produces enough information to write a proposal.
Steps:
- Review the lead's discovery questionnaire 1 hour before the call. Make notes on anything that needs clarification.
- Send a confirmation email 1 day before with the agenda attached.
- Open the call with reintroductions (5 min). Walk through their questionnaire answers (15 min). Discuss scope, constraints, success metrics (15 min). Discuss budget and timeline (5 min). Close with next steps (5 min).
- Take written notes during the call, not after. Save to the Lead's page in Notion.
- Within 48 hours of the call, send a discovery summary email recapping what you heard. Confirm understanding.
Done when: Discovery summary sent, lead's status updated to "Proposal in Progress."
SOP 3: Proposal Writing
Trigger: Discovery summary sent and lead confirms accuracy.
Purpose: Produce a proposal that prices correctly and prevents future scope arguments.
Steps:
- Use the Project Proposal template from the bonus docs.
- Pull scope language directly from the discovery answers. Every page, feature, and integration named by the client gets listed.
- Add an "Out of Scope" section with at least 6 specific exclusions.
- Calculate price at 55 to 65% gross margin using the formula from how to price a web design retainer.
- Present three pricing tiers: Essential, Recommended, Premium.
- Send via PandaDoc or DocuSign for tracking. Set the proposal to expire in 14 days.
- Schedule a follow-up if no response within 5 business days.
Done when: Proposal signed or expired.
Onboarding SOPs (3)
SOP 4: Kickoff Meeting
Trigger: Deposit invoice clears.
Purpose: Run the 50-minute kickoff meeting that aligns scope, roles, and rhythm. Full script in the kickoff meeting agenda.
Steps:
- Schedule kickoff within 7 days of deposit clearing.
- Send the kickoff agenda 24 hours before the meeting.
- Run the meeting on the agenda: 10 min reintro and goals, 15 min scope walkthrough, 10 min roles and communication, 10 min timeline, 5 min next actions.
- Read scope aloud, line by line, and confirm in/out for each item.
- Identify single named final approver. Document in writing.
- Send the kickoff recap email within 4 hours of meeting end.
Done when: Kickoff recap sent and client has confirmed understanding. (This SOP sits inside the broader 14-day onboarding checklist.)
SOP 5: Asset Collection
Trigger: Kickoff meeting completed.
Purpose: Collect every asset and access credential needed to start the project.
Steps:
- Send the asset request list within 24 hours of the kickoff. List is in the bonus docs.
- Add the asset request as a checklist on the client's Project Home page in Notion.
- Track receipts daily. If a deadline is missed, send a nudge the same day.
- Confirm receipt of all critical assets before starting design work.
- If any asset is delayed by more than 5 business days, log it as a project risk in the Decisions Log.
Done when: All critical assets received or risk logged and timeline adjusted.
SOP 6: Project Home Setup
Trigger: Contract signed.
Purpose: Create the project workspace in Notion.
Steps:
- Duplicate the Project Home page template.
- Fill in client name, project name, contract value, timeline.
- Link the page to the Client record (Relation field).
- Add tasks for the first phase (Discovery) to the Tasks database.
- Set up the access credentials section (link to password manager, not credentials themselves).
- Share the link with the client and confirm they can view it.
Done when: Client confirms they can access the Project Home page.
Delivery SOPs (3)
SOP 7: Design QA Before Client Review
Trigger: Designer marks a design as "Ready for QA."
Purpose: Catch design issues before the client sees them.
Steps:
- Review the design against the scope document. Confirm every required element is present.
- Check responsive behavior on mobile (375px), tablet (768px), and desktop (1440px).
- Check accessibility basics: color contrast (WCAG AA minimum), font sizes (14px minimum body), and touch target sizes (44px minimum for buttons).
- Verify all text is final copy, not lorem ipsum or placeholder.
- Check brand consistency: logos, colors, fonts match brand guidelines.
- If issues are found, return to designer with specific feedback. If clean, mark as "Ready for Client Review."
Done when: Design is either returned for fixes or moved to client review.
SOP 8: Dev Handoff from Design
Trigger: Client approves a design.
Purpose: Transfer design assets and specifications to the developer cleanly.
Steps:
- Confirm all designs are finalized in Figma and organized by page.
- Create or update the design system documentation: colors, typography, spacing scale, component library.
- Export all assets needed (images, icons, fonts) into a shared folder.
- Annotate any complex interactions or animations directly in Figma with notes.
- Schedule a 30-minute design walkthrough with the developer to answer questions.
- Create the development task list in the Tasks database, linked to the Project.
Done when: Developer confirms they have everything needed to start build.
SOP 9: Pre-Launch QA Checklist
Trigger: Development is complete and site is ready for launch.
Purpose: Catch every launch-blocking issue before the site goes live.
Steps:
- Run the 47-item Pre-Launch QA Checklist (in the bonus docs).
- Test on Chrome, Safari, Firefox, and Edge on desktop.
- Test on iOS Safari and Android Chrome on mobile.
- Verify all forms submit correctly to the correct destination.
- Verify analytics (Google Analytics, Tag Manager) is firing on every page.
- Verify redirects from old URLs work correctly.
- Test page speed: aim for under 2.5s LCP, under 100ms FID, under 0.1 CLS.
- Have someone other than the builder run the QA.
- Document any deferred issues with rationale.
Done when: QA checklist is 100% complete or deferred items are documented.
Retainer SOPs (2)
SOP 10: Monthly Retainer Report
Trigger: First business day of each month.
Purpose: Send every retainer client a monthly report by the 5th.
Steps:
- Pull hours used vs. allocated from the Retainers database.
- List deliverables shipped from the Tasks database (filtered to past month, status = Done).
- Use the monthly retainer report template structure: executive summary, hours, what shipped, what's next, recommendations, outstanding decisions.
- Write each section in one sitting. Target 25 minutes total.
- Send by email with a 2-sentence cover note. Send no later than the 5th.
- Update the Retainer record with "Last Report Sent" date.
Done when: Report is sent and Retainer record is updated.
SOP 11: Retainer Renewal Review
Trigger: 60 days before retainer renewal date (auto-flagged in Retainer Health dashboard).
Purpose: Renew retainers at full or increased rates with documented value evidence.
Steps:
- Aggregate the last 12 months of monthly reports into a renewal summary.
- Calculate total hours delivered, major deliverables shipped, and measurable outcomes (conversion lifts, traffic growth, revenue impact).
- Review per the contracted annual rate review clause. Decide on rate adjustment (typically 5% per retainer agreement clauses).
- Schedule a 30-minute renewal conversation 45 days before renewal date.
- Send the renewal summary 24 hours before the call.
- After the call, send the updated retainer agreement for signature.
Done when: Renewal signed or non-renewal acknowledged.
Finance SOP (1, but it's the most important one)
SOP 12: Weekly Financial Review
Trigger: Every Friday at 4 PM.
Purpose: Review the six margin metrics that protect agency profit.
Steps:
- Open the Margin by Client dashboard in Notion.
- Review gross margin per client. Flag any under 40%.
- Check billable utilization (yours and team). Flag anyone outside 75 to 85% target for producers.
- Check AR aging. Any invoice past 30 days, send a follow-up email same day.
- Check scope-creep absorption (goodwill hours). If over 3% of total weekly hours, identify the source and run the scope-change protocol on the offending client.
- Check software costs against the monthly budget. Flag any new charges.
- Calculate effective hourly rate for the week (revenue ÷ billable hours). Compare to target.
- Document any actions taken in the weekly review log.
Done when: All six metrics reviewed, actions taken, log updated.
For the full list of metrics and what each one means, see agency margin leak numbers to track.
How to write an SOP that someone will actually use
After writing 30+ SOPs over the years, the patterns that separate useful SOPs from shelf-ware:
Write in second person, present tense. "You receive the invoice. You check the amount. You forward to accounting." Not "the operator receives" or "invoices should be checked." Direct address makes it actionable.
Number every step. Bullet points feel optional. Numbered steps feel sequential. People follow numbered steps in order without thinking.
Name specific tools and links. "Use the QA checklist" is vague. "Open the QA Checklist in Notion (link: [URL])" is actionable.
Define done. Every SOP needs a final sentence: "Done when X." Without it, people don't know when they've finished.
Use it for one week before publishing. Run the SOP yourself. Find the steps that are wrong or missing. Revise. Then share with the team. SOPs written and immediately published are usually theoretical and don't survive contact with real work.
SOP storage: Notion vs. Google Docs vs. Loom
Three options. Pick one and commit.
Notion (recommended). All SOPs live in one database with consistent properties (category, owner, last reviewed, related workflow). Easy to search, easy to link from tasks, easy to update. Best fit if you're already running operations in Notion.
Google Docs. Works fine if you're not in Notion. Use a single shared folder with consistent file naming. Less discoverable than a Notion database. Avoid for teams over 3 people because version control gets messy.
Loom (video SOPs). Useful for visual or complex processes (e.g., "how to handle a Stripe dispute") but lose to written SOPs on speed of reference. Don't use video as the primary format. Use video as a supplement to a written SOP when watching the action is faster than reading the description.
The right answer for most small agencies: written SOPs in Notion, with occasional Loom embeds for complex visual procedures. The best Notion templates for web design agencies comparison covers which templates ship with SOP databases pre-built versus which leave you to write them from scratch.
Building 12 SOPs from scratch is 15 to 20 hours of writing. Agency Operations OS ships with all 15 SOPs (the 12 above plus 3 more on client offboarding, AR follow-up, and quarterly reviews) pre-written and editable. $79. Link at the end.
When to review and update SOPs
SOPs go stale. The triggers for reviewing:
Every 6 months. Schedule a half-day every June and December to review every SOP. Mark each one as "current," "needs update," or "retire."
After any process change. New tool, new contractor role, new client type, new pricing model. Each change ripples through one or more SOPs.
After a process failure. Any time something went wrong on a project, check whether the SOP would have prevented it if followed. If yes, the SOP wasn't followed (process problem). If no, the SOP needs updating (documentation problem).
Frequently asked questions
What is an SOP in an agency context?
A Standard Operating Procedure (SOP) is a written, repeatable process for a recurring task in your agency. Examples: how to run a kickoff meeting, how to send a monthly retainer report, how to QA a design before client review. SOPs replace tribal knowledge (everything in the founder's head) with documented systems that anyone competent can execute. They're the foundation for delegating work without sacrificing quality.
How many SOPs does a small agency need?
Typically 10 to 20. Fewer than 10 usually means critical processes are still undocumented. More than 20 usually means you've over-documented and people won't read them. The 12 SOPs above are the core. Most agencies add a few specific to their stack (e.g., "Webflow CMS publishing process") or their service mix (e.g., "How to set up Shopify product sync"). Stay under 25 unless you're a 20+ person agency.
How long should an SOP be?
One page or less. If an SOP runs longer, it's actually two SOPs or it's been over-explained. The discipline of one page forces clarity. If the process is genuinely complex, link to a separate detailed reference doc (e.g., a vendor's documentation) from inside the SOP rather than expanding the SOP itself.
Who should write SOPs in a small agency?
The person who currently does the work, with the founder reviewing. SOPs written by someone who hasn't done the work are theoretical and miss the actual sticking points. Have your designer write the design QA SOP. Have your developer write the dev handoff SOP. Then the founder reviews for consistency, completeness, and alignment with the broader system. Don't outsource SOP writing to an external consultant who's never run your specific workflow.
What's the difference between an SOP and a checklist?
A checklist is a list of items to verify. An SOP is a documented process that may include checklists, but also includes triggers, owners, sequence, tools, and definition of done. The 47-item pre-launch QA list is a checklist. The "SOP 9: Pre-Launch QA Checklist" is the wrapper that says when to use it, who runs it, what to do with the results, and what done looks like. Checklists are tools. SOPs are systems.
The shortcut: Agency Operations OS
Writing 12 SOPs from scratch is 15 to 20 hours of work, plus the iterative refinement that happens after you actually use them. The pieces aren't complicated. The consistency of format, the integration with the workflow databases, and the maintenance over time are what most agencies never build.
Agency Operations OS is the Notion template I use to run Eximius Studio. It includes:
- 7 core databases: Leads, Deals, Projects, Retainers, Change Orders, Financials, AR Aging
- 5 dashboards: Weekly Owner Review, Pipeline, Active Projects, Retainer Health, Margin by Client
- 15 SOPs (the 12 above plus client offboarding, AR follow-up, and quarterly review), pre-written and editable
- 5 bonus docs: Master Services Agreement, Retainer Agreement, Project Proposal template, Discovery Call script, and the 47-item Pre-Launch QA Checklist
One template, deploys in an afternoon, $79.
The 12 above are the agency SOPs that make a web design agency runnable without the founder being in every conversation. Write them once. Use them every week. Watch the agency stop being you-shaped.
For where they fit in the bigger picture, how to run a web design agency covers the seven systems these SOPs live inside, and agency project management in Notion covers the workspace structure that holds them.
