Tag: Notion Setup

  • Notion MCP Setup with Claude: Complete Config + the Errors Nobody Documents

    Notion MCP Setup with Claude: Complete Config + the Errors Nobody Documents

    Last verified: June 2026.

    There are two ways to connect Notion to Claude over the Model Context Protocol (MCP), and almost every tutorial only covers one of them. Worse, none of them tell you why the connection succeeds but Claude still says it cannot find any of your pages. This guide covers both paths – the hosted OAuth connector and the self-hosted token route – with the exact config, the scopes that matter, the rate limit you will hit, and the specific error strings that show up when something is wrong. It is written from actually running this, not from reading the docs.

    Which Notion MCP should you use: hosted or self-hosted?

    Short answer: use the hosted MCP at https://mcp.notion.com/mcp for almost everything. It uses OAuth, so you never handle a token, and it respects your existing Notion permissions automatically. Use the self-hosted npm server with an internal integration token only when you need headless, unattended automation (a cron job, a server with no human to click “Allow”), because the hosted server requires an interactive OAuth approval that a background process cannot complete.

    Factor Hosted (mcp.notion.com) Self-hosted (npm + token)
    Auth OAuth (interactive) Internal integration token (ntn_)
    Permissions Inherits your full Notion access Only pages you explicitly share
    Setup time ~2 minutes ~10 minutes
    Headless / cron No (needs a human to approve) Yes
    Best for Claude Desktop, Claude Code, daily use Servers, scripts, multi-user backends

    How do I connect Notion to Claude using the hosted MCP?

    This is the fast path. No token, no npm.

    Claude Desktop / Claude.ai: Open Settings > Connectors, click Add custom connector (or pick Notion if it appears in the directory), and paste the URL https://mcp.notion.com/mcp. A Notion OAuth window opens. Approve it, choose which workspace and which top-level pages the connector may see, and you are done. The scope you pick in that OAuth screen is the whole ballgame – see the gotcha below.

    Claude Code (CLI): one command.

    claude mcp add --transport http notion https://mcp.notion.com/mcp

    Then run /mcp inside Claude Code to trigger the OAuth login. After approving, verify it is live:

    claude mcp list

    You should see notion with a connected status. If it shows failed or needs auth, run /mcp again and complete the browser flow – the CLI cannot proceed past OAuth on its own.

    How do I set up the self-hosted Notion MCP with an integration token?

    Use this when you need automation that runs without a human. Three steps: create the integration, get the token, then wire it into your MCP config.

    1. Create the integration and copy the token

    1. Go to https://www.notion.so/my-integrations and click New integration. You must be a Workspace Owner – if the button is greyed out, that is why.
    2. Name it, select the workspace, and choose Internal integration type.
    3. On the integration’s settings page, set Capabilities: Read content, plus Update/Insert content if you want Claude to write. If you only grant Read, every write attempt fails with a permission error later – this is a common self-inflicted wound.
    4. Click Show, then copy the Internal Integration Token. New tokens start with ntn_ (older ones start with secret_ and still work). Treat it like a password.

    2. Add it to your MCP config

    For Claude Desktop, edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/; Windows: %APPDATA%\Claude\). Add:

    {
      "mcpServers": {
        "notion": {
          "command": "npx",
          "args": ["-y", "@notionhq/notion-mcp-server"],
          "env": {
            "NOTION_TOKEN": "ntn_your_token_here"
          }
        }
      }
    }

    Restart Claude Desktop completely (quit, do not just close the window). On Windows, if npx is not found, use the full path to npx.cmd or run via cmd /c – the config does not inherit your shell PATH.

    3. The step everyone forgets: share the pages

    An internal integration starts with access to nothing. Creating it and pasting the token is not enough. For every page or database you want Claude to touch, open it in Notion, click the menu (top right), choose Connections (or Add connections), and select your integration. Access is inherited by child pages, so sharing a top-level page covers its whole subtree. Skip this and Claude will connect cleanly and then truthfully report that it cannot see any content.

    What are the most common Notion MCP errors and how do I fix them?

    These are the failure messages you will actually see, and what each one means.

    “Could not find page” / Claude returns zero results from a workspace that clearly has pages

    Cause, in order of likelihood: (1) you did not share the page with the integration (self-hosted), or you scoped the OAuth grant too narrowly (hosted); (2) the page is in a different workspace than the one the integration is tied to. Fix: re-check the Connections menu on the specific page, or re-run the OAuth flow and widen the page selection. An integration token is bound to one workspace – it cannot see another.

    API token is invalid (HTTP 401 unauthorized)

    The token is wrong, was regenerated, or has a stray space/newline from copy-paste. Re-copy it with the Show button, paste it into the env block with no surrounding whitespace, and restart the client. If you rotated the token in Notion, the old one dies immediately – update every config that used it.

    Validation error / “body failed validation” (HTTP 400)

    Claude tried to write a property type that does not match the database schema – for example sending plain text into a Select, or a malformed date. This is not a connection problem. Tell Claude the exact property names and types, or ask it to fetch the database schema first before writing.

    “Rate limited” / HTTP 429

    Notion enforces roughly 3 requests per second per integration (averaged, with short bursts tolerated). Bulk operations – “update 200 rows,” “scan every page” – blow straight through this. The fix is pacing, not a bigger plan: have Claude batch in small groups and add a short delay between calls. If you are scripting around the MCP, honor the Retry-After header on a 429 instead of hammering.

    spawn npx ENOENT (server will not start, self-hosted)

    Node/npx is not on the PATH the client sees. Install Node, then point command at the absolute path to npx (or npx.cmd on Windows). This is the number-one self-hosted startup failure.

    MCP server shows “failed” in claude mcp list right after adding it

    For the hosted server this almost always means OAuth was never completed – run /mcp and approve in the browser. For the self-hosted server it means the process crashed on launch; run the npx command manually in a terminal to see the real stack trace.

    What can Claude actually do with Notion once connected?

    With read + write capabilities granted, Claude can search your workspace, read pages and databases, create pages, append blocks, and update properties on existing rows. Practical things that work well: “summarize this Notion doc,” “create a row in my tasks database with these fields,” “find every page mentioning X and list the links,” “turn this conversation into a meeting-notes page.” Things that get awkward: very large pages (the response can get truncated – verify the write actually landed by fetching it back), and bulk edits that trip the rate limit. A reliable habit is to treat Notion as the source of truth and have Claude verify by re-fetching after any write, because timeouts on big pages can commit silently and still return a malformed response.

    Security notes from running this in production

    • Scope the OAuth grant tightly. The hosted connector inherits whatever you approve. If you only need one project area, share only that top-level page, not the whole workspace.
    • Never hardcode the token in a file you might commit. Keep ntn_ tokens in an env var or your OS secret store, and reference them from config. If a token leaks, revoke it in my-integrations immediately – revocation is instant.
    • Grant the minimum capability. If Claude only needs to read, do not enable insert/update. You can always widen it later.
    • Audit which integrations have access to sensitive databases periodically; the Connections menu on each page shows the current list.

    If you are wiring up several connectors at once, the mechanics generalize – see our broader Claude MCP setup guide for the config patterns that apply across servers, and the AI operator’s stack for how Notion fits alongside the other tools day to day. If your reason for connecting Notion is to get your own content cited by AI systems, the structure of the pages matters as much as the wiring – see how AI engines cite content.

    FAQ

    Do I need a paid Notion plan to use the MCP?

    No. The API and integrations work on free Notion workspaces. You do need to be a Workspace Owner to create an internal integration.

    Why does Claude say it connected but can’t find my pages?

    Almost always the page-sharing step. A self-hosted integration has access to nothing until you add it via the page’s Connections menu. For the hosted connector, you scoped the OAuth approval too narrowly – re-run it and select more pages.

    What is the Notion API rate limit?

    About 3 requests per second per integration, averaged over time with small bursts allowed. Exceeding it returns HTTP 429. Pace bulk operations and respect the Retry-After header.

    What does the ntn_ prefix mean on my token?

    It is the current internal integration token format. Tokens created today start with ntn_; older secret_ tokens still function and do not need to be replaced.

    Can the hosted Notion MCP run in a headless cron job?

    No. The hosted server requires interactive OAuth approval, which an unattended process cannot complete. Use the self-hosted npm server with an ntn_ token for headless automation.

    How do I let Claude write to Notion, not just read?

    Enable Update content and Insert content under the integration’s Capabilities (self-hosted), or approve write scope during OAuth (hosted). Read-only is the default and will reject every write with a permission error.

    Where do I put the Notion MCP config for Claude Desktop?

    In claude_desktop_config.json~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows. Add a notion entry under mcpServers and fully restart the app.

    Can one integration access two workspaces?

    No. An internal integration is bound to the single workspace it was created in. For a second workspace, create a second integration (or a second OAuth grant on the hosted connector).

    Related reading from operators who run AI tooling daily: Claude Code vs Cursor, Claude Code vs Codex, and Claude in Chrome for LinkedIn automation.

    Frequently Asked Questions

    What is the Notion MCP server for Claude?

    The Notion MCP server is a connector that lets Claude read, search, and interact with your Notion workspace through the Model Context Protocol. With it connected, you can ask Claude to find pages, summarize databases, draft content into Notion, or retrieve information — all without copying and pasting anything manually.

    What is the difference between the Notion OAuth connector and the self-hosted token route?

    The OAuth connector (available in Claude Desktop’s built-in integrations) is the fastest path — authorize once and Claude gets read access to pages you share with the integration. The self-hosted route uses a Notion Internal Integration token in your claude_desktop_config.json, giving you more control over scopes and works in Claude Code environments where OAuth connectors aren’t available.

    Why does Claude say it can’t find my Notion pages after connecting?

    The most common reason is that you haven’t shared the specific pages or databases with your Notion integration. Notion’s permission model requires explicit page-level grants — a successful connection does not automatically give access to all your content. Go to the page in Notion, click the three-dot menu, choose ‘Add connections’, and select your integration.

    What scopes does the Notion MCP integration need?

    For read operations: Read content and Read user information. For write operations: Update content and Insert content. Avoid requesting more scopes than you need — the minimum set reduces the blast radius if a token is ever compromised. Set scopes when creating your Notion Internal Integration at notion.so/my-integrations.

    Does the Notion MCP integration work with Claude Code?

    Yes. Add it via ‘claude mcp add notion npx @notionhq/notion-mcp-server’ and set your NOTION_API_KEY as an environment variable. Claude Code picks it up on the next session. The self-hosted token route works in both Claude Desktop and Claude Code; the OAuth connector is currently Desktop-only.

    What rate limits does the Notion API have?

    Notion’s API enforces a rate limit of 3 requests per second per integration. For typical conversational use this is invisible, but if you ask Claude to crawl a large database or process many pages in sequence, you may see 429 errors. The fix is to add a short sleep between bulk operations or use Notion’s pagination to fetch in smaller batches.


  • Building Your First Notion Skill: A Step-By-Step Walkthrough

    Building Your First Notion Skill: A Step-By-Step Walkthrough

    Building Your First Notion Skill: A Step-By-Step Walkthrough

    The 60-second version

    Building a skill that works on the first try is rare. Building a skill that works after three iterations is normal. The discipline is starting with a narrow scope, writing specific instructions, testing against real inputs, and tightening based on what fails. Most operators build skills that are too broad and too vague. The fix is the opposite of intuition — narrower, more specific, more bounded.

    Step-by-step

    Step 1 — Pick the right first skill. Not the most ambitious one. The most repetitive one. “Weekly digest from project database” is a great first skill. “Generate our entire content strategy” is a terrible first skill.
    Step 2 — Write the instructions. Specific format. Specific sections. Specific length. Specific tone. “Summarize” produces variance; “Produce a one-page summary with these five sections in this order, max two sentences per section, in active voice” produces consistency.
    Step 3 — Bound the context. Which database does it read? Which pages? Which fields? Pin tightly. Expand only when needed.
    Step 4 — Test five times. Run the skill against five different real inputs. Look at outputs side by side. The variance you see is the variance you’ll get in production.
    Step 5 — Tighten based on failures. What was wrong in any output? Update the instructions to prevent that. Re-test. Loop.
    Step 6 — Document the skill. Note what it does, when to call it, and what its known failure modes are.

    Three patterns that fail

    1. The mega-skill. A skill that “drafts the weekly report including stakeholder updates and exec summary and content calendar.” Break it into three skills.
    2. The vague skill. “Help me write.” Define what kind of help, what kind of writing, in what format.
    3. The unbounded skill. No context boundaries. The agent reads everything and produces something that sounds related to nothing.

    Where this goes wrong

    1. Skipping the five-test step. Skills that work once fail differently. Test variance early.
    2. Treating skills as static. Skills need maintenance. When a database schema changes, the skill changes.
    3. Building too many skills too fast. Three great skills beat ten mediocre ones.

    What to read next

    How Notion Skills Work, Custom Agents vs Basic, Workers for Agents, Prompt Patterns That Work Inside Notion.

  • Notion Command Center OS — Single Business Version

    Notion Command Center OS — Single Business Version

    One workspace. Every part of your business, connected.

    Who This Is For

    Built for business owners, consultants, and service providers who are managing their business across a dozen different apps and want everything in one place.

    The Problem

    Most business owners use five or six different tools and still have important things fall through the gaps — because those tools do not talk to each other. A Notion OS solves this not by replacing your tools but by becoming the connective tissue between them: a place where every project, every client, every piece of content, and every piece of knowledge lives together and links to everything else. The problem is that building a good one takes weeks. This one is already built.

    What You Get

    • 6 core databases: Projects, Tasks, Clients, Content Pipeline, Knowledge Base, and Meeting Notes
    • Cross-linked throughout — a client links to their projects, projects link to tasks, tasks link to meeting notes
    • Weekly review system built in: a 15-minute weekly ritual to stay on top of everything
    • AI-ready architecture: structured specifically so Claude can read, update, and act on your workspace via MCP or direct API
    • Setup guide with a recommended configuration sequence — live in one afternoon

    Notion Command Center OS

    $79

    Delivered to your inbox within 24 hours — no shipping, no waiting

    Buy Now →

    Secure checkout via Square — all major cards accepted

    Frequently Asked Questions

    How is this delivered?

    Within 24 hours of purchase via email from will@tygartmedia.com. You will receive a download link for the ZIP file and/or Notion duplicate link immediately.

    Do I need any special software?

    A free Notion account is required. No other software needed.

    Can I customize this for my specific business?

    Yes — that is the point. Everything is built to be edited. Swap in your company name, add your specific workflows, remove anything that does not apply. It is a starting point, not a locked template.

    Is there a refund policy?

    Because this is a digital product, all sales are final. If you have a problem with your purchase, email will@tygartmedia.com and we will sort it out.

  • Building a Notion Second Brain for Restoration CRM Intelligence: Technical Guide

    Building a Notion Second Brain for Restoration CRM Intelligence: Technical Guide

    Who this is for: The person building your knowledge and relationship tracking system — your office manager, a tech-savvy ops person, or a consultant helping you get organized. This brief builds a Notion-based Second Brain layer that sits on top of your existing CRM to capture the relational intelligence that your job management software never will. No coding required. Full setup takes 3–4 hours. The strategy this supports is in Your CRM Is Not a Lead Database.


    What a Second Brain Does That Your CRM Doesn’t

    Your job management software (ServiceTitan, Jobber, or similar) is built to track transactions: jobs, invoices, and technician assignments. It is exceptional at this. What it cannot do is capture the relational layer — who referred whom, who replied to your hiring email, which adjuster said they’d keep you in mind for the next CAT event, which homeowner’s reply mentioned their neighbor’s flooded basement.

    This is the intelligence that determines whether your CRM becomes a community. It lives in email threads, in the notes field of your phone contacts, in your memory after a golf round with an adjuster. It disappears when your office manager leaves, when you switch phone carriers, when the thread buries itself under 400 new emails.

    The Notion Second Brain captures this layer systematically. It’s not a replacement for your CRM. It’s a relationship intelligence layer that your CRM was never designed to hold.


    The Architecture: Four Linked Databases

    The system uses four Notion databases connected by relations. Notion’s free tier supports all of this — you do not need a paid plan for the initial build. If you add more than five members, you’ll need to upgrade to the Plus plan ($10/user/month).

    Database 1: Contacts

    Your master contact registry. Every person in your network gets a record here. This does not replace your CRM contact list — it supplements it with relationship context that belongs in a knowledge management tool, not a job management tool.

    Properties:

    Field Type Notes
    Name Title Full name
    Segment Select Homeowner / Industry / Trade / Other
    Sub-type Select Homeowner past client / Adjuster / Agent / PA / Sub / Supplier / Vendor
    Email Email
    Phone Phone
    Company Text For industry and trade contacts
    Location Text City or zip — for local filter
    Warmth Select Hot / Warm / Cool / Cold — subjective relationship temperature
    Last Touch Date Date Last time you had meaningful contact
    Last Touch Type Select Email campaign / Personal email / Phone / In person
    Times Referred Number How many referrals this contact has ever sent you
    Notes Text Anything important that doesn’t fit a field
    CRM ID Text Matching ID in ServiceTitan or Jobber for cross-reference

    Database 2: Touch Log

    Every meaningful interaction with a contact gets an entry here. Campaign sends, personal replies, phone calls, in-person conversations. This is how you build a timeline of every relationship in your network.

    Properties:

    Field Type Notes
    Touch Summary Title Brief description of the interaction
    Contact Relation → Contacts Links to the contact record
    Date Date
    Touch Type Select Campaign email / Personal email / Phone / In person / Reply received
    Direction Select Outbound (you reached out) / Inbound (they contacted you)
    Signal Select Neutral / Positive / Referral Generated / Lead Mentioned / Complaint
    Follow Up Needed Checkbox
    Follow Up Date Date Only populate if Follow Up Needed is checked
    Notes Text What was said or what happened

    Database 3: Referrals

    Every referral — whether it turned into a job or not — gets a record here. This is where you track the ROI of the community strategy over time.

    Properties:

    Field Type Notes
    Referral Summary Title Brief description
    Referred By Relation → Contacts Who sent it
    Referred Person or Property Text Who or what was referred
    Date Received Date
    Source Touch Relation → Touch Log Which email or interaction triggered the referral
    Outcome Select Job Won / Job Lost / Not Yet Followed Up / Not a Lead
    Job Value Number Estimated or actual job value if won

    Database 4: Campaign Calendar

    This is the full campaign planning and results database from the outreach calendar guide. It lives here in the Second Brain so that every campaign is linked to the contacts and touches it generates.


    Setting Up the System in Notion: Step by Step

    Phase 1: Create the Workspace Structure (30 minutes)

    1. Create a new page in Notion called “CRM Second Brain”
    2. Add four sub-pages, one per database: Contacts, Touch Log, Referrals, Campaign Calendar
    3. On each sub-page, add a full-page database (not inline)
    4. Add all properties to each database as listed above
    5. Set up Relations between databases: Touch Log → Contacts (one contact, many touches), Referrals → Contacts (one contact, many referrals), Referrals → Touch Log (link each referral to the touch that generated it)

    Phase 2: Import Your Seeding Data (1–2 hours)

    1. Take your clean, segmented contact CSV from the segmentation brief
    2. In Notion, on your Contacts database, click the three dots → Import CSV
    3. Map the CSV columns to Notion database properties
    4. Notion will create one database record per row
    5. After import, manually review the first 20 records to confirm mapping is correct
    6. Set the Warmth field for your top 30 contacts manually — this is subjective and cannot be automated

    Phase 3: Set Up Views for Daily Use (30 minutes)

    The database is only useful if you actually open it. Create these four views in your Contacts database:

    • “Super Connectors” view: Filter by Times Referred ≥ 2, sorted by Times Referred descending. This shows you your highest-value network contacts at a glance.
    • “Gone Cold” view: Filter by Last Touch Date is before 6 months ago AND Warmth is Warm or Hot. These are relationships that need attention.
    • “Follow Up Today” view: Filter from Touch Log — Follow Up Needed = true AND Follow Up Date = today. Surfaces what needs action today.
    • “Homeowners — Local” view: Filter by Segment = Homeowner AND Location contains [your city/zip]. Your residential community at a glance.

    Connecting the Second Brain to Your Campaign Workflow

    The Second Brain becomes powerful when it’s updated in real time during campaign execution. Here is the exact workflow for each campaign:

    Before sending: Open the Campaign Calendar database and update the Status to “Scheduled.” Verify that the target audience count in your email platform matches your Contacts database filtered view for that segment.

    Within 48 hours of sending: Log the campaign as a single batch entry in the Touch Log: Touch Type = “Campaign email”, Direction = Outbound, Date = send date. This creates the event anchor for all replies that follow.

    For every reply received: Add a Touch Log entry: Touch Type = “Reply received”, Direction = Inbound, link to the Contact record, set Signal based on content (Referral Generated, Lead Mentioned, or Positive). If a follow-up is needed, check Follow Up Needed and set Follow Up Date.

    For every referral: Add a Referrals database entry immediately. Link to the Contact who sent it and to the Touch Log entry that triggered it. Set Outcome to “Not Yet Followed Up” until the lead is worked.

    After 12 months of this workflow, your Super Connectors view will show you exactly which five to ten people in your network are responsible for the majority of inbound referrals. These are the people to take to coffee, to thank personally, to invite to events. The system surfaces what intuition alone cannot track at scale.


    Advanced: Connecting Notion to Your Email Platform via Zapier

    For teams who want to reduce manual entry, Zapier (zapier.com) can automate the Touch Log entry step. This requires a Zapier account (free tier allows five automated workflows) and basic Zapier setup familiarity.

    The automation: When a contact replies to a Mailchimp campaign → Zapier creates a Touch Log entry in Notion with the reply details, linked to the Contact record by email address.

    The Zap flow:

    1. Trigger: Mailchimp → New Campaign Reply (or Gmail → New Email matching campaign reply-to address)
    2. Action 1: Notion → Find Database Item (search Contacts database for the reply’s email address)
    3. Action 2: Notion → Create Database Item in Touch Log (populate fields from the Mailchimp reply data and the Contact ID found in Action 1)

    This automation removes the manual step of logging each reply. It does not remove the step of reviewing replies and adding qualitative Signal and Notes — that still requires human judgment.

    Zapier setup documentation: zapier.com/apps/mailchimp/integrations/notion and zapier.com/apps/gmail/integrations/notion.


    Notion Pricing for This Use Case

    Scenario Plan Needed Cost
    Solo owner managing the database alone Free $0/month
    Owner + office manager (2 users) Free (up to 5 collaborators on free plan) $0/month
    Owner + office manager + 3 others Free (up to 5 still covered) $0/month
    6 or more users Plus plan $10/user/month

    For most restoration companies running this system, the free tier is sufficient indefinitely. The system described here does not require Notion AI, advanced automations, or enterprise features.


  • Notion OS Starter — Single-Database Command Center Setup for $299

    Notion OS Starter — Single-Database Command Center Setup for $299

    What Is the Notion OS Starter?
    A single master database in your Notion workspace that handles task triage, project tracking, and client records simultaneously — with multiple views (board, table, calendar) configured for how you actually work. Not the full 6-database Second Brain architecture. The right starting point if you’re not yet running multi-client operations at scale.

    The full Second Brain is built for operators managing 10+ clients, 5+ projects simultaneously, and an AI-native workflow. Not everyone needs that on day one.

    The Notion OS Starter is the foundation — one well-built database with the right properties, the right views, and the right structure to grow into. It handles everything a solo operator or small team needs without the complexity of a 6-database architecture they’ll spend two weeks understanding before they use it.

    What the Starter Includes

    • Master operations database — Single database with properties for task type, project, client, status, priority, due date, and owner
    • 5 configured views — Today’s tasks, by project, by client, weekly calendar, and full table
    • 3 SOP pages — How to add a task, how to start a new project, how to onboard a client — written for your specific workflow
    • Inbox page — Capture page for unprocessed tasks and ideas before they get categorized
    • Dashboard — Linked view summary showing active projects, overdue tasks, and upcoming deadlines
    • Upgrade path document — When and how to graduate to the full 6-database Second Brain (so you know what you’re growing into)

    Pricing

    Package Includes Price
    Solo Setup for 1 person, up to 5 active projects $299
    Small Team Setup for 2–5 people with shared views and ownership assignments $499
    Solo + AI Solo setup + claude_delta metadata on key pages for AI session context $599

    Get Your Notion Workspace Built Right

    Tell us how many people will use it, how many active projects you’re juggling, and what’s currently falling through the cracks. We’ll scope the right package.

    will@tygartmedia.com

    Email only. No commitment to reply. Turnaround quoted within 1 business day.

    Frequently Asked Questions

    What Notion plan do I need?

    The Solo package works on Notion Free. The Small Team package requires Notion Plus or Team plan for shared workspace access and permission management.

    How is this different from a Notion template?

    Templates are generic starting points that require significant customization to fit your actual workflow. This is a custom build — we configure properties, views, and structure around your specific clients, projects, and working style before handoff.

    Can I upgrade to the full Second Brain later?

    Yes — and it’s designed for that. The master database becomes one of the six databases in the full architecture. Clients who start with the Starter get upgrade pricing on the full Second Brain setup.


    Last updated: April 2026

  • Notion for the Restoration Industry: Building Content Operations That Drive Local Authority

    Notion for the Restoration Industry: Building Content Operations That Drive Local Authority

    The Agency Playbook
    TYGART MEDIA · PRACTITIONER SERIES
    Will Tygart
    · Senior Advisory
    · Operator-grade intelligence

    The restoration industry has a content problem that most operators don’t recognize as a content problem. The work is technical, the market is local, the competition is intense, and the buying decision is urgent — someone’s basement is flooding or their ceiling has water damage and they need a contractor now. Traditional marketing advice — build a brand, nurture a relationship, post on social media — doesn’t map well to an industry where the customer need is immediate and the decision window is short.

    What does work: topical authority built through genuinely useful content, local SEO that answers the specific questions people ask when damage happens, and a content operation that can produce and maintain that content at scale. This is what we’ve built for restoration industry clients, and Notion is the operational backbone that makes it manageable.

    What does a Notion content operation look like for the restoration industry? A restoration industry content operation in Notion tracks content across specific damage types — water, fire, mold, asbestos, storm — and service geographies, with keyword research integrated into the content pipeline and a publishing workflow that routes content through optimization, schema injection, and WordPress publication. The operation is built for volume and specificity, not general brand content.

    Why the Restoration Industry Is a Good Content Market

    Restoration is a strong content market for several reasons. The questions people ask when damage occurs are specific and consistent: how much does water damage restoration cost, how long does mold remediation take, what does fire damage smell like after a week. These questions have real search volume and low competition from authoritative content — most restoration company websites are thin on useful information.

    The industry also has strong local search intent. Someone searching for water damage restoration is almost always searching for someone local. Content that combines topical authority — demonstrating genuine expertise in the damage type — with local specificity performs well in this environment.

    Finally, the industry is fragmented. Most restoration companies are regional or local operators without the resources to build and maintain a serious content operation. That gap creates opportunity for content-forward operators to establish authority that larger, less content-focused competitors can’t easily replicate.

    How the Content Architecture Works

    The content architecture for restoration clients follows a hub-and-spoke structure. Hub pages cover the primary service categories at the depth required for topical authority — comprehensive guides to water damage restoration, mold remediation, fire damage recovery. Spoke pages cover specific questions, cost breakdowns, process explanations, local variations, and comparison topics that radiate from each hub.

    In Notion, this architecture is tracked in the Content Pipeline database with content type tags distinguishing hub pages from spoke content. The hub pages are the long-term SEO assets; the spoke content generates ongoing traffic from specific long-tail queries and builds the internal link structure that supports the hubs.

    The keyword research layer — what topics need coverage, what questions are being asked in the target geography, what the competition looks like for each keyword — feeds directly into the Content Pipeline as briefs. Each brief becomes a content record that moves through the standard status sequence before it reaches WordPress.

    The Local Intelligence Layer

    Generic restoration content — “water damage restoration: everything you need to know” — competes with national franchise content from large chains and major insurance resources. It’s hard to win that competition for a regional operator.

    Local intelligence changes the equation. Content that reflects genuine knowledge of a specific market — the most common cause of water damage in the local housing stock, the local insurance carriers and their specific claim processes, the geographic factors that affect mold growth in the region — differentiates from generic content in a way that matters to both search engines and local readers.

    Capturing and maintaining that local intelligence is a knowledge management problem. In Notion, it lives in the client’s Knowledge Lab records — market-specific reference documents that inform every piece of content written for that client and that Claude reads before starting any content session for that site.

    The B2B Network as Distribution

    Content production is half the equation. Distribution matters — who sees the content and whether it reaches the decision-makers and referral sources who drive restoration business.

    A B2B industry network built around a shared activity — golf, in one model we’ve seen work well — can be a powerful distribution channel for restoration industry relationships. Insurance adjusters, property managers, contractors, and restoration company owners all participate in an industry where relationships drive referrals. A network format that builds those relationships efficiently creates a distribution layer that pure content can’t replicate.

    The content operation and the network operation reinforce each other. The content builds the credibility and visibility that makes the network meaningful. The network provides the relationships and industry intelligence that make the content genuinely informed rather than generic. Neither works as well without the other.

    What Makes Restoration Content Different

    Restoration content has specific requirements that distinguish it from general service business content. The subject matter is emotionally charged — people are dealing with damaged homes and possessions, often under insurance and contractor pressure. The content needs to be factually precise — cost ranges, process timelines, and technical specifications that are wrong will be called out quickly by industry readers. And the local dimension is non-negotiable — a guide to water damage restoration that doesn’t reflect local contractor pricing, local building codes, or local insurance market realities is less useful than one that does.

    Meeting these requirements at scale — across multiple clients, multiple damage types, multiple geographies — is what makes Notion’s pipeline architecture valuable for restoration content operations. The knowledge layer stores the local intelligence. The pipeline tracks the content. The quality gate ensures nothing publishes with claims that can’t be supported.

    Working in the restoration industry?

    We build content operations for restoration companies — the topical authority architecture, the local intelligence layer, and the publishing pipeline that makes it run at scale.

    Tygart Media has deep experience in restoration industry content. We know what works, what the keywords are, and what differentiates in a fragmented local market.

    See what we build →

    Frequently Asked Questions

    What content topics work best for restoration companies?

    Cost guides perform consistently well — people want to know what water damage restoration costs, what mold remediation costs, what fire damage cleanup costs. Process explanations — what happens during restoration, how long it takes, what to expect — also perform well because they reduce anxiety during a stressful situation. Local content that reflects knowledge of the specific market outperforms generic content for the same topics at the local search level.

    How much content does a restoration company need to build topical authority?

    For a regional restoration company targeting a metro area, meaningful topical authority typically requires fifty to one hundred published articles covering the primary damage types, the key cost and process questions, and local variations. That’s a six-to-twelve month content build at reasonable publishing velocity. The content compounds over time — articles published in month one are still generating traffic in month twelve and beyond.

    How do you handle the local specificity requirement across multiple restoration clients in different markets?

    Each client’s market-specific intelligence lives in their Knowledge Lab records in Notion — a set of reference documents covering local pricing, local contractors, local insurance market conditions, and geographic factors specific to their service area. Claude reads these records before starting any content session for that client. The records are the mechanism that makes content locally specific without requiring the writer to have personal knowledge of every market.

  • How to Set Up Notion So Claude Remembers Everything

    How to Set Up Notion So Claude Remembers Everything

    Last refreshed: May 15, 2026

    Update — May 15, 2026: On May 13, 2026, Notion shipped the Notion Developer Platform (version 3.5), with Claude as a launch partner. The platform adds Workers, database sync, an External Agents API, and a Notion CLI. The patterns described in this article still work, but there is now a native, sanctioned alternative for some of what previously required custom MCP wiring or third-party automation. For the full breakdown of what changed and what it means for the Notion + Claude stack, see Notion Developer Platform Launch (May 13, 2026). For the underlying operating philosophy, see The Three-Legged Stack.

    Claude AI · Fitted Claude

    Claude doesn’t remember anything between sessions by default. Every conversation starts from zero. For casual use, that’s fine. For an operator running a complex business across multiple clients, projects, and entities, that reset is a real problem — and the solution is architectural, not a workaround.

    Here’s how to set up Notion so Claude has the context it needs at the start of every session, without you manually rebuilding it every time.

    How do you set up Notion so Claude remembers everything? You don’t make Claude remember — you make the relevant context retrievable. A Claude-ready Notion setup has three components: a metadata standard that makes key pages machine-readable, a master index Claude fetches at session start to know what exists, and a session logging practice that captures what was decided so the next session can pick up where the last one ended. Together these create functional persistence without relying on Claude’s native memory.

    What “Remembering” Actually Means

    It’s worth being precise about what we’re solving for. Claude’s context window — the information it has access to during a session — is large. The problem is that it resets between sessions. Information from Monday’s session isn’t available in Tuesday’s session unless it’s either in the system prompt or retrieved during the new session.

    The goal isn’t to give Claude a persistent memory in the biological sense. The goal is to ensure that any context Claude would need to operate effectively in a new session is stored somewhere Claude can retrieve it, and that Claude knows to retrieve it before starting work.

    That’s a knowledge management problem, not an AI problem. Solve the knowledge management problem and the memory problem resolves itself.

    Step 1: The Metadata Standard

    Every key Notion page needs a brief structured metadata block at the top — before any human-readable content. The metadata block makes the page machine-readable: Claude can read the summary and understand the page’s purpose and key constraints without reading the full content.

    The minimum viable metadata block for each page includes: what type of document this is (SOP, reference, project brief, decision log), its current status (active, evergreen, draft), a two-to-three sentence plain-language summary of what the page contains and when to use it, and a resume instruction — the single most important thing to know before acting on this page’s content.

    With this block in place, Claude can orient itself to any page in seconds. Without it, Claude has to read the full page to understand whether it’s relevant — which is slow and impractical at scale.

    Step 2: The Master Index

    The master index is a single Notion page that lists every key knowledge page in the workspace: its title, Notion page ID, type, status, and one-line summary. Claude fetches this page at the start of any session that involves the knowledge base.

    The index answers the question Claude needs answered before it can retrieve anything: what exists and where is it? Without the index, Claude would need to search for relevant pages by keyword — imprecise and dependent on the page having the right words. With the index, Claude can scan the full list of what exists and identify exactly which pages are relevant to the current task.

    Keep the index current. Add a row whenever a significant new page is created. Archive rows when pages are deprecated. The index is only useful if it accurately represents what’s in the knowledge base.

    Step 3: Session Logging

    The session log is the practice that creates true continuity across sessions. At the end of any significant working session, a brief log entry captures what was decided, what was done, and what the next step is. That log entry lives in the Knowledge Lab as a dated record.

    The next session starts by reading the most recent session log for the relevant project or client. Claude picks up with full awareness of what the previous session decided and where the work stands — not because it remembered, but because the information was captured and is retrievable.

    Session logs don’t need to be long. Three to five sentences covering the key decisions and the next step is sufficient. The goal is continuity, not comprehensive documentation. A session log that takes two minutes to write saves ten minutes of context reconstruction at the start of the next session.

    The Start-of-Session Protocol

    With the metadata standard, master index, and session logging in place, every session starts the same way: “Read the Claude Context Index and the most recent session log for [project/client], then let’s work on [task].”

    Claude fetches the index, identifies the relevant pages, fetches those pages and reads their metadata blocks, reads the most recent session log, and begins work with genuine operational context. The context transfer that used to require ten minutes of manual explanation happens in under a minute of automated retrieval.

    This protocol works because the setup work was done upfront. The metadata blocks were written. The index was created and maintained. The session logs were captured. The session start protocol is fast because the knowledge management discipline that makes it fast was already in place.

    What This Doesn’t Replace

    This architecture doesn’t replace judgment about what’s worth capturing. Not every session produces information worth logging. Not every Notion page needs a metadata block. The discipline of the system is knowing what deserves to be in the knowledge base and what doesn’t — and being honest about the maintenance overhead that every addition creates.

    A knowledge base that captures everything becomes a knowledge base that surfaces nothing useful. The curation decision — what goes in, what stays out — is as important as the architecture that stores it.

    Want this set up correctly?

    We configure the Notion + Claude memory architecture — the metadata standard, the Context Index, the session logging practice, and the start-of-session protocol — as a done-for-you implementation.

    Tygart Media runs this system in daily operation. We know what makes it work and what breaks it.

    See what we build →

    Frequently Asked Questions

    Does Claude have a memory feature that makes this unnecessary?

    Claude has a memory system in claude.ai that captures information from conversations and surfaces it in future sessions. This is useful for personal context — preferences, background, recurring topics. For operational context in a business setting — current project status, client-specific constraints, recent decisions — the Notion-based architecture described here is more reliable, more comprehensive, and more controllable. The two approaches complement each other rather than competing.

    How often should session logs be written?

    For sessions that produce significant decisions, complete meaningful work, or advance a project to a new stage — write a log entry. For sessions that are purely exploratory or produce nothing durable — skip it. The rule of thumb: if the next session on this topic would benefit from knowing what happened in this session, write the log. If not, don’t. Logging every session creates overhead without value; logging selectively keeps the knowledge base signal-dense.

    What’s the difference between a session log and a Notion page?

    A session log is a dated record of what happened in a specific working session — decisions made, work completed, next steps identified. A Notion knowledge page is a durable reference document — an SOP, an architecture decision, a client reference — that’s meant to be read and used repeatedly. Session logs are ephemeral and time-stamped. Knowledge pages are evergreen and maintained. Both are in the Knowledge Lab database, distinguished by the Type property.

    Can this setup work for a team, not just a solo operator?

    Yes, with additional structure. The metadata standard and master index work the same for a team. Session logging becomes more important with multiple people working on the same projects — the log creates a shared record of what was decided so team members don’t reconstruct it for each other. The additional requirement for a team is clarity about who owns the knowledge base maintenance — who updates the index, who reviews pages for currency, who writes the session logs. Without that ownership, the system degrades quickly in a team setting.

  • Notion Command Center Daily Operating Rhythm: Our Exact Playbook

    Notion Command Center Daily Operating Rhythm: Our Exact Playbook

    The Agency Playbook
    TYGART MEDIA · PRACTITIONER SERIES
    Will Tygart
    · Senior Advisory
    · Operator-grade intelligence

    A daily operating rhythm is the difference between a Notion system you use and one you maintain out of obligation. The architecture can be perfect — six databases, clean relations, filtered views for every operational question — and still fail if there’s no structured daily interaction that keeps it current and useful.

    This is our exact playbook. Not a template, not a philosophy — the specific sequence we run every working day to keep a multi-client, multi-entity operation on track from a single Notion workspace.

    What is a Notion Command Center daily operating rhythm? A daily operating rhythm for a Notion Command Center is a structured sequence of interactions with the workspace that keeps it current and actionable — a morning triage that clears the inbox and sets priorities, an end-of-day close that captures completions and pushes deferrals, and a weekly review that repairs drift and resets for the next week. The rhythm is what transforms a database architecture into a living operating system.

    Morning Triage: 10–15 Minutes

    The morning triage has one goal: leave it knowing exactly what the top three priorities are for the day and with the inbox at zero.

    Step 1: Zero the inbox. Open William’s HQ and go to the inbox view — all tasks without a priority or entity assigned. Every untagged item gets a priority (P1–P4), a status (Next Up or a specific date), and an entity tag. Nothing stays in the inbox. Items that don’t warrant a task get deleted.

    Step 2: Read the P1 and P2 list. These are the only tasks that own today’s calendar. Read the list. Mentally commit to the top three. If the P1 list has more than five items, something is mislabeled — P1 means real consequences today, not “this would be good to do.”

    Step 3: Check the content queue. Filter the Content Pipeline for anything publishing in the next 48 hours that isn’t in Scheduled status. Anything publishing tomorrow that’s still in Draft or Optimized is a P1. Fix it before anything else.

    Step 4: Check blocked tasks. Any task in Blocked status needs a decision or a message now. Blocked tasks that age without action create downstream problems that compound. Clear them or escalate them — don’t leave them blocked.

    Total time: ten to fifteen minutes. The output is not a plan — it’s a commitment to three specific things, with everything else deprioritized explicitly rather than just ignored.

    Working Sessions: No Rhythm, Just Work

    Between morning triage and end-of-day close, there’s no prescribed rhythm. The triage gave you your three priorities. Work on them. The system doesn’t need to be consulted again until something changes — a new task arrives, a content piece needs to move to the next stage, a decision gets made that should be logged.

    The one active habit during working sessions: when you create something that belongs in the system — a new contact, a new content piece, a completed task — log it immediately. The temptation to batch-log at the end of the day creates a gap where things get missed. The cost of logging in real time is thirty seconds per item. The cost of not logging is an inaccurate system that can’t be trusted.

    End-of-Day Close: 5 Minutes

    Step 1: Mark done tasks complete. Any task completed today gets its status updated to Done. This takes thirty seconds and keeps the active task view clean.

    Step 2: Push or reprioritize uncompleted tasks. Anything you intended to do but didn’t — update the due date or move it down in priority. Don’t leave tasks with today’s due date sitting undone without a decision about when they’ll happen.

    Step 3: Check tomorrow’s content queue. Anything publishing tomorrow that needs a final pass? If yes, that’s the first thing tomorrow morning. If no, close out.

    Step 4: Log anything significant created today. New contacts, new content pieces, new decisions — anything that belongs in the system but was created during the day without being logged. The end-of-day close is the catch for anything that wasn’t logged in real time.

    Total time: five minutes. The output is a clean system — no stale due dates, no ambiguous task statuses, no undocumented decisions.

    Weekly Review: 30 Minutes, Sunday Evening

    The weekly review is the repair mechanism. It catches what the daily rhythm misses and resets the system before the next week begins.

    Revenue check: Any deal stuck in the same pipeline stage as last week with no activity? Any proposal sent more than five days ago without a follow-up?

    Content check: Next week’s content queue — fully populated and scheduled? Any articles published this week without internal links? Any content pipeline records that have been in the same status for more than seven days?

    Task check: Archive all Done tasks older than 14 days. Any P3/P4 tasks that should be killed rather than deferred again? Any P2 leverage tasks being continuously pushed — a warning sign that the leverage isn’t actually happening?

    Relationship check: Any CRM contacts who should have heard from you this week and didn’t?

    System health check: Any automation that failed silently? Any SOP that was used this week that turned out to be outdated? Any knowledge that was generated this week that should be documented?

    Total time: thirty minutes. The output is a reset system — clean task database, current content queue, up-to-date relationship log, healthy knowledge base.

    Monthly Entity Reviews: 10 Minutes Each

    Once a month, open each business entity’s Focus Room and run a quick scan. For each entity, one key question: is this entity’s operation healthy? Are the right things happening, is nothing falling through the cracks, does the content or relationship pipeline need attention?

    The monthly review catches drift that’s too slow for the weekly rhythm to notice — a client relationship that’s been slightly neglected for six weeks, a content vertical that’s been deprioritized without a conscious decision, a system health issue that’s been accumulating quietly.

    Ten minutes per entity. The output is either confirmation that the entity is on track or a set of tasks to address the drift before it becomes a problem.

    Want this system set up for your operation?

    We build Notion Command Centers and the operating rhythms that make them work — the architecture, the views, and the daily practice that keeps a complex operation on track.

    Tygart Media runs this exact rhythm daily. We know what makes the difference between a Notion system that works and one that gets abandoned.

    See what we build →

    Frequently Asked Questions

    What if the morning triage takes longer than 15 minutes?

    It means the inbox accumulated too much since the last triage. The first few times you run the rhythm after setting up a new system, triage will take longer while you establish the habit of keeping the inbox clear in real time. Once the habit is established, fifteen minutes is consistently sufficient. If triage regularly exceeds twenty minutes, the inbox discipline needs attention — too many items are accumulating without being processed during the day.

    How do you handle urgent items that arrive mid-day?

    Anything genuinely urgent — P1 level — gets addressed immediately and logged in the system as it’s resolved. Anything that feels urgent but can wait goes into the inbox for the next triage. The discipline of not treating every incoming item as immediately actionable is one of the harder habits to establish, and one of the most valuable. Most things that feel urgent at arrival are P2 or P3 by the time they’re calmly evaluated.

    Is the weekly review actually necessary if the daily rhythm is working?

    Yes. The daily rhythm catches individual task and content issues. The weekly review catches patterns — a client relationship drifting, a pipeline stage backing up, an automation failing silently. These patterns are invisible in daily operation because each day’s view is too narrow. The weekly review is the only moment when the full operation is visible at once, which is when patterns become apparent.



  • Notion + GCP: Running an AI-Native Business on Google Cloud and Notion

    Notion + GCP: Running an AI-Native Business on Google Cloud and Notion

    Last refreshed: May 15, 2026

    Claude AI · Fitted Claude

    Running an AI-native business in 2026 means making a decision about infrastructure that most operators don’t realize they’re making. You can run AI operations reactively — open Claude, do the work, close the session, repeat — or you can build an infrastructure layer that makes every session faster, more consistent, and more capable than the last.

    We chose the second path. The stack is Google Cloud Platform for compute and data infrastructure, Notion for operational knowledge, and Claude as the AI intelligence layer. Here’s what that combination looks like in practice and why each piece is there.

    What does it mean to run an AI-native business on GCP and Notion? An AI-native business on GCP and Notion uses Google Cloud Platform for infrastructure — compute, storage, data, and AI APIs — and Notion as the operational knowledge layer, with Claude connecting the two as the intelligence and orchestration layer. Content publishing, image generation, knowledge retrieval, and operational logging all run through this stack. The business is not just using AI tools; it’s built on AI infrastructure.

    Why GCP

    Google Cloud Platform provides three things that matter for an AI-native content operation: scalable compute via Cloud Run, AI APIs via Vertex AI, and data infrastructure via BigQuery. All three integrate cleanly with each other and with external services through standard APIs.

    Cloud Run handles the services that need to run continuously or on demand without managing servers: the WordPress publishing proxy that routes content to client sites, the image generation service that produces and injects featured images, the knowledge sync service that keeps BigQuery current with Notion changes. These services run when triggered and cost nothing when idle — the right economics for an operation that doesn’t need 24/7 uptime but does need reliable on-demand availability.

    Vertex AI provides access to Google’s image generation models for featured image production, with costs that scale predictably with usage. For an operation producing hundreds of featured images per month across client sites, the per-image cost at scale is significantly lower than commercial image generation alternatives.

    BigQuery provides the data layer described in the persistent memory architecture: the operational ledger, the embedded knowledge chunks, the publishing history. SQL queries against BigQuery return results in seconds for datasets that would be unwieldy in Notion.

    Why Notion

    Notion is the human-readable operational layer — the place where knowledge lives in a form that both people and Claude can navigate. The GCP infrastructure handles compute and data. Notion handles knowledge and workflow. The division of responsibility is clean: GCP for machine-scale operations, Notion for human-scale understanding.

    The Notion Command Center — six interconnected databases covering tasks, content, revenue, relationships, knowledge, and the daily dashboard — is the operational OS for the business. Every piece of work that matters is tracked here. Every procedure that repeats is documented here. Every decision that shouldn’t be made twice is logged here.

    The Notion MCP integration is what makes Claude a genuine participant in that system rather than an external tool. Claude reads the Notion knowledge base, writes new records, updates status, and logs session outputs — all directly, without requiring a manual transfer step between Claude and Notion.

    Where Claude Sits in the Stack

    Claude is the intelligence and orchestration layer. It doesn’t replace the GCP infrastructure or the Notion knowledge base — it uses them. A content production session starts with Claude reading the relevant Notion context, proceeds with Claude drafting and optimizing content, and ends with Claude publishing to WordPress via the GCP proxy and logging the output to both Notion and BigQuery.

    The session is not just Claude doing a task and returning a result. It’s Claude operating within a system that provides it with context going in and captures its outputs coming out. The infrastructure is what makes that possible at scale.

    What This Stack Enables

    The combination of GCP infrastructure and Notion knowledge unlocks operational capabilities that neither provides alone. Content can be generated, optimized, image-enriched, and published to multiple WordPress sites in a single Claude session — because the GCP services handle the technical distribution and the Notion context provides the client-specific constraints that govern each site. Knowledge produced in one session is immediately available in the next — because BigQuery captures it and Notion stores the human-readable version. The operation runs at a scale that one person couldn’t manage manually — because the infrastructure handles the mechanical work while Claude handles the intelligence work.

    What This Stack Costs

    The honest cost picture: GCP infrastructure at our operating scale runs modest monthly costs, primarily driven by Cloud Run service invocations and Vertex AI image generation. Notion Plus for one member is around ten dollars per month. Claude API usage for content operations varies with session volume. The total monthly infrastructure cost for the stack is a small fraction of what equivalent human labor would cost for the same output volume — which is the point of building infrastructure rather than hiring for scale.

    Interested in building this infrastructure?

    The GCP + Notion + Claude stack is advanced infrastructure. We consult on the architecture and can help design the right version for your operation’s scale and requirements.

    Tygart Media built and runs this stack live. We know what the implementation actually requires and where the complexity is.

    See what we build →

    Frequently Asked Questions

    Do you need GCP to run an AI-native content operation?

    No — GCP is one infrastructure option among several. The core stack (Claude + Notion) works without any cloud infrastructure for smaller operations. GCP becomes valuable when you need reliable service infrastructure for publishing automation, image generation at scale, or data infrastructure for persistent memory. Operators starting out don’t need GCP; operators scaling up often find it the right addition.

    How does Claude connect to GCP services?

    Claude connects to GCP services through standard REST APIs and the MCP (Model Context Protocol) integration layer. Cloud Run services expose HTTP endpoints that Claude calls during sessions. BigQuery is queried via the BigQuery API. Vertex AI image generation is called via the Vertex AI REST API. Claude orchestrates these calls as part of a session workflow — fetching context, generating content, calling publishing APIs, logging results.

    Is this architecture HIPAA or SOC 2 compliant?

    GCP offers HIPAA-eligible services and SOC 2 certification. A “fortress architecture” — content operations running entirely within a GCP Virtual Private Cloud with appropriate data handling controls — can be configured to meet healthcare and enterprise compliance requirements. This is an advanced implementation beyond the standard stack described here, but it’s achievable within the GCP environment for organizations with those requirements.

  • How We Use BigQuery + Notion as a Persistent AI Memory Layer

    How We Use BigQuery + Notion as a Persistent AI Memory Layer

    Last refreshed: May 15, 2026

    Claude AI · Fitted Claude

    The hardest problem in running an AI-native operation is not the AI — it’s the memory. Claude’s context window is large but finite. It resets between sessions. Every conversation starts from zero unless you engineer something that prevents it.

    For a solo operator running a complex business across multiple clients and entities, that reset is a real operational problem. The solution we built combines Notion as the human-readable knowledge layer with BigQuery as the machine-readable operational history — a persistent memory infrastructure that means Claude never truly starts from scratch.

    Here’s how the architecture works and why each layer exists.

    What is a BigQuery + Notion AI memory layer? A BigQuery and Notion AI memory layer is a two-tier persistent knowledge infrastructure where Notion stores human-readable operational knowledge — SOPs, decisions, project context — and BigQuery stores machine-readable operational history — publishing records, session logs, embedded knowledge chunks — that Claude can query during a live session. Together they provide Claude with both the institutional knowledge of the operation and the operational history of what has been done.

    Why Two Layers

    Notion and BigQuery solve different parts of the memory problem.

    Notion is optimized for human-readable, structured documents. An SOP in Notion is readable by a person and fetchable by Claude. But Notion isn’t a database in the traditional sense — it doesn’t support the kind of programmatic queries that make large-scale operational history navigable. Searching five hundred knowledge pages for a specific historical data point is slow and imprecise in Notion.

    BigQuery is optimized for exactly that: large-scale structured data that needs to be queried programmatically. Operational history — every piece of content published, every session’s decisions, every architectural change — lives in BigQuery as structured records that can be queried precisely and quickly. But BigQuery records aren’t human-readable documents. They’re rows in tables, useful for lookup and retrieval but not for the kind of contextual understanding that Notion pages provide.

    Together they cover the full memory requirement: Notion for what the operation knows and how things are done, BigQuery for what the operation has done and when.

    The Notion Layer: Structured Knowledge

    The Notion knowledge layer is the Knowledge Lab database — SOPs, architecture decisions, client references, project briefs, and session logs. Every page carries the claude_delta metadata block that makes it machine-readable: page type, status, summary, entities, dependencies, and a resume instruction.

    The Claude Context Index — a master registry page listing every key knowledge page with its ID, type, status, and one-line summary — is the entry point. At the start of any session touching the knowledge base, Claude fetches the index and identifies the relevant pages for the current task. The index-then-fetch pattern keeps context loading fast and targeted.

    What the Notion layer provides: the institutional knowledge of how the operation works, what has been decided, and what the constraints are for any given client or project. This is the layer that makes Claude operate consistently across sessions — not by remembering the previous session, but by reading the same underlying knowledge base that governed it.

    The BigQuery Layer: Operational History

    The BigQuery operations ledger is a dataset in Google Cloud that holds the operational history of the business: every content piece published with its metadata, every significant session’s decisions and outputs, every architectural change to the systems, and — most importantly — the embedded knowledge chunks that enable semantic search across the entire knowledge base.

    The knowledge pages from Notion are chunked into segments and embedded using a text embedding model. Those embedded chunks live in BigQuery alongside their source page IDs and metadata. When a session needs to find relevant knowledge that isn’t covered by the Context Index, a semantic search against the embedded chunks surfaces the right pages without requiring a manual search.

    What the BigQuery layer provides: operational history that’s too large and too structured for Notion pages, semantic search across the full knowledge base, and a machine-readable record of everything that has been done — which pieces of content exist, what was changed, what decisions were made and when.

    How Sessions Use Both Layers

    A typical session that requires deep operational context follows a pattern. Claude reads the Claude Context Index from Notion and identifies relevant knowledge pages. It fetches those pages and reads their metadata blocks. For operational history — “what has been published for this client in the last thirty days?” — it queries the BigQuery ledger directly. For knowledge gaps not covered by the index, it runs a semantic search against the embedded chunks.

    The result is a session that starts with genuine institutional context rather than a blank slate. Claude knows how the operation works, what the relevant constraints are, and what has happened recently — not because it remembers the previous session, but because all of that information is accessible in structured, retrievable form.

    The Maintenance Requirement

    Persistent memory infrastructure requires persistent maintenance. The Notion knowledge layer stays current through the regular SOP review cycle and the practice of documenting decisions as they’re made. The BigQuery layer stays current through automated sync processes that push new content records and session logs as they’re created.

    The sync isn’t fully automated in a set-and-forget sense — it requires periodic verification that records are being captured correctly and that the embedding model is processing new chunks accurately. But the maintenance overhead is modest: a few minutes of verification per week, and occasional manual intervention when a sync process fails silently.

    The system degrades if the maintenance lapses. A knowledge base that’s three months stale is worse than no knowledge base — it provides false confidence that Claude has current context when it doesn’t. The maintenance discipline is as important as the architecture.

    Interested in building this for your operation?

    The Notion + BigQuery memory architecture is advanced infrastructure. We build and configure it for operations that are ready for it — not as a first Notion project, but as the next layer on top of a working system.

    Tygart Media runs this infrastructure live. We know what the build and maintenance actually requires.

    See what we build →

    Frequently Asked Questions

    Why use BigQuery instead of just storing everything in Notion?

    Notion is optimized for human-readable structured documents, not for large-scale programmatic data queries. Storing thousands of operational history records — content publishing logs, session outputs, embedded knowledge chunks — in Notion creates performance problems and makes precise programmatic queries slow. BigQuery handles that scale trivially and supports the SQL queries and vector similarity searches that make the operational history actually useful. Notion and BigQuery do different things well; the architecture uses each for what it’s good at.

    Is this architecture accessible to non-engineers?

    The Notion layer is. The BigQuery layer requires comfort with Google Cloud infrastructure, SQL, and API integration. Building and maintaining the BigQuery ledger is an engineering task. For operators without that background, the Notion layer alone — the Knowledge Lab, the claude_delta metadata standard, the Context Index — provides significant value and is fully accessible without engineering support. The BigQuery layer is the advanced extension, not the foundation.

    What does “semantic search over embedded knowledge chunks” mean in practice?

    When knowledge pages are embedded, each page (or section of a page) is converted into a numerical vector that represents its meaning. Semantic search finds pages with vectors close to the query vector — pages that are conceptually similar to what you’re looking for, even if they don’t use the same words. In practice this means Claude can find relevant knowledge pages by describing what it needs rather than knowing the exact title or keyword. It’s significantly more reliable than keyword search for knowledge retrieval across a large, varied knowledge base.