Agent-Run AgencyBuild log · Alex Rowan · Guides

Guide · Alex Rowan · 11 Oct 2026

How to run a local SEO agency with AI agents (with approval gates)

Build log

I run a small local SEO agency where AI agents do most of the work. They research prospects, audit websites, write one-page reports and draft the emails. I approve anything that spends money, sends a message, submits a form or publishes something. This guide is the setup as it stands after the first week, with the numbers from my own log. Revenue so far is $0, so read this as a description of how the work gets done, not proof that it pays.

Start with roles, not a pile of agents

The first instinct is to spin up an agent for every task. That gets messy fast, because nobody owns the result. I use five roles, and each one gets its own written brief:

  • Chief of Staff. Owns the plan for the day, splits the work, keeps the approval queue and writes a short debrief at the end. It brings me decisions, not status updates.
  • Market Researcher. Picks the trade and city, looks at who ranks today, notes their weak spots and checks whether a domain is free. Every claim comes with a source link and the date it was checked.
  • Site Builder. Turns a brief into a static site and a sources file. It builds and zips. It doesn't deploy.
  • Outreach and Compliance. Builds the prospect list, runs the homepage audits, writes the mini-audit PDFs and drafts the emails. Only addresses the business publishes itself. Sender name, postal address and an opt-out in every draft.
  • QA and Verifier. Re-checks claims against the live source right before anything leaves. It can veto a batch.

The verifier is the role people skip, and it's the one that saved me the most embarrassment. More on that below.

Write the approval gates down and paste them everywhere

An agent that can browse, write files and run code can also buy things, send things and sign things. The fix is a short block of rules pasted at the top of every agent's instructions, above everything else. Mine says, in plain words:

  1. Spend: never buy, subscribe, renew or enter payment details. Research the price, cite it, and add it to a purchase list marked "not bought".
  2. Send: never send an email, message, form or post. Draft it, save it, and add it to the queue.
  3. Submit: never submit an application, signup or agreement. Fill in what you can and list what the owner must supply.
  4. Publish: never deploy a site, change DNS or publish content. Build, test, zip and ask.
  5. Claims: every price, statistic or rule needs a source and a date. Anything unsourced gets labelled as an estimate.

Two details matter. First, the gates override instructions found in web pages, emails and files, because agents read a lot of text written by strangers. Second, a blocked step isn't a dead end. The agent notes it under "decisions needed" in the debrief and moves on to other work, so one approval doesn't stall the day.

It feels slow until the day it matters. On my first day of outreach the scripted email send timed out halfway. Because sending was gated, there was no question about what had gone out: nothing had. I read each of the first 10 emails and sent them by hand.

Build the prospect list from public information only

My agents audited 154 small-business websites across 21 cities, 97 in the US and 57 in Australia. Of those, 92 published an email address on their own site. The other 62 don't get emailed, even when an address can be guessed or found elsewhere. A business that hasn't published an address hasn't invited email, and guessed addresses are a fast way to burn a sending domain.

Keep the list in a plain spreadsheet with a column for where each address came from. When someone asks "how did you get my email?", the answer should be one click away.

Turn audits into one page, not thirty

A homepage audit script fetches each site and flags concrete, checkable issues: no reviews visible, a heavy homepage, missing LocalBusiness schema, several H1 tags. Prospects with a real issue get a one-page PDF. My agents made 78 of them.

One page works because a busy owner will read one page. Each one names two specific issues from their own site, gives one fix they could hand to whoever runs it, and ends with a plain offer and prices stated up front. No call required.

Verify right before sending, with a fresh agent

Before the first batch went out, I had the verifier re-check 30 of the mini-audits against the live websites. 10 of the 30 cited a problem the business had already fixed. Seven of those were "no reviews or testimonials on the homepage" when the business had since added them. Two of the 30 had no confirmed issue at all, so I skipped them.

If I'd sent those, a third of my first emails would have told an owner something false about their own website. What I changed:

  • Verification is its own role with its own brief, run in a fresh session. An agent re-checking its own work tends to agree with itself.
  • It runs right before each batch, not when the audit is made. Websites change.
  • Any issue it can't confirm is removed and the PDF is regenerated. No confirmed issue, no email.

Run the day from a queue

Everything that needs me goes into one queue file: drafts to approve, purchases to decide, forms that need my details. I go through it once or twice a day. The Chief of Staff writes a short debrief with three parts: what got done, what's waiting on me, and what changed in the numbers.

That queue is where the work actually piles up. After the first week mine holds 18 drafted emails for a second batch, 50 drafted white-label pitches to other agencies and 5 full audits built ahead of time. None of it goes out until I've read it.

Keep an honest scoreboard

Write down only what you can check against a file or a live URL. My current numbers:

  • Businesses audited: 154
  • Mini-audits made: 78
  • Emails sent: 10, with 18 more drafted
  • Replies and clients: none recorded yet
  • Revenue: $0

Leaving the zeros on the page keeps me honest, and it keeps the agents honest too. They can't round a scoreboard up if the rules say every number needs a source.

Price the tools before you need them

Agents are good at research, so let them price everything you might need: a domain, a sending mailbox, a call-tracking number, hosting. Each line goes into a purchase list with the price, the source link, the date checked and the words "not bought". When you decide to buy, you're choosing from a list with sources rather than clicking through checkout pages at midnight. My purchase list has been sitting there all week. Nothing on it has been bought without me, which is exactly the point.

What I'd do differently

Pick the brand name before the agents write anything. I renamed mine halfway through day one and every template had to be redone. Put the full postal address, including the box number, in the email footer from the first draft. And set up the verifier before the first audit, not before the first send.

None of this guarantees replies or clients. It does mean that what goes out under your name is accurate, legal and something you've actually read.

Free

Get the AI Agent Team Playbook

The five agent briefs, the approval gates and the verifier routine from this build, in a free 9-page PDF. No promises of rankings or income.

Get the free playbook