How To Run A Marketing Agency On AI Agents
Five departments, six humans, a fleet of agents that draft and never send, and one weekly rhythm that decides every client account on a fixed day. The org chart of Dr. Lead Flow, which agent sits under which human, and the short list of things only I do.
I run a marketing agency for clinics while seeing patients. That only works because the agency does not run on me. It runs on a written operating system, a small team who each own a department, and agents that sit under those people and do the reading, drafting and reporting so the humans can do the deciding.
The mistake I made for the first year was being the department. I built the automations, wrote the reports, and pulled the ad numbers myself, because I could. Every hour I spent building was an hour not on a sales call or on camera, which are the two things in this business that only I can do. My stated bottleneck, in my own operating notes, is that I get pulled into building things a tech hire should implement.
So the structure below exists to keep me out of the build and in the seat. Every department has a human owner and a written SOP. Every SOP has an agent that can run the reading part of it. Every account gets a decision on a fixed day. Every client hears from us every week and it is logged. And a short list of decisions come to me, always, and nothing else does.
I am not going to give you client counts or revenue here. I am going to give you the roles and the rhythm, because that is the part you can copy tonight.
The three levels
The owner is every department. Ad numbers get pulled when someone remembers. Clients hear from you when something goes wrong.
Five departments with a human owner each and a written SOP. A weekly day where every account gets a dated decision and every client gets a logged touch. Agents draft the reads under each human.
A morning brief writes itself before anyone logs in. Each department's agent runs its cadence and posts a report. The owner reads reports, takes sales calls, records content, and makes the handful of decisions on the reserved list. Nothing customer facing ships without a human yes.
The mental model
The owner does everything and hires when drowning.
Five departments, a human owner and an SOP each, an agent under every human that reads and drafts, one fixed weekly rhythm, and a short reserved list of decisions that only reach the owner.
| Role | Talks to you | Job |
|---|---|---|
| CEO | Sales calls, content, reserved decisions | Strategy, offers, pricing, final scale or kill, signing and terminating |
| Marketing | Weekly ad day, daily brief glance | Paid ads and lead flow for clients and for the agency itself |
| Client Success | Weekly touch, monthly report call | Onboarding, reporting, retention, every touch logged |
| Tech | Build queue, fixes | Integrations, automations, infrastructure, the agent fleet |
| Media | Weekly batch, daily publish | Content production and publishing across platforms |
Departments, seats, rhythm
1. Five departments, each with a human name on it
CEO, Marketing, Tech, Client Success, Media. At Dr. Lead Flow that is me as CEO, a media buyer running ads, a CTO running tech and automation, a customer success manager owning every client relationship, a social media manager and a video editor running media, and an operations and compliance person across all of it. Small team, large leverage. When a seat is empty, the CEO or an agent following that seat's SOP covers it. The rule for filling a seat: is there an SOP, can an agent run it, and if not, hire against the SOP, not against a vibe.
2. A written SOP under every seat
Each department owns two or three recurring jobs, and each job is a page: owner, cadence, systems, steps, guardrails, definition of done. Marketing owns weekly ad management and the intake funnel. Client Success owns onboarding and reporting. Media owns production and publishing. Tech owns the infrastructure map and incidents. If you do something twice that is not written down, you write it the second time. A department without an SOP cannot be delegated to a human or an agent, which means it is still you.
3. Seat an agent under every human
The agent does the reading and drafting for the SOP. The human decides. My roster in Slack, all of them drafting and never sending: an ads agent reviews every Meta account Monday at seven and recommends scale, hold, refresh or kill, under the media buyer. A workflow agent audits the CRM automations Tuesday, under the CTO. A DM agent grades every conversation daily at ten, under Marketing. A client health agent scans the week's calls and flags at risk accounts daily at nine, under Client Success. A channel agent pulls Instagram and YouTube metrics and competitor ideas Wednesday, under Media. And one does the CEO pulse Friday, for me. A morning brief writes itself before anyone logs in. My Viktor guide has the roster in detail, and my agent guardrails guide has the permissions.
4. The daily fifteen minutes
Read the brief and act on the flags. Check that overnight leads landed in the CRM with everything they should have. Clear or reschedule anything overdue on the task board. Review the drafted replies in the inbox. That is the whole daily. If it takes longer, a system is broken, not a person.
5. The weekly two hours, on a fixed day
Scoreboard first, against the targets on the goals page. Then an ad decision for every client account: scale, hold, refresh or kill, with a dated one line in the client's note saying what changed and why. In my book the bands are cost per lead under ten is a scale candidate raised twenty to thirty percent and never doubled overnight, ten to fourteen is hold, sustained over twice the book average is a kill, and click through under two and a half percent or frequency over two and a half is fatigue, refresh before you raise the budget. Then the client comms audit: every active client logged within seven days. Then one test lead through the intake funnel end to end. Then a content cadence check. Then project triage. Definition of done: every account has a dated decision line this week and nothing flagged kill last week is still spending.
6. Every client hears from us every week, and it is logged
Client Success sends a short update on the client's preferred channel: numbers, one insight, one next action, outcome first, leads and booked appointments, not impressions. Then logs it in the client note with the date and channel. Monthly, a scorecard delivered on a call, because clients churn silently when they only hear from you via invoices. The failure this kills is a client note that says last communication not logged. Escalation to me is immediate when cost per lead blows past twice benchmark for two weeks or a client is unhappy, and it arrives with a proposed fix, not just the problem.
7. The reserved list: what only I do
Sales calls, because an MD closing for clinics is the unfair advantage of this agency. Content on camera. Offers and pricing. Final scale or kill on anything beyond the standing rules. Signing or terminating clients and contractors. Anything in copy that touches a medical claim. That is the list. Everything else has a department owner who may act inside standing rules without asking: ad budget shifts within thirty percent and kill zone pauses, sending scheduled reports, publishing inside the content strategy, fixing broken pipeline hops, updating the vault. The line for asking first: new spend swings above fifty dollars a day outside the rules, any new tool subscription, pricing changes or refunds, deleting data or changing shared schemas.
8. The delegation rule that protects the owner
When I propose a build task, the first question my chief of staff asks is whether it is owner work, revenue, strategy or content, or delegate work, build and integration. Delegate work gets queued for the CTO. I do not get to implement it because I am able to. My time is the binding constraint, and revenue funds hires, and hires fund scale. Leila Hormozi's version of this is that if a leader being unavailable causes everything to break, that is not leadership, that is dependency.
Starter prompts
Paste these as written. They are short on purpose, because the long ones drift.
Structure my agency into five departments: CEO, Marketing, Tech, Client Success, Media. First ask me who is on the team and what each person actually does today, and which recurring jobs exist (ads, onboarding, reporting, content, automations, intake). Then for each department: assign a human owner or mark it 'CEO covers until hired', list its two or three recurring jobs, and write each job as an SOP with owner, cadence, systems, steps, guardrails and a definition of done. Then seat one reporting agent under each human with a job in one sentence, a day and time, the exact inputs it reads (read only), the report it posts and where, and the line 'drafts anything client facing, never sends'. Then write the rhythm: a daily fifteen minute loop from a morning brief, a weekly two hour block on a fixed day where every account gets a dated scale / hold / refresh / kill line and every client gets a logged touch, and a monthly half day for the scoreboard, the goals and the client report calls. Finally write my reserved list: the decisions that always come to me (sales calls, offers and pricing, final scale or kill beyond standing rules, signing or terminating, anything touching a medical or regulated claim), and the standing rules that let everyone else act without asking, with the exact thresholds that trigger an ask. Do not invent team members, clients or numbers I did not give you.
It is ad day. For every client account, using the connected read only ads data for the last 7 days and the 7 before: recommend scale, hold, refresh or kill with the number behind it. Rules: cost per lead under [X] is a scale candidate, raise twenty to thirty percent and never double overnight; [X] to [Y] is hold, note the trend; sustained over twice the book average with real spend is kill, reallocate to the winner; click through under 2.5 percent or frequency over 2.5 is fatigue, queue a refresh, do not raise budget. Flag anything with a single campaign carrying the whole account. Write the dated one line decision for each client note: what to change and why. Flag for Client Success anything the client should hear about. Do not change anything. The media buyer acts.
I am about to do this: [task]. Classify it as owner work (sales, content, offers, reserved decisions) or delegate work (build, integration, automation, reporting). If it is delegate work, write the ticket for [name of tech owner] with the outcome, the inputs, the definition of done and the deadline, and tell me plainly not to build it myself. If it is owner work, tell me the single next action and stop.
Give it to your agent, three ways
Same skill, three worlds. Pick the one you actually use. The skill file at the bottom of this page is the instructions in every case.
An agent with connectors (Claude Desktop, Claude Code, Grok Bot)
The agents under each department need read access to the CRM and the ad accounts, one channel to post into, and a human above them. Viktor in Slack is how I run the roster. A Grok Bot chief of staff or Claude with the Meta ads MCP does the same jobs.
- Viktor: create one agent per department SOP with its day and time. Ads Monday, workflows Tuesday, DMs daily, client health daily, channels Wednesday, CEO pulse Friday. Every description ends with: draft, never send.
- Claude with connectors: add Meta's ads MCP read only and your CRM connector, load the audit skill, schedule the weekly run. My ad account audit guide has the exact steps.
- Grok Bot: the chief of staff holds the routines and the approval gate, and routes 'check the accounts' to the ads operator. My Grok bot org chart guide has the setup.
- All of them post to one channel the humans already read, and every run ends with DID, DECIDED, BLOCKED, NEXT in the vault.
ChatGPT (a project or a custom GPT)
ChatGPT has no CRM or ads connector out of the box, so the honest version is a Project per department fed by exports, on a schedule you keep.
- One Project per department. Paste that department's SOP as the instructions with the guardrails at the top.
- Weekly, export the ad report and the CRM pipeline as CSV and upload them. Ask for the scale, hold, refresh, kill decision per account with the number behind each and the dated decision line to paste into the client note.
- Use a scheduled task for the weekly reminder and the report shape. The human still pulls the exports until a connector exists.
- Client touch drafts come out in the review queue shape: recipient, context, risk, exact text. Client Success sends them.
Anything with an API (a token and a curl call)
If Tech is building the fleet, each department agent is a script on cron: pull read only, load the SOP as the system prompt, post the report, append the log. The CRM and ads tokens are read only and live in environment variables.
- One script per SOP. Read only tokens: ads_read on Meta, a read scope on the CRM.
- Cron carries the cadence per department. Output posts to one channel via webhook.
- Any draft that a client could see is written to a queue file, never sent by the script.
- The last line of every run appends DID, DECIDED, BLOCKED, NEXT to the day's log.
# crontab for the department agents (owner's timezone) 0 7 * * 1 python3 ~/fleet/ads_weekly.py # Marketing: scale / hold / refresh / kill per account 0 8 * * 2 python3 ~/fleet/crm_workflows.py # Tech: automation audit 0 10 * * * python3 ~/fleet/dm_grades.py # Marketing: DM conversations graded 0 9 * * * python3 ~/fleet/client_health.py # Client Success: calls scanned, at risk flagged 0 8 * * 3 python3 ~/fleet/channels.py # Media: IG / YouTube metrics 0 16 * * 5 python3 ~/fleet/ceo_pulse.py # CEO: the week in one page # every script: read only tokens from env, post to one channel, append DID/DECIDED/BLOCKED/NEXT, never send
Failure modes
Every one of these has happened to me or to someone I set this up for.
| Failure | Fix |
|---|---|
| The owner is still pulling ad numbers | Seat an ads agent under the media buyer; the owner reads the decision line |
| An account coasted for three weeks | Fixed weekly day; definition of done is a dated line per account |
| Client note says last communication not logged | Weekly touch with date and channel, or the client is red |
| A kill from last week is still spending | Ad day is not done until it is paused |
| Owner built the automation over a weekend | Delegation check first; ticket to Tech |
| An agent sent a client update on its own | Draft only under a human; my agent guardrails guide |
| Everyone asks the owner about everything | Write the standing rules with thresholds; shorten the reserved list |
| Escalation arrives as a complaint with no plan | Escalate with a proposed fix or it is not an escalation |
The tools I use for this
| Tool | What it is for here | |
|---|---|---|
| GoHighLevel | The CRM backbone for every client. Lead routing, pipelines, the source of truth for what a client's leads did. | Get it |
| Viktor | The Slack coworker that carries the agent roster under each department. | Get it |
| Meta Ads Manager | Where the media buyer acts on the weekly decision. Agents read it, never touch it. | no link, just use it |
| Claude | The brain behind the audit skill and the department SOP agents. | Open |
| A shared vault | Where SOPs, client notes, decision lines and the daily log live. Mine is Obsidian. A wiki works. | no link, just use it |
The free skill
It maps your agency onto the five departments, assigns a human owner and a written SOP to each, seats an agent under every human with a cadence and a report, installs the daily, weekly and monthly rhythm, and writes the reserved list of decisions that only come to the owner. It ends with the delegation rule that keeps the owner out of the build.
--- name: how-an-agency-runs description: Structures a small service agency into five departments (CEO, Marketing, Tech, Client Success, Media), writes an SOP under every seat, seats a draft-only reporting agent under every human with a cadence and a report, installs the daily / weekly / monthly rhythm, and writes the owner's reserved list plus the standing rules that let everyone else act. Trigger on "structure my agency", "org chart for my agency", "which agent under which person", "get me out of the day to day". --- # How An Agency Runs Five departments. A human owner and a written SOP under each. An agent under every human that reads and drafts. One fixed weekly rhythm. A short reserved list of decisions that only reach the owner. Everything else has a standing rule. ## Step 1: Interview Ask, one at a time: 1. Who is on the team and what does each person actually do this week? 2. Which recurring jobs exist? (ads, onboarding, reporting, content, automations, intake, billing) 3. Which of those does the owner still do personally, and why? 4. Where do client numbers live, and is it one place? 5. What broke or embarrassed you in the last month? ## Step 2: Departments and seats | Department | Owns | Typical SOPs | |---|---|---| | CEO | Strategy, offers, pricing, sales calls, final scale or kill | Scoreboard, monthly review | | Marketing | Paid ads and lead flow, for clients and for the agency | Weekly ad management, intake funnel ops | | Tech | Builds, integrations, infrastructure, the agent fleet | Infrastructure map, incidents | | Client Success | Onboarding, reporting, retention, comms logging | Onboarding, reporting and communication | | Media | Content production and publishing | Production and publishing | Assign a human to each. An empty seat is marked "CEO covers, following the SOP". Filling a seat: is there an SOP? Can an agent run it? If not, hire against the SOP. ## Step 3: An SOP under every seat For each recurring job: ``` SOP: [name] OWNER: [department] : CADENCE: [daily / weekly / monthly] : SYSTEMS: [tools] PURPOSE: one sentence STEPS: numbered, each with the exact place to look and what to record GUARDRAILS: what needs the CEO, what never happens DEFINITION OF DONE: a sentence a stranger can verify ``` If something is done twice and not written, write it the second time. ## Step 4: An agent under every human One reporting agent per department, drafting and never sending: ``` AGENT: [name] UNDER: [human] CADENCE: [day, time] READS: [exact inputs, read only] POSTS: [report shape] to [one channel] NEVER: sends, spends, edits a record, changes a budget ``` Reference roster: ads review Monday morning (under the media buyer, recommends scale / hold / refresh / kill), CRM workflow audit Tuesday (under Tech), DM grading daily (under Marketing), client health from the week's calls daily (under Client Success), channel metrics Wednesday (under Media), CEO pulse Friday (for the owner). Plus a morning brief that writes itself before anyone logs in. ## Step 5: The rhythm **Daily, about fifteen minutes:** read the brief and act on flags; confirm overnight leads landed in the CRM; clear or reschedule overdue tasks; review drafted replies. **Weekly, about two hours, fixed day:** scoreboard against targets; a dated scale / hold / refresh / kill line for every client account; every client logged within seven days; one test lead end to end through the intake funnel; content cadence check; project triage. Done when every account has this week's line and nothing flagged kill last week is still spending. **Monthly, half a day:** close the numbers; each goal advanced, killed or re-scoped; client report calls delivered; thresholds recalibrated; the wiki brought back to true. ## Step 6: Client communication rule Every client hears from the agency every week: numbers, one insight, one next action, outcome first. Logged in the client note with date and channel. Monthly scorecard on a call. Escalate to the CEO immediately when performance blows past the kill threshold for two weeks or a client is unhappy, and bring a proposed fix. ## Step 7: The reserved list and the standing rules **Reserved for the owner:** sales calls, content on camera, offers and pricing, final scale or kill beyond standing rules, signing or terminating clients and contractors, anything touching a medical or regulated claim. **Standing rules (act without asking):** budget shifts inside an agreed percentage and kill zone pauses; sending scheduled reports; publishing inside the content strategy; fixing broken pipeline hops; updating the wiki. **Ask first:** spend swings above an agreed daily amount outside the rules; any new tool subscription; pricing changes, discounts, refunds; deleting data or changing shared schemas. Write the thresholds as numbers the owner gives you. Never invent them. ## Step 8: The delegation rule Whenever the owner proposes a build task, classify it: owner work (revenue, strategy, content) or delegate work (build, integration). Delegate work becomes a ticket for Tech with outcome, inputs, definition of done and a deadline. Say plainly that the owner should not build it because they can. ## Rules - Roles and rhythms only. Never invent clients, counts, revenue or thresholds. - Every agent is draft only under a human. Nothing client facing ships without a human yes. - One source of truth for client numbers. If two exist, flag it before anything else.
What done looks like at thirty days
- Five departments exist on paper with a human owner or a marked empty seat
- Every recurring job has an SOP with an owner, cadence and definition of done
- A fixed weekly day exists and every account has a dated decision line from it
- Every active client has a logged touch inside the last seven days
- At least one agent runs under each department on a day and time and posts a report
- The reserved list is written and the owner spent this week on calls, content and reserved decisions
Want your agency's org chart and cadence built on a call?
Inside the AI CEO Lab we map your departments, seat the agents, and write your reserved list in one session.