There are 2 ways to build a client AI visibility report with AEO Copilot: create, brand, and publish reports on the platform, or drive the MCP server with your AI agent for a deeper, multi-source deliverable. I use Claude Code for that part. Both start from the same tracked brand and take minutes, not days.
Putting a first AI visibility report in front of a client used to be the slow part. Set up a brand, write prompts, run them across 4 LLMs, scan the site, then rebuild all of it in a deck. 20 clicks before you had anything to say.
That has changed. Since June 2026, AEO Copilot builds the report for you. But before picking a path, get clear on what the report has to contain.
What goes into a professional AEO report
Whichever path builds it, a client-ready AEO report stands on 5 elements:
- The setup. Which prompts, topics, and engines the numbers are based on. A client who cannot see the inputs will not trust the outputs.
- A composite score with the math shown. Visibility 60%, technical readiness 25%, sentiment 15%. No black-box "AI score": every input is visible and challengeable.
- A per-engine breakdown. Strong on ChatGPT and invisible on Google AI Overviews are 2 different problems with 2 different fixes, because each engine sources its answers differently.
- Competitor share of voice. Named competitors and their numbers, not industry averages.
- A prioritised fix list. 3 fixes the client can act on beat 20 observations.
The KPIs to show
4 KPIs cover it: visibility (the share of tracked prompts where the brand appears), share of voice against named competitors, sentiment split, and per-engine coverage. On a recurring report, the headline number is none of these. It is the trend: what moved since the Baseline. The delta is what justifies the engagement, not the absolute number. If you want the full metric stack, these are the AEO metrics worth tracking.
Path 1: create, brand, and publish on the platform
Open any brand, go to Reports, and create 1 of 2 report types:
- Baseline: the first report, where everything starts. It measures the before: visibility, sentiment, top competitors, and the priority fixes. Every later report gets compared against it.
- Pulse: what moved since the last run, plus the delta from the Baseline. The recurring report you send on a retainer, showing both the latest iteration and the progress since day 1.
The flow takes minutes. Run the prompts, write in your own notes and insights, then publish. Share it with a link or download the PDF and send it to the client. No deck-building afternoon, no separate layout tool. Reports are available to anyone, on any brand, and that covers most client work.
Add your own branding
Set your branding once in Settings: agency name, logo, tagline, primary colour, and contact details. Every Baseline and Pulse report you publish after that carries it, on the shared link and in the PDF. It is stored at the account level, so it applies across all your client brands. White-label branding is included on the Freelancer and Agency plans.
> AEO Copilot is a great addition to our analytics and SEO layer, tracking our agency and our clients in one place.
> Patrick Hux, designtakt.ch
Path 2: drive it from your AI agent with the MCP
When you want more than the standard report, you drive AEO Copilot from your AI agent instead. I use Claude (here is the setup), but any agent that speaks MCP or can call a REST API works. The API exposes every answer the LLMs gave, so you can hand your agent the raw material and let it write sharper insights and recommendations than a fixed template can.
The real payoff is combining sources in 1 report. GSC data, AEO Copilot data, and your analytics, read together, is something no single dashboard owns. The workflow is different from path 1: instead of clicking through the dashboard, you describe the audit once and the agent runs it end to end.
> This is where AEO Copilot shines: not as a single tool, but as a source of data for your SEO and AEO team.
> Sofian Bettayeb, Founder
What the MCP server gives your agent
The MCP server exposes the whole AEO Copilot workflow as tools your agent can call. The examples in this post use Claude Code, my daily driver. If you want your agent to set up the connection itself, point it at aeo-copilot.com/connect.md: agent-readable instructions that cover Claude Code, Codex, Cursor, and the REST API.
Brand tools:
The server is open source, and the list keeps growing: github.com/sofianbettayeb/aeo-copilot-mcp.
How to create a professional Baseline report in seconds
Open Claude Code. Paste this:
Claude calls the tools in order. create_brand first, then 5 create_topic calls, then 5 add_prompts calls, then scan_brand and run_brand_prompts in parallel. Once the runs complete it pulls get_insights and get_recommendations and writes the summary.
The whole loop runs in a few minutes of wall time. Most of that is the LLMs answering the prompts; the orchestration itself is seconds.
What you get back
A short brief, in conversation, structured the way you would write it yourself:
Copy it into a doc, drop in screenshots from the dashboard, send.
What the report actually looks like
Here is a real one. Generated through the workflow above for Webflow, then laid out in a 6-page client-ready PDF by Flowsultants.
!Cover page: Webflow AI Visibility Baseline, composite score and executive scorecard
!Engine breakdown: ChatGPT, Claude, Perplexity, Google AIO with topic performance table
!3-step engagement plan and gap-prompts appendix
Open the full report (PDF, 6 pages) →
That example was hand-laid in a PDF. Today you generate the same thing natively: open the brand, go to Reports, create a Baseline, add your branding and notes, and publish. The deep, multi-source version is for when the standard report isn't enough.
What this delivers for clients
4 things a client sees in 90 seconds, without you having to explain anything:
- A composite score with the math shown. Visibility 60%, technical readiness 25%, sentiment 15%. No black-box "AI score". Every input is visible and challengeable.
- A per-engine breakdown. Strong on ChatGPT and Claude, invisible on Google AIO. The fix list writes itself.
- A gap-prompts appendix. Every tracked prompt where the brand is missing in 0 or 1 of 4 engines, with the specific competitors winning each one. This is the page they keep open during the call.
- A 3-step engagement plan. Meet → Discovery → Project, with deliverables on each. Closes the report on a decision, not a vibe.
The whole document is generated from a single Claude Code conversation plus a layout template. Same workflow, swap the brand name, you have the next client report.
Why drive it from an AI agent at all
If the dashboard already publishes reports, why use the API and an agent for the deep version? Because of where AEO Copilot draws the line.
Most AEO tools are racing to build their own AI content agent inside a closed dashboard. AEO Copilot does the opposite. It hands your agent everything it has, the raw answers, the insights, the technical scan, and lets you and your agent decide what to do with it. The data is yours and the workflow is yours. The tool's job is to feed the model, not to be the model.
That opens up 3 things a fixed report can't do.
- Combine sources no single dashboard owns. Pull GSC, AEO Copilot, and your analytics into 1 view and let the agent reconcile them. Is visibility down because of AEO, or did organic traffic drop across the board? 1 report, 1 answer.
- Stay concrete, not hypothetical. Skip the "25% of search is moving to LLMs" industry stats. Lead with the prospect's own numbers: 40% mention rate, 9% share of voice against 5 named competitors, 12 prompts where they're missing. The conversation moves from "should we care" to "what do we do about these 12 prompts."
- Automate without a ceiling. Every step is a tool call. Wrap it in a slash command (
/audit https://newclient.com), schedule weekly re-runs, push competitor shifts into Slack, or generate 20 industry baselines overnight as outreach assets.
What to know before using it
A few honest considerations.
- It is a starting point, not a final answer. The auto-generated prompts cover the obvious buyer questions, but miss niche positioning, regional language, and the objections your client's sales team hears every week. Treat the first report as 70% done; the last 30% is human editing. Spot a topic where the brand should rank but doesn't? Add 3 to 5 sharper prompts and re-run just that topic with
run_brand_prompts, scoped by topicId.
- The fastest path to value is using it as a baseline. Run it on day 1, run it again in 30 days. The delta is the deliverable, not the absolute number. Visibility went from 23% to 38% on Topic A while Topic B didn't move: that is what justifies the engagement.
- Layout only matters for the deep version. Baseline and Pulse reports already publish as branded, shareable documents. You only bring your own layout for the custom, multi-source report, and once you build that template the marginal cost per report is zero.
How I use it before a discovery call
I run it before every discovery call. Not afterwards, not "we will send you a report next week." Before. The report is the meeting. I walk it in this order:
- Composite score and trend. Does the brand have a pulse in AI search at all?
- Engine breakdown. Which LLMs are giving them oxygen, which are not.
- Competitor share of voice. 5 named competitors and their numbers. This is the page where the room goes quiet, because the prospect has not seen these numbers before, and they are usually losing.
That silence is the discovery call doing its job. The proposal almost writes itself.
Let your agents run the tracking themselves
Everything in this post assumes a human at the keyboard, but nothing requires one. Because every step is an API call or an MCP tool, an agent can own the whole loop: run the prompts on a schedule, compare the new results to last month's, and only surface what changed. Startups already running agent workflows do exactly this. AI visibility becomes 1 more check in the automation that already runs their others.
The practical setup is 1 scheduled task: an agent calls run_brand_prompts, waits for the cycle, pulls get_insights, and posts the delta wherever your team reads updates. No dashboard visit, no report to remember. The data arrives where the work already happens.
Frequently asked questions
Can I generate white-label AI visibility reports programmatically via API?
Yes. The MCP and REST API return the data and the written summary; you drop both into your own layout template with your agency's branding. White-label reports are on the Freelancer plan and up. Build the template once and the marginal cost per client report is effectively zero.
Which AEO platform integrates with Claude Code or MCP for agency workflows?
AEO Copilot. The open-source MCP server exposes the full setup-and-run loop, creating brands, adding topics and prompts, running them across 4 LLMs, and scanning the site, as tools Claude Code can call. Most competitors offer an API at best, and only on higher tiers.
Can my agency automate client reporting with an API?
Yes. Every step is a tool call, so you can wrap the workflow in a slash command, schedule weekly re-runs, or generate a batch of baseline reports overnight as outreach assets. API and MCP access is included from the Startup plan at $9/month.
Can my AI agents run AI visibility tracking on their own?
Yes. The MCP server and REST API cover the full loop, from running prompts to reading insights, so a scheduled agent can track visibility, detect changes, and report deltas without anyone opening the dashboard. Any MCP-compatible client or plain HTTP works.
Does it work with my existing agent stack, or only Claude?
Any agent stack. The MCP server is a standard MCP server, so it works with any MCP-compatible client (Claude Code, Cursor, your own agents), and everything is also a plain REST API. That is how you scale across clients: batch the runs, schedule them, and pipe the white-label output wherever your reporting lives.
Where this is heading
The next pieces in the API are the industry indexes, which are brand-agnostic: track every entity cited across a category, not just 1 brand. Useful for pitches where the prospect has not picked a horse yet, or for the discovery phase before there is even a website to audit. They are already in the MCP server. There is a separate post on those.
For now: pick your path. Publish a branded Baseline from Reports, or install the MCP, point your agent at a client URL, and see how short the loop gets.
Get your API key →