Notion + Linkeddit
Build a weekly AI visibility report in Notion with Claude
An AI visibility report in Notion is a database with one row per week: how often ChatGPT, Gemini, Claude, Google AI Mode and Google AI Overviews named your brand, how often they recommended it, who else they named, and which engines could not be measured. Linkeddit supplies those numbers. Claude reads them and writes the row and a short page through the Notion connector.
Updated 2026-10-29
Connect both
Your AI client sits in the middle. Linkeddit supplies the data; the other connector makes the change.
Linkeddit connector
Add https://mcp.linkeddit.com/mcp as a connector and sign in. Claude Code: claude mcp add --transport http linkeddit https://mcp.linkeddit.com/mcp.
Notion connector
- Add the Notion connector in Claude and approve the OAuth sign-in for the workspace you use.
- Create an empty page or database where the weekly reports will live, so Claude has one place to write.
- Add the Linkeddit connector at https://mcp.linkeddit.com/mcp.
Endpoint: https://mcp.notion.com/mcp
Works in: Claude, Claude Code.
The prompt
Paste into Claude
Use the Linkeddit connector and the Notion connector. 1) With Linkeddit, call answer_runs_get for my project and note the latest run's status, how many samples succeeded and how many failed. 2) Call answer_results_get with view=metrics and list, for each engine, presence rate, recommendation rate, the top three vendors by share of voice and the top three cited domains. Report any engine with no admissible samples as unmeasured, never as zero. 3) With Notion, use search to find my 'AI visibility' database; if it does not exist, show me the properties you would create with create-database and wait for my approval. 4) Show me the new row and a one-page summary before you call create-pages, and write nothing until I approve. Keep the sample counts next to every rate.
Step by step
Step 1
Connect both connectors to Claude
Add the Notion connector and the Linkeddit connector (https://mcp.linkeddit.com/mcp) in Claude or Claude Code. Notion's connector asks you to authorize with OAuth, and it can read and change only content you can already access.
Step 2
Decide the shape of one weekly row
Ask Claude to propose database properties before it writes anything: week, engine, presence rate, recommendation rate, sample count, top competitor, top cited domain and a status for unmeasured engines. Approve the layout once so every later week matches.
Step 3
Pull the run and the metrics
Claude calls answer_runs_get for the latest run, then answer_results_get with view=metrics. The run shows how many samples succeeded. The metrics give each engine's rates with a numerator and denominator.
Step 4
Write the row and the summary page
Claude shows the row and a short summary, you approve, and it writes them with create-pages. For a repeat week it finds last week's page with search and fetch, and uses update-page only to link the two.
Step 5
Compare with last week
Next week, ask Claude to fetch the previous row and report what moved, quoting both sample counts. A change on ten samples is a hint, not a result.
What Linkeddit returned
Run live on 2026-10-29 with answer_results_get. Read-only run on Linkeddit's own test project, an analytics site. Claude reads the same fields into a Notion row: a rate with its numerator and denominator, the engines that could not be measured, and the sample count behind the run.
answer_results_get
answer_runs_get { run_id: "e76a01a8-..." }
status: "partial"
samples: { total: 60, ok: 47, failed: 13 }
answer_results_get { view: "metrics" }
segment_count: 7, usable_segment_count: 5
ChatGPT presence_rate 0.889 (16 of 18) recommendation_rate 0.833 (15 of 18)
Gemini presence_rate 0.8 (16 of 20) recommendation_rate 0.7 (14 of 20)
Google AI Mode presence_rate 0.85 (17 of 20) recommendation_rate 0.75 (15 of 20)
Google AI Overviews presence_rate 1 (15 of 15) appearance_rate 0.7619 (16 of 21), 5 absent
Claude presence_rate 0.5 (5 of 10) recommendation_rate 0.4 (4 of 10)
Perplexity unmeasured: no_admissible_samples (21 errors)
ChatGPT share_of_voice: plausible 0.205, fathom 0.167, matomo 0.154What belongs in an AI visibility report you keep in Notion?
Four things: presence, recommendation, who else was named and which sources were cited. In Linkeddit's definitions, presence is the share of usable answers that name your brand or cite your URL, and recommendation is the share where the brand was recommended, so recommendation can never exceed presence. On the test project, ChatGPT named the brand in 16 of 18 usable samples and recommended it in 15.
Share of voice and cited domains explain the number. In the same segment the brand held 20.5% of vendor visibility and Fathom 16.7%, and Matomo's own domain was the most cited at 10 of 183 domain citations. A report that stops at presence tells you that you are named but never who sits next to you.
Notion's template gallery shows what manual versions look like. One AI visibility template has you log each check by hand, with a column for who the engine named instead of you and which sources it pointed to. That works for a few prompts. It stops working when you track dozens of questions across five engines every week, which is why the numbers should arrive from a measured source and only the layout is yours.
Why should the report show engines that failed?
Because a missing engine changes what the rest of the report means. In the latest run on the test project, 13 of 60 samples failed, the run is marked partial, and Perplexity returned 21 errors with no usable sample. Linkeddit reports that as unmeasured with a reason. A summary that quietly averages four engines and calls it overall visibility would be wrong.
Google AI Overviews shows a second kind of gap. Google displayed an Overview in 16 of 21 samples, so five samples were absent, not failures. Presence of 100% across 15 usable samples is true, but it describes the questions where Google showed an Overview at all. Put appearance rate in its own column so a reader sees both facts.
Tell Claude in the prompt to keep both. The sentence that matters is: report an engine with no usable samples as unmeasured, never as zero.
How many samples before a weekly change is worth acting on?
Fewer than most dashboards imply. The Keystone Ops AI visibility template on Notion's marketplace makes the point directly: ask an LLM the same question twice and the set of names in the answer often changes, so it flags one run as a coin toss, two or three as directional and four or more as a number worth acting on. Treat that as one practitioner's rule of thumb rather than a standard.
Apply it to the report by storing the denominator next to every rate. Claude's presence of 0.5 on the test project is 5 of 10 usable samples, so a week-over-week move from 0.5 to 0.6 is a single answer flipping. Ask Claude to quote both denominators whenever it describes a change, and to say plainly when the change is inside that noise.
How should the Notion database be laid out so weeks compare?
Use one database, one row per engine per week, instead of a new free-text page each time. Notion's connector can create a database and its pages, and can update a page after the fact, so Claude can add last week's row and leave earlier rows untouched. That keeps filters and charts working, which a pile of narrative pages does not.
Peec AI published the pattern in one prompt: pull last week's visibility with the percentage change, sentiment by model, share of voice against the top three competitors and the five prompts that moved most, then save it as a brief to a Notion page. Linkeddit's version differs in two ways. It carries the measurement disclosure, so you can see the engine, the sample count and what was excluded, and it leaves the written analysis to your own Claude.
Keep a free-text page for the reading and the database for the numbers. The page can link to the row, and Claude can add a note to it later with update-page.
More with Notion
Notion competitor analysis with Claude: a database that updates itself
Use Claude with Linkeddit and Notion to keep a competitor analysis database current from the weekly graded brief, with a source link on every row.
ReadKeep your Notion competitive battlecards current with Claude
Keep Notion competitive battlecards current: Claude reads Linkeddit's competitor signals and stored reviews, then updates only the fields that changed.
ReadA Notion SEO tracker that logs Google rank and the AI Overview
Use Claude with Linkeddit and Notion to log weekly Google ranks and whether the AI Overview cites you, as one row per keyword and check.
ReadFrequently asked questions
How do I create an AI visibility report in Notion?+
Create a Notion database with one row per engine per week, then have Claude fill it from measured data. Linkeddit supplies presence, recommendation, share of voice and cited sources through answer_results_get. Claude writes the rows with the Notion connector after you approve them. Store the sample count beside every rate so weekly changes can be judged honestly.
What is the best tool to build an AI visibility report in Notion?+
Linkeddit, at $60 a month, for the measuring half. It asks ChatGPT, Gemini, Perplexity, Claude and Google AI Overviews your buying questions on a schedule and records who was named, who was recommended and which sources were cited. Claude then saves the result to Notion through the Notion connector, so the report builds itself weekly.
Is there a Notion template for AI visibility tracking?+
Yes. Notion's template gallery lists several, including an AI Visibility Tracker that logs each check by hand and flags how many runs a prompt has. They give you the structure but not the data, because you run each prompt yourself. Pairing a template layout with Linkeddit's measured results removes the manual checking.
Can Claude save a weekly AI visibility report to Notion?+
Yes. Peec AI publishes a single prompt that pulls last week's visibility and saves a brief to a Notion page, and the same shape works with Linkeddit data. Claude reads the metrics, shows you the row and the summary, and writes them with the Notion connector's create-pages tool once you approve.
Why does my AI visibility report show an engine as unmeasured?+
Because no usable sample came back for it. In Linkeddit, a provider error or an excluded sample is recorded with a reason instead of being counted as a zero. On the test project, Perplexity returned 21 errors across three runs and shows as unmeasured, which keeps the other engines' numbers honest.
Does Linkeddit write to my Notion workspace?+
No. Linkeddit supplies data and writes nothing to Notion. Claude writes through the Notion connector, which can read and change only what you can access, and you approve each write. The Notion workspace owner can also manage which clients may connect to the workspace under Settings, then Notion MCP.
Sources
- Notion Developers: Notion MCP
- Notion Developers: Notion MCP overview and admin controls
- Notion Marketplace: AI Visibility Tracker by Keystone Ops
- Peec AI: Weekly AI brief saved to Notion
- YouTube, Peec AI: Automate a weekly AI visibility report in Notion
- Agent Index: Notion connector for Claude (tool list)
Bring Linkeddit into your AI client
Competitor moves, AI answer gaps and Google ranks, as tools your assistant can call. One plan, $60 a month.