The companies winning at AEO right now (shout-out Gamma, Ramp, Profound), run it as a closed loop. They're building agents for every step: finding the questions buyers ask, testing what assistants say back, chasing the citations they're missing, fixing the answers that are wrong, then testing again.
I support dozens of AEO clients and that's how I run the work for them. I think of a world class AEO practice as building closed-loop agents for everything that can be automated. These five are the best ones I'm running in market right now…and I'm laying out how each one works so you can steal them. If you have any questions, reply to this and we can jam on them.

1. Buying Question Agent
It pulls buyer questions from Reddit, G2, Capterra, Trustpilot, Product Hunt and forums, plus internal sources like Gong calls, support tickets and lost-deal notes. It groups them into buying themes, then tells us what content to create, where to publish it and which existing assets need fixing.
Reddit and G2 show you what people ask in public. Your call recordings show what buyers ask with a deal on the line, in their own words. They also show what could kill the deal…like a missing integration or a security review they can't get past.
Most of what it recommends is offsite, intentionally. This is such an incredible proxy to understand what questions people are curious about and make the correlation that it’s also probably what they’re asking LLMs. Plenty of people only sell onsite AEO work because it's the part they can control. That's a hard way to win when most of what gets cited sits on pages the client doesn't own.
It also catches what assistants told your buyers. If a prospect says on a call that ChatGPT told them you don't have SSO, that line goes straight to the Wrong Story Monitor (see below)
Every week it hands back buying-question themes, each with source examples and the buyer context behind them.
If you build one, keep the buyer's wording and don't let the agent tidy it into keyword phrases. "Does this work with Okta if we're mid-migration?" makes a better test than "SSO integration." Tag every question with the constraint it carries, and you've got the test set for the next agent.
2. Citation Gap Queue
It runs those questions through the assistants your buyers use, several times each, because the answers swing a lot. Then it pulls the pages that get cited when a competitor is recommended and you aren't.
In a January 2026 study by SparkToro and Gumshoe, 600 volunteers ran 12 prompts through ChatGPT, Claude and Google's AI a combined 2,961 times. The odds of ChatGPT or Google's AI returning the same list of brands in any two responses were under 1 in 100. For the same order, the odds were closer to 1 in 1,000.
So one run tells me almost nothing. The study's authors landed on how often a brand shows up across many runs as the number worth tracking. The queue counts cited pages the same way.
Each page gets scored on how often it shows up, how close it sits to a buying decision, whether you honestly belong there, and how likely the owner is to update it.
I'm strict about the third one. If a page compares enterprise tools and you aren't built for enterprise, getting added doesn't help a buyer, and the owner will probably tell you no anyway.
Sample output:
These 12 pages keep showing up when buyers compare vendors. We're missing from eight. Here's who owns them and what each one needs.
Without a log, you're arguing from memory really. So log every cited URL with the date, the assistant and the question that produced it, and use that log as your baseline when you retest.
3. Offsite Citation Negotiator (my new favorite)
Offsite placements take painstaking outreach, follow-ups and negotiation. You find the page, find a contact and send the first note. Maybe they reply. Maybe you chase them twice. If they do reply, you still have to work out what inclusion takes and what it costs.
I used to pay contractors to do this. Now I use two agents: Instinct and one I built in-house.
I give them the targets, the product proof, the budget and the hard limits. They run the outreach all the way through negotiation. I approve the spend and the final terms, and nothing spends without me.
The targets come from the Citation Gap Queue. Corrections come from the Wrong Story Monitor.
The Negotiator keeps editorial and paid opportunities in separate lanes. An editor should never get a pitch that reads like we're trying to buy coverage, and nothing paid should pass as editorial.
It also confirms each placement went live as agreed and rechecks it every month, because pages change after launch. Links get pulled and copy gets edited.
I get back terms ready for approval, verified placements and a change log.
Without written limits, you're letting software make promises to editors in your name. So before the first message goes out, write down the most you'll pay for a placement, the claims it's allowed to make, and anything it can't agree to without you.
If you only steal one, please, steal this one and thank me later. This has led to some of the quickest visibility gains I’ve been able to make for clients.
4. Wrong Story Monitor
It keeps a fact sheet: pricing, integrations, certifications, who you're built for, and when each one changed. Then it asks the assistants about the facts that decide a shortlist and flags mismatches for a person to check. Assistants paraphrase, so not every mismatch is an error, and somebody has to make the call.
It's there to catch false objections, like an assistant telling a buyer you don't have SSO when you do.
When an answer is wrong, it checks what's cited, starting with pages last updated before the fact changed. If pricing changed in May, every cited page last touched before May is a suspect, and that includes your own old blog posts and PDFs.
Third-party fixes go to the Negotiator. If the source is a competitor's "alternatives" page, assume it's staying there. The agent suggests where you could publish or strengthen evidence against the claim instead: your docs, your security page, review sites, integration directories.
The output is a list of flagged claims, the evidence behind each one, and correction tasks.
The fact sheet only works if somebody owns it. Give every fact an owner and a link to its source of truth, and log the date the day it changes. Without that date, the agent has no idea which pages to check first.
5. Crawler Access Audit
It checks whether AI assistants can get into your site and read it. It flags blocked visits, important details like pricing that don't load, and old pages they keep finding (like old pricing pages).
It's the least exciting of the five but not worth skipping.
Some blocks live in your CDN settings. Cloudflare said that starting September 15, sites blocking Training crawlers would also block multi-purpose crawlers like Googlebot, Bingbot and Applebot. That includes sites on the older one-click "Block AI bots" setting, unless the owner opted out. If someone on your team flipped that switch to keep your content out of AI training, go look at it.
The audit also sorts the blocks you meant from the ones you didn't. OpenAI runs separate crawlers for training (GPTBot) and search (OAI-SearchBot), with separate robots.txt settings. Blocking GPTBot tells OpenAI not to train on your pages. Blocking OAI-SearchBot keeps them out of ChatGPT's search answers, though they can still show up as navigational links.
Anyone can fake a crawler's name, so it checks visits against published IP ranges, like the ones OpenAI lists for each crawler.
For details that don't load, I check JavaScript first. When Vercel and MERJ studied AI crawler traffic in late 2024, only Google's and Apple's crawlers rendered it. OpenAI's, Anthropic's and Perplexity's didn't. A pricing table that looks fine in your browser can come up empty for ChatGPT's crawler if it only loads after scripts run.
The stale-page check runs on your server logs. It looks at which URLs AI crawlers keep hitting. If an old pricing PDF keeps showing up, update it, redirect it or pull it.
You get a prioritized list of access fixes and stale pages to update.
Pull raw logs from your CDN or server. Your analytics tool won't help here, because analytics tags run on JavaScript and never see crawlers that don't run it. Then load your pricing, integrations and security pages with JavaScript off and read what's left. That's close to what those crawlers get.
Where I'd start
If I were starting from zero, I'd build the Buying Question Agent first. The buyer questions guide every test after it, and the raw material is probably already sitting in your call recordings and support queue.
I'd run the Crawler Access Audit the same week. It tells you whether assistants can even read the pages the other four depend on.
Then retest after every change. I'd run the same questions the same number of times on the same assistants as the baseline. I'd also throw in a few unrelated questions as a control, so a model update doesn't get mistaken for your fix.
Visibility is the leading indicator. I pair it with one business conversion metric the client agrees on and watch whether the two move together.
Hit me up with questions on any of these. Comments are open, or just reply to this email.