Tag: Notion Command Center

  • When I Stopped Being the Bottleneck

    When I Stopped Being the Bottleneck

    For a long time, everything ran through me.

    Every decision, every deliverable, every edge case that didn’t fit the template. I was the person who knew where everything was and why it worked the way it did. Clients called me. Problems waited for me. The operation was fast when I was available and stuck when I wasn’t.

    I told myself this was just what running a lean operation looked like. That being indispensable was the same thing as being valuable. That the bottleneck was evidence of how much I mattered.

    It took me longer than I’d like to admit to understand that those aren’t the same thing at all.


    The shift didn’t happen because I hired more people or built a more sophisticated system. It happened because I started writing things down differently.

    Not the what — I’d always documented the what. What the process was. What the deliverable looked like. What the client expected.

    The change was writing down the why.

    Why is this built this way. Why did I make this trade-off. Why does this rule exist and what would have to be true for it to change. The reasoning that lives in my head during a decision but never makes it into the documentation because by the time the decision is made, the reasoning feels obvious and I’ve already moved on.

    That reasoning — the why, the context, the judgment — is exactly what’s missing when someone else tries to run something you built. They can follow the steps. They can’t follow the thinking. And the thinking is most of what they actually need.


    I had a client engagement once where the real work wasn’t the content or the SEO or any of the visible deliverables. The real work was extraction — pulling out everything the founder knew about his industry and making it queryable.

    He had thirty years of pattern recognition in his head. He knew, from a thirty-second conversation, whether a prospective client was going to be a nightmare. He knew which product lines had margin left to squeeze and which ones were already at ceiling. He knew the right answer to questions his team asked him forty times a week.

    But none of it was written down. It lived in him, and because it lived in him, every decision that touched that knowledge had to touch him first. He was the bottleneck in his own business, not because he was bad at delegating, but because there was nothing to delegate to. The judgment wasn’t portable.

    We spent three months making it portable.


    I’ve been doing the same thing for myself.

    The Notion workspace I run on isn’t just a project management tool. It’s an attempt to externalize the reasoning that would otherwise die with the session — the doctrine pages that explain why the operation is structured the way it is, the decision logs that capture what I considered before choosing, the second brain that holds the context I’d otherwise have to rebuild from scratch every time.

    It’s slow work. It runs against the instinct to just move. Documentation always feels like it’s competing with execution, and execution is what pays the bills today.

    But the compound effect is real and I’ve felt it. Questions I would have had to think through from scratch six months ago have written answers now. New automations start from an existing base of explained decisions rather than a blank page. When something breaks, the fix is findable because the original thinking is findable.

    More than that: I’ve noticed that the act of writing down why I’m doing something makes me smarter about whether I should be doing it. A decision you can’t explain clearly enough to document is often a decision you haven’t thought through clearly enough to make well.


    The version of me from three years ago would be confused by how I work now.

    Then, I was the point of contact for everything. Clients called when there was a problem. I held the answers in my head and dispensed them on demand. The business ran because I ran it, continuously, in real time.

    Now, most of what the operation does, it does without me. Workers run on schedules I set. Content moves through pipelines I designed. Decisions I’ve already made a hundred times get made automatically against rubrics I wrote once.

    I show up for the things that genuinely need me — strategy, relationships, the judgment calls that don’t fit any pattern I’ve encountered before. Everything else runs.

    The thing I had to let go of to get here was the idea that being needed for everything was the same as being important. It isn’t. Being needed for everything is exhausting and fragile and it doesn’t scale. Being needed for the right things — the hard things, the high-leverage things, the things only you can actually do — that’s something different.


    I don’t think of myself as having solved this. The work of making a one-person operation less dependent on one person is ongoing and probably never finished.

    But there’s a version of it that’s better than the version where everything runs through you and breaks when you’re not there.

    The path to that version isn’t more people or fancier tools. It’s the slow, unglamorous work of writing down why. Making the thinking portable. Building a system that holds the reasoning, not just the steps.

    The bottleneck doesn’t go away. It just stops being you.

  • The Trust Gap

    The Trust Gap

    Here’s the moment I’m talking about.

    The agent finishes. The output is sitting there. It looks right — it usually looks right — and now you have to decide whether you’re going to use it or check it first.

    That moment, that pause, is the trust gap. And if you’re running AI at any real volume, it’s the thing that’s quietly eating your time, your confidence, and sometimes your credibility.


    Most people handle it badly. I did too, for a while.

    The two failure modes are mirror images of each other. The first is reviewing everything — reading every output, checking every claim, treating the agent like an intern you don’t trust yet. This works. It catches errors. It also means the agent isn’t actually saving you time. You’ve moved the work from doing to checking, which is a trade-off that only makes sense at low volume or when the stakes are very high.

    The second failure mode is trusting everything — shipping what the agent produces without a meaningful review layer, because you’re busy and it usually looks right and you can fix things later. This also works, until it doesn’t. Bad output compounds quietly. A wrong fact in an article becomes a wrong fact that got cited. A misformatted record becomes a database full of exceptions you have to clean manually. By the time you notice, the problem is bigger than the original task.

    The thing both failure modes have in common is that they’re reactions to the trust gap rather than designs for closing it.


    The design question is different from the reaction question.

    The reaction question is: how much should I check this particular output right now?

    The design question is: what is the system that makes agent output trustworthy enough that I can scale it?

    I spent a long time asking the wrong question.


    What changed for me was thinking about trust as something that gets earned over time, not assessed in the moment.

    The system I ended up with has a name — the Promotion Ledger — and it tracks every autonomous behavior by tier. Tier A behaviors are things I always approve before they ship. Tier B behaviors are things I prepare but decide on. Tier C behaviors run on their own without me touching them.

    Nothing starts at Tier C. Everything earns its way there through seven consecutive clean days — seven days where the behavior ran, I sampled the output, and found no gate failures. If something fails a gate, it drops a tier and the clock resets.

    The clock is the key part. Trust isn’t a feeling I have about an agent in a given moment. It’s a count of consecutive clean runs. When I look at the Ledger and see that a behavior has been running cleanly for 23 days, I don’t need to review that output today. The track record is the review.


    There are three things that made this work where other approaches didn’t.

    The first is that sampled review is different from universal review. I don’t read every output. I read a percentage of outputs, randomly selected, with a defined rubric for what “good” looks like. If the sample is clean, the population is trusted. If failures cluster around a pattern, I fix the prompt and restart the clock. This scales in a way that reading everything doesn’t.

    The second is source attribution. Every agent output that contains a factual claim has to show where the claim came from. Not because I’m going to verify every citation — I’m not. But because the presence of a citation converts “is this right?” from a research task into a spot check. A trust gap you can close in five seconds is functionally not a gap.

    The third is the rubric. I have a written definition of what “good enough” looks like for each type of output — what voice match means, what coherence means, what the acceptable error rate is. Without the rubric, every review is a fresh judgment call. With it, review is comparison. Comparison is faster, more consistent, and easier to delegate.


    The thing I kept getting wrong before I had this system was trying to close the trust gap with better prompts.

    More detailed instructions. More explicit warnings. Be careful. Double-check your facts. Don’t make up numbers.

    This doesn’t work. The agent already believes it’s being careful. Adding adjectives to a prompt doesn’t change behavior — it changes the agent’s self-description of its behavior, which is not the same thing. The agent that was going to hallucinate a statistic will still hallucinate it, but now it’ll do so with more confidence because you told it to be careful and it thinks it was.

    Structural changes work. Rubrics, sampling rates, attribution requirements, tiered trust with observable clean-day counts. These change what the system produces, not just how it describes what it’s producing.


    I want to be clear that this took a while to build and I’m still refining it.

    There are behaviors on my Ledger that have been running at Tier C for months without a gate failure. There are others that keep dropping back to Tier B because they’re inconsistent in ways I haven’t fully diagnosed yet. The system doesn’t make trust automatic — it makes trust measurable.

    That’s the shift. Not “I trust this agent” as a feeling, but “this behavior has 31 clean days and a gate failure rate of zero” as a fact. You can act on a fact in a way you can’t always act on a feeling.

    The trust gap doesn’t close all at once. It closes by accumulation — one clean run at a time, tracked, until the track record speaks for itself.


    If you’re running agents at any volume and you feel like you’re either checking too much or not checking enough, you’re in the gap. The way out isn’t a better prompt. It’s a system that makes trustworthiness visible over time.

    Start with one agent. Define what “good” looks like. Sample 20% of its output for four weeks. Log what you find.

    By week four you’ll know whether you have a trust problem, a prompt problem, or a rubric problem. Those have different fixes. But you can’t see which one you have until you start measuring.

  • The Bus Factor Problem

    The Bus Factor Problem

    There’s a question I’ve been avoiding for about two years.

    What happens to all of this if something happens to me?

    Not in a morbid way. Just practically. I run 27 client sites. I have an AI stack with dozens of moving parts — Cloud Run services, scheduled jobs, Notion databases, Workers that fire on their own while I sleep. I’ve built systems that work exactly the way I want them to work, in exactly the ways I understand, documented in exactly the language that makes sense to me.

    The bus factor for this entire operation is one. It’s me. If I’m not here, none of it survives in any meaningful way.

    I’ve been sitting with that long enough that I think it’s time to say it out loud.


    The bus factor is an old software engineering concept. It asks: how many people would need to get hit by a bus before this project fails? One is the worst possible number. It means everything lives in a single person’s head — their habits, their passwords, their way of naming things, their unwritten rules about how the system works.

    Most solo operators are a bus factor of one. They know this and they don’t talk about it because it sounds like a personal failing. Like you should have hired more people, or documented better, or not let yourself become the single point of failure for something people depend on.

    But I think the honest version is more complicated than that. A lot of what makes a solo operation valuable is exactly the thing that makes it fragile: it’s shaped entirely around one person’s judgment. The reason the system works is because I know when to break the rules I wrote. I know what the edge cases are before they happen. I know which automations to trust and which ones to watch. That’s not something you write in a runbook.

    So the question isn’t just “how do I document this better.” It’s “how do I make the judgment portable without turning it into something that loses the judgment in the process.”


    I’ve been building toward an answer, in pieces, over the last several months.

    The first piece was Notion as the control plane. Everything that matters about how this operation runs lives in Notion — specs, work orders, site credentials, content pipelines, system standards, the doctrine documents that explain why things are built the way they are. If I disappeared tomorrow, someone with the right access could open that workspace and read their way into understanding the shape of the operation, even if they couldn’t run it yet.

    The second piece was the two-plane architecture — Notion for thinking and storage, GCP for compute. Every Cloud Run service, every scheduled job, every Worker is defined somewhere in Notion before it runs somewhere on GCP. The compute is durable. The logic is documented. Those are two different things, and keeping them separate means neither one is a black box.

    The third piece is the hardest and I’m the least done with it: making the judgment readable.

    I write doctrine pages. Long ones, sometimes. They explain not just what the system does but why it works that way — what the original problem was, what I tried that didn’t work, what the rule is now and what would have to be true for the rule to change. I write them mostly for myself, because I forget things. But they’re also written for the hypothetical person who has to pick this up without me.

    That hypothetical person might be a future employee. It might be a contractor. It might be an AI agent working from a context window that needs to understand the operation well enough to continue it.

    It might be my partner, trying to figure out what to do with the business side of things if I’m not around.

    That’s the version that focuses the mind.


    I don’t have this solved. I want to be clear about that.

    What I have is a direction. The direction is: every decision should live somewhere outside my head. Every system should be explainable by someone who didn’t build it. Every credential should be in the registry, every automation should have a spec, every rule should have a reason written next to it.

    It’s slow work. It runs against the instinct to just build the thing and move on. There’s always something more urgent than documentation, and “I’ll remember how this works” is almost always true right up until it isn’t.

    But I’ve started treating the documentation as part of the product. Not the boring part — the part that makes the product real. A system that only works because I’m here isn’t really a system. It’s a performance.

    The goal is to build something that could survive me. Not because I’m planning to leave, but because the work of making it survivable is also the work of making it understandable, and a system I can’t fully explain is a system I don’t fully own.


    If you’re running something like this — solo or nearly so, more complexity than your headcount would suggest — I’d ask you the same question I’ve been sitting with.

    If something happened to you tomorrow, what would survive?

    Not what you hope would survive. What actually would.

    That gap is the work.

  • The Operator’s Stack

    The Operator’s Stack

    There’s a word that’s been sitting in my head lately and I think it’s the right one.

    Not developer. Not user. Not prompt engineer — please, not that.

    Operator.


    The developer builds the system. The user benefits from it. The operator runs it.

    Operators have always existed. They’re the people who know a tool well enough to get unusual things out of it — who understand what’s possible, who can configure and connect and troubleshoot, who treat software as infrastructure rather than a product to consume. In a restaurant, the chef is the operator. In a warehouse, it’s the floor manager who actually knows where everything is and why the inventory system does what it does.

    In most software companies, the operator was assumed to be technical. You needed to code, or at least to read code, to run anything at a real level of depth. Everyone else was a user — handed a finished product, expected to stay in the designated lanes.

    That line is moving.


    Last night I deployed ten Notion Workers in three hours. Workers are Notion’s new hosted serverless platform — real code, running inside Notion’s infrastructure, no server to manage. I built a webhook endpoint that receives authenticated HTTP traffic from the internet and logs it to a Notion database. I built data sync Workers. I built scheduled jobs.

    I am not a developer.

    What I am is an operator. I know what I want the system to do. I can describe it precisely. I understand how the pieces connect even when I can’t write the connection myself. And I have Claude Code, which handles the TypeScript while I handle the architecture.

    The stack looks like this:

    Claude Code — the reasoning layer. Describe what the Worker should do in plain English. Claude Code writes the code, catches errors when you paste them back, and tells you exactly what commands to run.

    ntn CLI — the deployment layer. Four commands: scaffold, write, push secrets, deploy. Single-command deploys. You run what Claude Code tells you to run.

    Notion Workers — the execution layer. Serverless functions running on Notion’s infrastructure. They connect to external APIs, respond to webhooks, sync data, run on schedules. They do the work while you do something else.

    That’s it. Three layers. None of them require you to be a developer to operate.


    The operator’s job in this stack is not to write code. It’s to know what should exist.

    That sounds simple. It isn’t. Knowing what should exist means understanding your own operations well enough to identify where the friction is, what’s being done by hand that shouldn’t be, what would run better automatically. It means being able to describe a system clearly enough that an AI coding agent can build it. It means reviewing what gets built and knowing whether it’s right.

    That’s real skill. It’s just not the skill most people thought they needed.

    For years the implicit message was: if you can’t build it, you can’t have it. The work of describing exactly what you want, of thinking through the logic, of understanding how systems connect — that work was treated as a prerequisite for coding, not a valuable thing in its own right.

    Now it’s the job.


    I’m not going to tell you the technical barrier is gone. It isn’t. You still hit errors. You still have to read them and understand them well enough to know if Claude Code’s fix makes sense. You still have to think before you build.

    But the barrier has moved. The question is no longer “can you write TypeScript” — it’s “can you think clearly about what you want and describe it precisely.”

    Most people reading this can do that. They’ve been able to do that. They were just told, implicitly or explicitly, that it wasn’t enough.

    It’s enough now.


    The Notion Workers beta is free through August 11, 2026. The ntn CLI installs in one line on macOS or Linux. Deploying Workers requires a Business or Enterprise plan. If you’ve been running your operations in Notion and watching things like Workers from the sidelines because you figured it was for developers: it’s for operators too. You might already be one.

  • 10 Notion Workers in 3 Hours: What Happens When Claude Code Does the Typing

    10 Notion Workers in 3 Hours: What Happens When Claude Code Does the Typing

    Notion shipped Workers on May 13, 2026. By last night I had ten of them running in production, including a live HMAC-verified webhook endpoint that’s actively logging events. Total build time: about three hours.

    I didn’t write TypeScript by hand. Claude Code did most of the typing.

    Here’s what that actually looked like — and what it means for the non-developer Notion power user who’s been watching the Workers announcement and wondering if it’s for them.

    What are Notion Workers? Notion Workers are hosted serverless functions that run inside Notion’s infrastructure. You write code, deploy it through the ntn CLI, and Notion runs it in a secure sandbox — no server to manage. They’re free through August 11, 2026, then run on Notion credits. Deploying Workers requires a Business or Enterprise plan.

    What Notion Workers Actually Are (The One-Paragraph Version)

    If you’ve used Notion’s built-in database automations — the lightning bolt icon — Workers are that concept extended to real code. They can call any external API, respond to webhooks, sync data from Stripe or Zendesk or GitHub, and write results back to Notion databases. The CLI (ntn) is available on all plans. Deploying Workers requires Business or Enterprise.

    Do You Need to Know TypeScript to Build Notion Workers?

    Technically, Workers are written in TypeScript. Practically, if you have Claude Code, the answer is no.

    Claude Code (currently at v2.1.144 as of May 19, 2026) scaffolds Workers from plain-English descriptions. You describe what the Worker should do. Claude Code writes the src/index.ts, handles the ntn workers env push for secrets, and tells you exactly what commands to run. You copy the command. The Worker deploys.

    The workflow looks like this:

    1. ntn workers new my-worker-name — scaffold the project
    2. Tell Claude Code what the Worker should do
    3. Claude Code writes src/index.ts
    4. ntn workers env push — push any secrets (API tokens, webhook keys)
    5. ntn workers deploy --name my-worker-name — ship it

    That’s it. The only thing you actually type is the deploy commands. Claude Code fills in the gap between them.

    What We Built in 3 Hours

    Ten Workers, averaging about 18 minutes each, including two dead-ends that took 5–8 minutes to diagnose and abandon.

    The most useful one is Worker #8: an HMAC-verified webhook logger. Any external service — GitHub, Stripe, a cron trigger, another Claude Code session — can POST to the Worker’s endpoint with a shared secret, and it auto-appends a timestamped line to a Notion log page. The webhook log shows its first self-test ping from Claude Code at 02:54 UTC:

    🔔 2026-05-21T02:54:44.452Z [claude-test:test] {"event":"test","message":"Hello from Worker #8 self-test","sender":"claude-code"}

    That’s a live, verifiable event log. Not a draft. Not a mock. A deployed Worker receiving authenticated HTTP traffic and writing to Notion.

    The ntn workers env push command works cleanly for both NOTION_API_TOKEN and non-Notion secrets like TYGART_WP_USER and WEBHOOK_SECRET — one of the key things we needed to confirm before trusting the stack at scale.

    The Design Principle That Makes This Actually Work

    The best insight from Notion’s Workers documentation: use code for deterministic work, use AI for judgment calls.

    A Worker that pulls invoice status from Stripe and updates a Notion database doesn’t need AI. It needs reliable, cheap code execution. That’s what Workers give you. A Claude Sonnet 4.6 (claude-sonnet-4-6) or Opus 4.7 (claude-opus-4-7) agent that reads those Notion rows and drafts follow-up emails is handling the judgment call. Those are two different tools for two different jobs.

    When you collapse that distinction — letting AI do everything — you pay AI prices for work that shouldn’t require AI reasoning. Workers run at a fraction of the cost of AI credits. Notion’s own example calculations put a daily sync job at roughly one cent per month. The AI layer sits on top for the parts that actually need it.

    This is the architecture: Workers handle the plumbing. Claude handles the reasoning. You stop paying Opus rates for jobs a ten-line TypeScript function can do.

    The Part Nobody Else Is Writing About

    Every guide covering Notion Workers frames it as a solo-developer workflow. You sit down, you know TypeScript, you build a Worker over an afternoon.

    That’s not how this went.

    Claude Code is listed in Notion’s own documentation as a first-class deployment partner for Workers. The ntn CLI was explicitly designed to work with coding agents — same interface for humans and agents. When you treat Claude Code as the author and yourself as the operator running the commands it outputs, you get through ten Workers in a session that most developers would take a week to plan.

    The non-developer angle is real. If you run Notion as your operating system — databases, automations, dashboards — and you’ve been watching the Workers announcement wondering whether it requires a CS degree, the answer in May 2026 is: not if you have Claude Code. The scaffolding is a one-line command. The deployment is a one-line command. Claude Code fills in the gap between them.

    Three Things to Know Before You Start

    Business or Enterprise plan required to deploy. The CLI (ntn) installs on any plan and runs free. Deploying Workers needs Business or Enterprise. Check your plan before you spend an afternoon scaffolding.

    macOS and Linux only as of May 2026. Windows users need WSL2. Native Windows support is listed as coming soon. If you’re on Windows without WSL2, that’s your first step.

    Free through August 11, 2026. After that, Workers run on Notion credits. Build and optimize now while the cost is zero. The free period gives you enough runway to understand your actual usage patterns before you’re paying for them.

    Frequently Asked Questions

    What is the Notion Workers free period?

    Notion Workers are free to try during the beta period, which runs through August 11, 2026. After that date, Workers will run on Notion credits. The free period is a good window to build, test, and optimize your Workers before metered usage begins.

    Can non-developers build Notion Workers?

    Yes, if you have an AI coding agent like Claude Code. Workers are written in TypeScript, but Claude Code can generate the Worker code from a plain-English description. You run the scaffold and deploy commands; Claude Code writes the code. No prior TypeScript knowledge required.

    What Notion plan do you need for Workers?

    The ntn CLI is available on all Notion plans. Deploying and managing Workers requires a Business or Enterprise plan.

    How does Claude Code work with Notion Workers?

    Claude Code (v2.1.144 as of May 2026) integrates directly with the ntn CLI. Notion designed the CLI as a tool for both humans and coding agents — same interface, same commands. Claude Code scaffolds the Worker TypeScript, sets environment variables, and outputs the exact deploy commands to run.

    What can Notion Workers do?

    Workers can call any external API, respond to incoming webhooks (with HMAC verification), sync data between external services and Notion databases, run scheduled tasks, and execute custom business logic. Common use cases include syncing Stripe payments, Zendesk tickets, GitHub issues, or any service with an API into Notion.

    Is the ntn CLI available on Windows?

    As of May 2026, the ntn CLI is available on macOS and Linux. Windows support is listed as coming soon. Windows users can use WSL2 in the meantime.

    The Bottom Line

    Ten Workers. Three hours. A verified webhook endpoint logging live traffic. Claude Code did the TypeScript. The ntn CLI did the deployment. Notion’s infrastructure handled everything else.

    The question isn’t whether Notion Workers are for developers. The question is whether you have a coding agent. If you do, the friction is gone.

  • Cortex, Hippocampus, and the Consolidation Loop: The Neuroscience-Grounded Architecture for AI-Native Workspaces

    Cortex, Hippocampus, and the Consolidation Loop: The Neuroscience-Grounded Architecture for AI-Native Workspaces

    I have been running a working second brain for long enough to have stopped thinking of it as a second brain.

    I have come to think of it as an actual brain. Not metaphorically. Architecturally. The pattern that emerged in my workspace over the last year — without me intending it, without me planning it, without me reading a single neuroscience paper about it — is structurally isomorphic to how the human brain manages memory. When I finally noticed the pattern, I stopped fighting it and started naming the parts correctly, and the system got dramatically more coherent.

    This article names the parts. It is the architecture I actually run, reported honestly, with the neuroscience analogy that made it click and the specific choices that make it work. It is not the version most operators build. Most operators build archives. This is closer to a living system.

    The pattern has three components: a cortex, a hippocampus, and a consolidation loop that moves signal between them. Name them that way and the design decisions start falling into place almost automatically. Fight the analogy and you will spend years tuning a system that never quite feels right because you are solving the wrong problem.

    I am going to describe each part in operator detail, explain why the analogy is load-bearing rather than decorative, and then give you the honest version of what it takes to run this for real — including the parts that do not work and the parts that took me months to get right.


    Why most second brains feel broken

    Before the architecture, the diagnosis.

    Most operators who have built a second brain in the personal-knowledge-management tradition report, eventually, that it does not feel right. They can not put words to exactly what is wrong. The system holds their notes. The search mostly works. The tagging is reasonable. But the system does not feel alive. It feels like a filing cabinet they are pretending is a collaborator.

    The reason is that the architecture they built is missing one of the three parts. Usually two.

    A classical second brain — the library-shaped archive built around capture, organize, distill, express — is a cortex without a hippocampus and without a consolidation loop. It is a place where information lives. It is not a system that moves information through stages of processing until it becomes durable knowledge. The absence of the other two parts is exactly why the system feels inert. Nothing is happening in there when you are not actively working in it. That is the feeling.

    An archive optimized for retrieval is not a brain. It is a library. Libraries are excellent. You can use a library to do good work. But a library is not the thing you want to be trying to replicate when you are trying to build an AI-native operating layer for a real business, because the operating layer needs to process information, not just hold it, and archives do not process.

    This diagnosis was the move that let me stop tuning my system and start re-architecting it. The system was not bad. The system was incomplete. It had one of the three parts built beautifully. It had the other two parts either missing or misfiled.


    Part one: the cortex

    In neuroscience, the cerebral cortex is the outer layer of the brain responsible for structured, conscious, working memory. It is where you hold what you are actively thinking about. It is not where everything you have ever known lives — that is deeper, and most of it is not available to conscious access at any given moment. The cortex is the working surface.

    In an AI-native workspace, your knowledge workspace is the cortex. For me, that is Notion. For other operators, it might be Obsidian, Roam, Coda, or something else. The specific tool is less important than the role: this is where structured, human-readable, conscious memory lives. It is where you open your laptop and see the state of the business. It is where you write down what you have decided. It is where active projects live and active clients are tracked and active thoughts get captured in a form you and an AI teammate can both read.

    The cortex has specific design properties that differ from the other two parts.

    It is human-readable first. Everything in the cortex is structured for you to look at. Pages have titles that make sense. Databases have columns that answer real questions. The architecture rewards a human walking through it. Optimize for legibility.

    It is relatively small. Not everything you have ever encountered lives in the cortex. It is the active working surface. In a human brain, the cortex holds at most a few thousand things at conscious access. In an AI-native workspace, your cortex probably wants to hold a few hundred to a few thousand pages — the active projects, the recent decisions, the current state. If it grows to tens of thousands of pages with everything you have ever saved, it is trying to do the hippocampus’s job badly.

    It is organized around operational objects, not knowledge topics. Projects, clients, decisions, deliverables, open loops. These are the real entities of running a business. The cortex is organized around them because that is what the conscious, working layer of your business is actually about.

    It is updated constantly. The cortex is where changes happen. A new decision. A status flip. A note from a call. The consolidation loop will pull things out of the cortex later and deposit them into the hippocampus, but the cortex itself is a churning working surface.

    If you have been building a second brain the classical way, this is probably the part you built best. You have a knowledge workspace. You have pages. You have databases. You have some organizing logic. Good. That is the cortex. Keep it. Do not confuse it for the whole brain.


    Part two: the hippocampus

    In neuroscience, the hippocampus is the structure that converts short-term working memory into long-term durable memory. It is the consolidation organ. When you remember something from last year, the path that memory took from your first experience of it into your long-term storage went through the hippocampus. Sleep plays a large role in this. Dreams may play a role. The mechanism is not entirely understood, but the function is: short-term becomes long-term through hippocampal processing.

    In an AI-native workspace, your durable knowledge layer is the hippocampus. For me, that is a cloud storage and database tier — a bucket of durable files, a data warehouse holding structured knowledge chunks with embeddings, and the services that write into it. For other operators it might be a different stack: a structured database, an embeddings store, a document warehouse. The specific tool is less important than the role: this is where information lives when it has been consolidated out of the cortex and into a durable form that can be queried at scale without loading the cortex.

    The hippocampus has different design properties than the cortex.

    It is machine-readable first. Everything in the hippocampus is structured for programmatic access. Embeddings. Structured records. Queryable fields. Schemas that enable AI and other services to reason across the whole corpus. Humans can access it too, but the primary consumer is a machine.

    It is large and growing. Unlike the cortex, the hippocampus is allowed to get big. Years of knowledge. Thousands or tens of thousands of structured records. The archive layer that the classical second brain wanted to be — but done correctly, as a queryable substrate rather than a navigable library.

    It is organized around semantic content, not operational state. Chunks of knowledge tagged with source, date, embedding, confidence, provenance. The operational state lives in the cortex; the semantic content lives in the hippocampus. This is the distinction most operators get wrong when they try to make their cortex also be their hippocampus.

    It is updated deliberately. The hippocampus does not change every minute. It changes on the cadence of the consolidation loop — which might be hourly, nightly, or weekly depending on your rhythm. This is a feature. The hippocampus is meant to be stable. Things in it have earned their place by surviving the consolidation process.

    Most operators do not have a hippocampus. They have a cortex that they keep stuffing with old information in the hope that the cortex can play both roles. It cannot. The cortex is not shaped for long-term queryable semantic storage; the hippocampus is not shaped for active operational state. Merging them is the architectural choice that makes systems feel broken.


    Part three: the consolidation loop

    In neuroscience, the process by which information moves from short-term working memory through the hippocampus into long-term storage is called memory consolidation. It happens constantly. It happens especially during sleep. It is not a single event; it is an ongoing loop that strengthens some memories, prunes others, and deposits the survivors into durable form.

    In an AI-native workspace, the consolidation loop is the set of pipelines, scheduled jobs, and agents that move signal from the cortex through processing into the hippocampus. This is the part most operators miss entirely, because the classical second brain paradigm does not include it. Capture, organize, distill, express — none of those stages are consolidation. They are all cortex-layer activities. The consolidation loop is what happens after that, to move the durable outputs into durable storage.

    The consolidation loop has its own design properties.

    It runs on a schedule, not on demand. This is the most important design choice. The consolidation loop should not be triggered by you manually pushing a button. It should run on a cadence — nightly, weekly, or whatever fits your rhythm — and do its work whether you are paying attention or not. Consolidation is background work. If it requires attention, it will not happen.

    It processes rather than moves. Consolidation is not a file-copy operation. It extracts, structures, summarizes, deduplicates, tags, embeds, and stores. The raw cortex content is not what ends up in the hippocampus; the processed, structured, queryable version is. This is the part that requires actual engineering work and is why most operators do not build it.

    It runs in both directions. Consolidation pushes signal from cortex to hippocampus. But once information is in the hippocampus, the consolidation loop also pulls it back into the cortex when it is relevant to current work. A canonical topic gets routed back to a Focus Room. A similar decision from six months ago gets surfaced on the daily brief. A pattern across past projects gets summarized into a new playbook. The loop is bidirectional because the brain is bidirectional.

    It has honest failure modes and health signals. A consolidation loop that is not working is worse than no loop at all, because it produces false confidence that information is getting consolidated when actually it is rotting somewhere between stages. You need visible health signals — how many items were consolidated in the last cycle, how many failed, what is stale, what is duplicated, what needs human attention. Without these, you do not know whether the loop is running or pretending to run.

    When I got the consolidation loop working, the cortex and hippocampus started feeling like a single system for the first time. Before that, they were two disconnected tools. The loop is what turns them into a brain.


    The topology, in one diagram

    If I were drawing the architecture for an operator who is considering building this, it would look roughly like this — and it does not matter which specific tools you use; the shape is what matters.

    Input streams flow in from the things that generate signal in your working life. Claude conversations where decisions got made. Meeting transcripts and voice notes. Client work and site operations. Reading and research. Personal incidents and insights that emerged mid-day.

    Those streams enter the consolidation loop first, not the cortex directly. The loop is a set of services that extract structured signal from raw input — a claude session extractor that reads a conversation and writes structured notes, a deep extractor that processes workspace pages, a session log pipeline that consolidates operational events. These run on schedule, produce structured JSON outputs, and route the outputs to the right destinations.

    From the consolidation loop, consolidated content lands in the cortex. New pages get created for active projects. Existing pages get updated with relevant new information. Canonical topics get routed to their right pages. This is how your working surface stays fresh without you having to manually copy things into it.

    The cortex and hippocampus exchange signal bidirectionally. The cortex sends completed operational state — finished projects, finalized decisions, archived work — down to the hippocampus for durable storage. The hippocampus sends back canonical topics, cross-references, and AI-accessible content when the cortex needs them. This bidirectional exchange is the part that most closely mirrors how neuroscience describes memory consolidation.

    Finally, output flows from the cortex to the places your work actually lands — published articles, client deliverables, social content, SOPs, operational rhythms. The cortex is also the execution layer I have written about before. That is not a contradiction with the cortex-as-conscious-memory framing; in a human brain, the cortex is both the working memory and the source of deliberate action. The analogy holds.


    The four-model convergence

    I want to pause and tell you something I did not know until I ran an experiment.

    A few weeks ago I gave four external AI models read access to my workspace and asked each one to tell me what was unique about it. I used four models from different vendors, deliberately, to catch blind spots from any single system.

    All four models converged on the same primary diagnosis. They did not agree on much else — their unique observations diverged significantly — but on the core architecture, they converged. The diagnosis, in their words translated into mine, was:

    The workspace is an execution layer, not an archive. The entries are system artifacts — decisions, protocols, cockpit patterns, quality gates, batch runs — that convert messy work into reusable machinery. The purpose is not to preserve thought. The purpose is to operate thought.

    This was the validation of the thesis I have been developing across this body of work, from an unexpected source. Four models, evaluated independently, landed on the same architectural observation. That was the moment I knew the cortex / hippocampus / consolidation-loop framing was not just mine — it was visible from the outside, to cold readers, as the defining feature of the system.

    I bring this up not to show off but to tell you that if you build this pattern correctly, external observers — human or AI — will be able to see it. The architecture is not a private aesthetic. It is a thing a well-designed system visibly is.


    Provenance: the fourth idea that makes the whole thing work

    There is a fourth component that I want to name even though it does not have a neuroscience analog as cleanly as the other three. It is the concept of provenance.

    Most second brain systems — and most RAG systems, and most retrieval-augmented AI setups — treat all knowledge chunks as equally weighted. A hand-written personal insight and a scraped web article are the same to the retrieval layer. A single-source claim and a multi-source verified fact carry the same weight. This is an enormous problem that almost nobody talks about.

    Provenance is the dimension that fixes it. Every chunk of knowledge in your hippocampus should carry not just what it means (the embedding) and where it sits semantically, but where it came from, how many sources converged on it, who wrote it, when it was verified, and how confident the system is in it. With provenance, a hand-written insight from an expert outweighs a scraped article from a low-quality source. With provenance, a multi-source claim outweighs a single-source one. With provenance, a fresh verified fact outweighs a stale unverified one.

    Without provenance, your second brain will eventually feed your AI teammate garbage from the hippocampus and your AI will confidently regurgitate it in responses. With provenance, your AI teammate knows what it can trust and what it cannot.

    Provenance is the architectural choice that separates a second brain that makes you smarter from one that quietly makes you stupider over time. Add it to your hippocampus schema. Weight every chunk. Let the retrieval layer respect the weights.


    The health layer: how you know the brain is working

    A brain that is working produces signals you can read. A brain that is broken produces silence, or worse, false confidence.

    I build in explicit health signals for each of the three components. The cortex is healthy when it is fresh, when pages are recently updated, when active projects have recent activity, and when stale pages are archived rather than accumulating. The hippocampus is healthy when the consolidation loop is running on schedule, when the corpus is growing without duplication, and when retrieval returns relevant results. The consolidation loop is healthy when its scheduled runs succeed, when its outputs are being produced, and when the error rate is low.

    I also track staleness — pages that have not been updated in too long, relative to how load-bearing they are. A canonical document more than thirty days stale is treated as a risk signal, because the reality it documents has almost certainly drifted from what the page describes. Staleness is not the same as unused; some pages are quietly load-bearing and need regular refreshes. A staleness heatmap across the workspace tells you which pages are most at risk of drifting out of reality.

    The health layer is the thing that lets you trust the system without having to re-check it constantly. A brain you cannot see the health of is a brain you will eventually stop trusting. A brain whose health is visible is one you can keep leaning on.


    What this costs to build

    I want to be honest about what actually getting this working takes. Not because it is prohibitive, but because the classical second-brain literature underestimates it and operators get blindsided.

    The cortex is the easy part. Any capable workspace tool, a few weeks of deliberate organization, and a commitment to keeping it small and operational. Cost: low. Most operators have some version of this already.

    The hippocampus is harder. You need durable storage. You need an embeddings layer. You need schemas that capture provenance and not just content. For a solo operator without technical capability, this is a real build project — probably a few weeks to months of focused work or a partnership with someone technical. It is also the part that, once built, becomes genuinely durable infrastructure.

    The consolidation loop is hardest. Because the loop is a set of services that extract, process, structure, and route, it is the most engineering-intensive part. This is where most operators stall. The solve is either to use tools that ship consolidation-like capabilities natively (Notion’s AI features are approximately this), or to build a small set of extractors and pipelines yourself with Claude Code or equivalent. For me, the loop took months of iteration to run reliably. It is now the highest-leverage part of the whole system.

    Total cost for an operator with moderate technical capability: a few months of evenings and weekends, some cloud infrastructure spend, and an ongoing maintenance commitment of maybe eight to ten percent of working hours. In exchange, you get an operating system that compounds with use rather than decaying.

    For operators who do not want to build the hippocampus and loop themselves, the vendor-shaped version of this architecture is starting to become available in 2026 — Notion’s Custom Agents edge toward a consolidation loop, Notion’s AI offers hippocampus-like capability at small scale, and various startups are working on the layers. None are complete yet. Most operators serious about this will need to build some of it.


    What goes wrong (the honest failure modes)

    Three failure modes are worth naming, because I have hit all three and the pattern recovered only because I caught them.

    The cortex that tries to be the hippocampus. Operators who get serious about a second brain often try to put everything in the cortex — every article they have ever read, every transcript of every meeting, every bit of research. The cortex then gets too big to be legible, starts running slowly, and the search stops returning useful results. The fix is to build the hippocampus separately and move the bulk of the corpus there. The cortex should be small.

    The hippocampus that gets polluted. Without provenance weighting and without deduplication, the hippocampus accumulates low-quality content that then gets retrieved and surfaced in AI responses. The fix is provenance, deduplication, and periodic hippocampal pruning. The archive is not sacred; some things earn their place and some things do not.

    The consolidation loop that nobody maintains. The loop is background infrastructure. Background infrastructure rots if nobody owns it. A consolidation loop that was working six months ago might be quietly broken today, and you only notice because your cortex is drifting out of sync with your operational reality. The fix is health signals, monitoring, and a weekly ritual of checking that the loop is running.

    None of these are dealbreakers. All of them are things the pattern has to work around.


    The one sentence I want you to walk away with

    If you take nothing else from this piece:

    A second brain is not a library. It is a brain. Build it with the three parts — cortex, hippocampus, consolidation loop — and it will behave like one.

    Most operators have built the cortex and called it a second brain. They have a library with the sign out front updated. The system feels broken because it is not a brain yet. Build the other two parts and the system stops feeling broken.

    If you can only add one part this month, add the consolidation loop, because the loop is the thing that makes everything else work together. A cortex without a loop is still a library. A cortex with a loop but no hippocampus is a library whose books walk into the back room and disappear. A cortex with a loop and a hippocampus is a brain.


    FAQ

    Is this just a metaphor, or does the neuroscience actually apply?

    It is a metaphor at the level of mechanism — the way neurons consolidate memories is not identical to the way a scheduled pipeline does. But the functional role of each component maps cleanly enough that the analogy is load-bearing rather than decorative. Where the architecture borrows from neuroscience, it inherits genuine design principles that compound the system’s coherence.

    Do I need all three parts to benefit?

    No. A well-built cortex alone is better than no system. A cortex plus a consolidation loop is significantly more powerful. Add the hippocampus when you have enough volume to justify it — usually once your cortex starts straining under its own weight, somewhere in the low thousands of pages.

    Which tool should I use for the cortex?

    The tool is less important than how you organize it. Notion is what I use and what I recommend for most operators because its database-and-template orientation maps cleanly to object-oriented operational state. Obsidian and Roam are better for pure knowledge work but weaker for operational state. Coda is similar to Notion. Pick the one whose grain matches how your brain already organizes work.

    Which tool should I use for the hippocampus?

    Any durable storage that supports embeddings. Cloud object storage plus a vector database. A cloud data warehouse like BigQuery or Snowflake if you want structured queries alongside semantic search. Managed services like Pinecone or Weaviate for pure vector workloads. The decision depends on what else you are running in your cloud environment and how technical you are.

    How do I actually build the consolidation loop?

    For operators with technical capability, a combination of Claude Code, scheduled cloud functions, and a few targeted extractors will get you there. For operators without technical capability, Notion’s built-in AI features approximate parts of the loop. For true coverage, you will eventually either need technical help or to wait for the vendor-shaped version to mature.

    Does this mean I need to rebuild my whole system?

    Not necessarily. If your existing workspace is serving as a cortex, keep it. Add a hippocampus as a separate layer underneath it. Build the consolidation loop between them. The cortex does not have to be rebuilt for the pattern to work; it has to be complemented.

    What if I just want a simpler version?

    A simpler version is fine. A cortex plus a lightweight consolidation loop that runs once a week is already far better than what most operators have. Do not let the fully-built pattern be the enemy of the partially-built version that still earns its place.


    Closing note

    The thing I want to convey in this piece more than anything else is that the architecture revealed itself to me over time. I did not sit down and design it. I built pieces, noticed they were not enough, built more pieces, noticed something was still missing, and eventually the neuroscience analogy clicked and the three-part structure became obvious.

    If you are building a second brain and it does not feel right, you are probably missing one or two of the three parts. Find them. Name them. Build them. The system starts feeling like a brain when it actually has the parts of a brain, and not before.

    This is the longest-running architectural idea in my workspace. I have been iterating on it for over a year. The version in this article is the one I would give a serious operator who was willing to do the work. It is not a quick start. It is an operating system.

    Run it if the shape fits you. Adapt it if some of the parts translate better to a different context. Reject it if you honestly think your current pattern works better. But if you are in the large middle ground where your system kind of works and kind of does not, the missing part is usually the hippocampus, the consolidation loop, or both.

    Go find them. Name them. Build them. Let your second brain actually be a brain.


    Sources and further reading

    Related pieces from this body of work:

    On the external validation: the cross-model convergent analysis referenced in this article was conducted using multiple frontier models evaluating workspace structure independently. The finding that the workspace behaves as an execution layer rather than an archive was independently surfaced by all evaluated models, which I took as meaningful corroboration of the internal architectural thesis.

    The neuroscience analogy is drawn from standard memory-consolidation literature, particularly work on hippocampal consolidation during sleep and the role of the cortex in conscious working memory. This article does not attempt to make rigorous claims about neuroscience; it borrows the functional analogy where the analogy is useful and drops it where it is not.

  • Archive vs Execution Layer: The Second Brain Mistake Most Operators Make

    Archive vs Execution Layer: The Second Brain Mistake Most Operators Make

    I owe Tiago Forte a thank-you note. His book and the frame he popularized saved a lot of people — including a younger version of me — from living entirely inside their email inbox. The second brain concept was the right idea for the era it emerged in. It taught a generation of knowledge workers that their thinking deserved a system, that notes were worth taking seriously, that personal knowledge management was a discipline and not a character flaw.

    But the era changed.

    Most operators still building second brains in April 2026 are investing in the wrong thing. Not because the second brain was ever a bad idea, but because the goal it was built around — archive your knowledge so you can retrieve it later — has been quietly eclipsed by a different goal that the same operators actually need. They haven’t noticed the eclipse yet, so they’re spending evenings tagging notes and building elaborate retrieval systems while the job underneath them has shifted.

    This article is about the shift. What the second brain was for, what it isn’t for anymore, and what it should be replaced with — or rather, what it should be promoted to, because the new goal isn’t the opposite of the second brain; it’s the next version.

    I’m going to use a single distinction that has saved me more architecture mistakes than any other in the last year: archive versus execution layer. Once you can tell them apart, most of the confusion about knowledge systems resolves itself.


    What the second brain actually was (and why it worked)

    Before the critique, credit where credit is due.

    The second brain frame, as Tiago Forte articulated it starting around 2019 and formalized in his 2022 book, was a response to a specific problem. Knowledge workers were drowning in information — articles to read, books to remember, meetings to process, ideas to capture. The brain, the original one, is not great at holding all of that. Things slipped. Valuable thinking got lost. The second brain proposed a systematic external memory: capture widely, organize intentionally (the PARA method — Projects, Areas, Resources, Archives), distill progressively, express creatively.

    It worked because it named the problem correctly. For someone whose job required integrating lots of information into creative output — writers, researchers, analysts, knowledge workers — the capture-organize-distill-express loop produced real leverage. Over 25,000 people took the course. The book was a bestseller. An entire productivity-content ecosystem grew up around it. Notion became popular partly because it was a good place to build a second brain. Obsidian and Roam Research exploded for the same reason.

    I want to be unambiguous: the second brain frame was a good idea, correctly articulated, in the right moment. If you built one between 2019 and 2023 and it served you, it served you. You weren’t wrong to do it.

    You just might be wrong to still be doing it the same way in 2026.


    The thing that quietly changed

    Here’s what shifted between the era the second brain frame emerged and now.

    In 2019, the bottleneck was retrieval. If you had captured a piece of information — an article, a quote, an insight — the question was whether you could find it again when you needed it. Your system had to help the future-you pull the right thing out of the archive at the right time. Tagging mattered. Folder structure mattered. Search mattered. The whole architecture was designed to solve the retrieval bottleneck.

    In 2026, retrieval is no longer a meaningful bottleneck. Claude can read your entire workspace in seconds. Notion’s AI can search across everything you’ve ever put in the system. Semantic search finds things your tagging couldn’t. If you captured it, you can find it — without ever having to think about where you put it or what you called it.

    The retrieval problem got solved.

    So now the question is: what is the knowledge system actually for?

    If its job was to help you retrieve things, and retrieval is a solved problem, then the whole architecture of a second brain — the capture discipline, the PARA hierarchy, the progressive summarization — is solving a problem that is no longer the binding constraint on your productivity.

    The new bottleneck, the one that actually determines whether an operator ships meaningful work, is not retrieval. It’s execution. Can you actually act on what you know? Can your system not just surface information but drive action? Can the thing you built help you run the operation, not just remember it?

    That’s a different job. And a system optimized for the first job is not automatically good at the second job. In fact, it’s often actively bad at it.


    Archive vs execution layer: the distinction

    Let me name the distinction clearly, because the whole article depends on it.

    An archive is a system whose primary job is to hold information faithfully so that it can be retrieved later. Libraries are archives. Filing cabinets are archives. A well-organized Google Drive is an archive. A second brain, in its classical formulation, is an archive — a carefully indexed personal library of captured thought.

    An execution layer is a system whose primary job is to drive the work actually happening right now. It holds the state of what’s in flight, what’s decided, what’s next. It surfaces what matters for current action. It interfaces with the humans and AI teammates who are doing the work. An operations console is an execution layer. A well-designed ticketing system is an execution layer. A Notion workspace set up as a control plane (which I’ve written about elsewhere in this body of work) is an execution layer.

    Both have their place. They are not competing for the same real estate. You need some archive capability — legal records, signed contracts, historical decisions worth preserving. You need some execution layer — for the actual work in motion.

    The mistake most operators make in 2026 is treating their entire knowledge system like an archive, when their bottleneck has become execution. They pour energy into capture, organization, and retrieval. They get very little back because those activities no longer compound into leverage the way they used to. Meanwhile, their execution layer — the thing that would actually move their work forward — is underbuilt, undertooled, and starved of attention.

    The shift isn’t abandoning archiving. It’s recognizing that archiving is now the boring, solved utility layer underneath, and the real system design question is about the execution layer above it.


    Why the second brain architecture actively gets in the way

    This is the part that’s going to be uncomfortable for some readers, and I want to name it directly.

    The classical second-brain architecture doesn’t just fail to produce leverage for operators. It actively fights against what you actually need your system to do.

    Capture everything becomes capture too much. The core discipline of a second brain is wide capture — save anything that might be useful, sort it out later. In a retrieval-bound world this was fine because the downside of over-capture was only disk space. In an AI-read world, over-capture has a new cost: the AI you’ve wired into your workspace now has to reason across a corpus full of things you shouldn’t have saved. Old half-formed ideas. Articles that turned out not to matter. Drafts of thinking you would never let see daylight. Your AI teammate is seeing all of it, weighting it in responses, occasionally surfacing it in ways that are embarrassing.

    PARA optimizes for archive navigation, not current action. Projects, Areas, Resources, Archives. It’s a taxonomy for finding things. A taxonomy for doing things looks different: what’s active, what’s on deck, what’s blocked, what’s decided, what’s watching. Many people’s PARA systems silently morph into graveyards where active projects die because the structure doesn’t surface them — it files them.

    Progressive summarization trains the wrong reflex. The Forte method of progressively bolding, highlighting, and distilling notes is brilliant for a future-retrieval world. The reflex it trains — “I’ll process this later, the value is in the distillation” — is poisonous for an execution world. The value now is in doing the work, not in preparing the notes for the work.

    The system becomes the job. The most common failure mode I’ve watched play out is operators who spend more time tending their second brain than they spend on actual output. Tagging. Reorganizing. Restructuring their PARA hierarchy for the fourth time this year. The second brain becomes a hobby that feels productive because it’s complicated, but produces nothing the world actually sees. This has always been a risk of personal knowledge management, but it compounds dramatically in 2026 because the system-tending is now competing with a different, higher-leverage use of the same time: building the execution layer.

    I am not saying these failure modes are inherent to Tiago’s teaching. He’s explicit that the system should serve the work, not become the work. But the architecture makes the wrong path easier than the right one, and a lot of practitioners take it.


    What an execution layer actually looks like

    If you’ve followed the rest of my writing this month, you’ve seen pieces of it. Let me name it directly now.

    An execution layer is a workspace organized around the actual objects of your business — projects, clients, decisions, open loops, deliverables — rather than around categories of knowledge. Each object has a status, an owner, a next action, and a surface where it lives. The system exists to drive those objects forward, not to hold them for contemplation.

    A functioning execution layer has:

    A Control Center. One page you open first every working day that surfaces the live state — what’s on fire, what’s moving, what needs your call. Not a dashboard in the BI sense. A living summary updated continuously, readable in ninety seconds.

    An object-oriented database spine. Projects, Tasks, Decisions, People (external), Deliverables, Open Loops. Each one a real operational entity. Each one with a clear status taxonomy. Each one answerable to the question “what changed recently and what does that mean I should do?”

    Rhythms embedded in the system itself. A daily brief that writes itself. A weekly review that drafts itself. A triage that sorts itself. The system does the operational rhythm work so the human can do the judgment work.

    A small, deliberate archive underneath. Yes, you still need to preserve some things. Completed project records. Signed contracts. Important decisions for the historical record. But the archive is the sub-basement of the execution layer, not the whole building. You visit it occasionally. You don’t live there.

    Wired-in intelligence. Claude, Notion AI, or whatever intelligence layer you’ve chosen, reading from and writing to the execution layer so it can actually participate in the work rather than just answering questions about your notes.

    Compare that to what a classical second brain prioritizes — capture discipline, PARA hierarchy, progressive summarization — and you can see the difference immediately. The second brain is a library. The execution layer is a workshop.

    Operators need workshops, not libraries. Libraries are lovely. Workshops get things built.


    The migration path (how to change without blowing up what you have)

    If this article has landed and you’re looking at your own carefully-built second brain and realizing it’s mostly an archive, here’s how I’d approach the transition. I’ve done this in my own system, so this isn’t theoretical.

    Don’t delete anything yet. The worst move is to blow up the existing structure and rebuild from scratch. You have years of context in there. You’ll lose some of it even if you try to be careful. The right move is a layered transition, where you build the execution layer above the archive while leaving the archive intact underneath.

    Build the Control Center first. Before you touch any existing content, create the new anchor. One page. Two screens long. Links to the databases you actually work from. Live state at the top. This is the new front door to your workspace.

    Identify the active objects. What are you actually working on? Which clients, projects, deliverables, decisions? Make clean new databases for those, separate from whatever PARA folders you’ve accumulated. Move live work into those new databases. Let dead work stay in the archive where it already is.

    Install one rhythm agent. Pick the one operational rhythm that costs you the most attention — usually the morning context-gathering. Build a Custom Agent that handles it. See what it changes. Add another agent only after the first one is actually working.

    Gradually migrate what matters, archive what doesn’t. Over time, anything in your old second-brain structure that you actually reference will reveal itself by showing up in searches and references. Move those into the execution layer. Anything that doesn’t come up in a year genuinely belongs in the archive, not in your working system.

    Accept that the archive will shrink in importance over time. Not because it’s useless, but because its role changes from “primary workspace” to “occasional reference.” That’s fine. The archive was never the point. You just thought it was because the frame you were working from told you so.

    The whole transition can happen over a month of evenings. It doesn’t require a weekend rebuild. It requires a mental shift from “the system is a library” to “the system is a workshop with a small library attached.”


    What this is not

    A few clarifications before the critique side of this article leaves the wrong impression.

    I’m not saying don’t take notes. Taking notes is still valuable. Capturing thinking is still valuable. The shift isn’t away from writing things down; it’s away from treating the collection of written-down things as the system’s point.

    I’m not saying Tiago Forte was wrong. He was right for the era. He’s also shifted with the era — his AI Second Brain announcement in March 2026 is an explicit acknowledgment that the frame needs to evolve. Anyone still teaching the pure 2022 version of second-brain methodology without integrating what AI changed is the one not keeping up. Tiago himself is keeping up.

    I’m not saying archives are obsolete. Some things deserve archiving. Legal records, contracts, finished projects you might revisit, historical decisions, creative work you’ve produced. Archives are still a useful subcomponent of a functioning operator system. They just aren’t the system anymore.

    I’m not saying everyone who built a second brain made a mistake. If yours is working for you, keep it. The question is whether, if you sat down to design a knowledge system from scratch in April 2026 knowing what you now know about AI-as-teammate, you would build the same thing. My guess is most operators honestly answering that question would say no. If that’s your answer, this article is for you. If it isn’t, you can ignore me and carry on.


    The generalization: every layer eventually gets demoted

    There’s a broader pattern here worth naming because it keeps happening and most operators don’t see it coming.

    Every system that was load-bearing in one era gets demoted to a utility layer in the next. This isn’t a failure of the old system; it’s evidence that something else got built on top.

    Filing cabinets were a primary interface to knowledge work in the mid-20th century. They’re now a sub-basement of most offices. Email was a revolution in the 1990s. It’s now a backchannel for notifications from actual productivity systems. Spreadsheets were the original personal computing killer app. They’re now mostly a data-plumbing layer underneath dashboards and applications.

    The second brain is on the same arc. In 2019 it was revolutionary. In 2026 it’s becoming the quiet plumbing underneath the actual workspace. The frame that wanted it to be the whole system is going to age badly. The frame that treats archiving as a useful utility layer under something more alive is going to age well.

    The prediction that matters: five years from now, the operators who get the most leverage will be running execution layers with archives attached, not archives with execution layers grafted on. The architecture will be inverted from the second-brain orientation, and the second-brain era will look like the phase where people learned they needed a system — before the system learned what it was for.


    The one thing I want you to walk away with

    If you only remember one sentence from this article, let it be this:

    Your system’s job is to drive action, not to preserve context.

    Preserving context is a useful secondary function. The whole point of the system — the thing that justifies the time, the maintenance, the architectural decisions, the discipline — is that it helps you act. Not remember. Not retrieve. Not feel organized. Act.

    Every design decision you make about your knowledge system should be tested against that criterion. Does this help me act on what matters? If yes, keep it. If no, archive it or remove it. The discipline is ruthless about what earns its place, because everything that doesn’t earn its place is stealing attention from the thing that would.

    Most second brains I see in 2026 fail that test for most of their bulk. That’s the polite version. The honest version is that many operators have built elaborate systems that feel productive to maintain but produce nothing measurable in the world.

    The execution layer is the fix. Not as a replacement for archiving, but as the shift in orientation: from “preserve knowledge” to “drive work,” from library to workshop, from the discipline of capture to the discipline of action.

    If you take one evening this week and spend it rebuilding your workspace around that question, you will get more leverage from that evening than from a month of tagging.


    FAQ

    Is the second brain dead? No. The frame — “build a system that serves as external memory for your thinking” — is still useful. What’s changed is that the architecture Tiago Forte taught was optimized for a retrieval-bound world, and retrieval is no longer the binding constraint. The concept lives on; the implementation has evolved.

    What about Tiago’s new AI Second Brain course? It’s an honest update to the frame. Tiago announced his AI Second Brain program in March 2026 as a response to the same shift this article describes — Claude Code, agent harnesses, and AI that can actually read and act on your files. His version and mine may differ in emphasis, but we’re pointing at the same underlying change.

    Should I delete my existing second brain? No. Build the execution layer on top of it, migrate what matters, let the rest stay archived. Deleting your historical work is a loss you can’t undo. Reorienting what you focus on going forward is a gain that doesn’t require destroying what you have.

    What if I’m not an operator? What if I’m a student, writer, or creative? The archive-versus-execution-layer distinction still applies but weights differently. Students and creatives may still benefit from an archive orientation because their work actually does involve deep research and synthesis that’s retrieval-bound. Operators running businesses have a different bottleneck. Match the system to the actual bottleneck in your specific work.

    What do you use for your own execution layer? Notion, with Claude wired in via MCP, and a handful of operational agents running in the background. The specific stack is described in my earlier articles in this series; the pattern is tool-independent. Any capable workspace plus a capable AI layer can implement it.

    What about systems like Obsidian, Roam, or Logseq? All excellent archives. Less suited to the execution-layer role because they were designed around the knowledge-graph-and-retrieval use case. You can build execution layers in them, but you’re fighting the grain of the tool. Notion’s database-and-template orientation is a better fit for the operator pattern.

    Isn’t this just reinventing project management? Partially, yes. The execution layer shares DNA with project management systems. The difference is that project management systems are typically built for teams coordinating across many people, while the operator execution layer is built for one human (or a very small team) leveraged by AI. The priorities and design choices differ accordingly.

    How long does this transition take? The minimum viable version — Control Center, object-oriented databases, one rhythm agent — is a week of part-time work. The full transition from a classical second brain to a working execution layer is usually two to three months of gradual iteration. You don’t have to do it all at once.


    Closing note

    I wrote this knowing some readers will push back, and pushback on this one will be easier to dismiss than to engage with. That’s worth flagging up front.

    The easy dismissal: “You’re attacking Tiago Forte.” I’m not. I’m updating the frame he built, using tools he didn’t have access to, for problems that weren’t the binding constraint when he built it. If he’s updated his own frame — and he has — then updating mine is just keeping honest.

    The harder dismissal: “My second brain works for me.” Great. Keep it. If it actually produces leverage you can measure, the article doesn’t apply to you. If you’re being defensive because you’ve invested time in something you suspect isn’t paying rent, sit with that honestly before rejecting the argument.

    The operators I most want to reach with this piece are the ones who have a working second brain but feel a quiet sense that it isn’t quite delivering what they thought it would. That feeling is signal. It’s telling you the bottleneck has moved. The system you built was right for the problem it was solving; the problem has shifted underneath it.

    Promote the archive to a utility. Build the execution layer above. Let the system drive the work instead of holding it for review. That’s the whole move.

    Thanks for reading. If this one lands for you, the rest of this body of work goes deeper into how to actually build what I’m describing. If it doesn’t, no harm — there are plenty of places to read the traditional frame, and I’m not trying to convert anyone who’s still getting value from that version.

    The point is to have the argument out loud, because most operators haven’t heard it yet, and knowing what the argument is gives you the ability to decide for yourself.


    Sources and further reading

    Related pieces from this body of work:

  • What Notion Agents Can’t Do Yet (And When to Reach for Claude Instead)

    What Notion Agents Can’t Do Yet (And When to Reach for Claude Instead)

    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.

    I run both Notion Custom Agents and Claude every working day. I have opinions about when each one earns its place and when each one doesn’t. This article is those opinions, named clearly, with no vendor fingers on the scale.

    Most comparative writing about AI tools is written by people with an incentive to recommend one over the other — affiliate programs, platform partnerships, the writer’s own consulting practice specializing in one side. This piece doesn’t have that problem. I use both, I pay for both, and if one of them got replaced tomorrow, the pattern I run would survive with a different tool slotted into the same role. The tools are interchangeable. The judgment about which one to reach for is not.

    Here’s the honest map.


    The short version

    Use Notion Custom Agents when: the work is a recurring rhythm, the context lives in Notion, the output is a Notion page or database change, and you’re willing to spend credits on it running in the background.

    Use Claude when: the work needs real judgment, the context is complex or contested, the output is something that needs a human’s voice and review, or the workflow crosses enough systems that the agent’s world is too small.

    Those two sentences will save most operators ninety percent of the architecture mistakes I see people make. The rest of this article is specificity about why, because general rules only take you so far before you need to know what’s actually going on under the hood.


    Where Notion Custom Agents genuinely shine

    I’m going to start with the positive because anyone who only reads the critical part of a comparative article will walk away with a warped picture. Custom Agents are genuinely impressive when they fit the job.

    Recurring synthesis tasks across workspace data. The daily brief pattern I’ve written about works better in a Custom Agent than in Claude. The agent runs on schedule, reads the right pages, writes the synthesis back into the workspace, and is done. Claude can do this too, but Custom Agents do it without you remembering to prompt them. That’s the whole point of the “autonomous teammate” framing, and for rhythmic synthesis work, it genuinely delivers.

    Inbox triage. An agent watching a database with a clear decision tree — categorize incoming requests, assign a priority, route to the right owner — is a sweet-spot Custom Agent. It does the boring sort every day, flags the ones it’s unsure about, and keeps the pile from growing. Real teams are reportedly triaging at over 95% accuracy on inbound tickets with this pattern.

    Q&A over workspace knowledge. Agents that answer company policy questions in Slack or provide onboarding guidance for new hires are quietly some of the most valuable agents in production. They replace hours of repetitive answer-the-same-question work, and because the answers come from actual workspace content, the accuracy is high when the workspace is well-maintained.

    Database enrichment. An agent that watches for new rows in a database, looks up additional context, and fills in fields automatically is a beautiful fit. The agent is doing deterministic-adjacent work with just enough judgment to handle edge cases. This is exactly what Custom Agents were designed for.

    Autonomous reporting. Weekly sprint recaps, monthly OKR reports, Friday retrospectives. Reports that would otherwise require someone to sit down and write them, now drafted automatically from the workspace state.

    For these categories, Custom Agents are the right tool, and Claude is the wrong tool even though Claude would technically work. The wrong-tool-even-though-it-works framing matters because operators often default to Claude for everything, which is expensive in different ways.


    Where Notion Custom Agents break down

    Now the honest part. Custom Agents have real limits, and pretending otherwise is how operators get burned.

    1. Anything that requires serious reasoning across contested information

    Custom Agents are capable of synthesis, but the quality of their synthesis degrades when the inputs disagree with each other, when the right answer isn’t on the page, or when the task requires actually thinking through a problem rather than summarizing existing context.

    The signal that you’ve hit this limit: the agent produces an output that sounds plausible, reads well, and is subtly wrong. If you need to double-check every agent output in a category of work because you can’t trust the judgment, that category of work shouldn’t be going through an agent. Use Claude in a conversation where you can actually interrogate the reasoning.

    Specific examples where this shows up: strategic decisions, conflicting client feedback, legal or compliance-adjacent questions, anything that involves weighing tradeoffs. The agent will produce an answer. The answer will often be wrong in a specific way.

    2. Long-horizon work that needs to hold nuance across steps

    Custom Agents are designed for bounded tasks with clear inputs and clear outputs. When you try to use them for work that requires holding nuance across many steps — drafting a long document, executing a multi-stage strategic plan, navigating a complex workflow — the wheels come off.

    Part of this is architectural: agents have limited ability to carry state across runs in the way an extended Claude conversation can. Part of it is practical: the “one agent, one job” principle Notion itself recommends is a hard constraint, not a style guideline. When you try to make an agent do multiple things, you get an agent that does each of them worse than a single-purpose agent would.

    If the job you’re thinking about is genuinely one coherent thing that happens to have many steps, and the steps inform each other, it’s probably a Claude conversation, not a Custom Agent.

    3. Work that needs a specific human voice

    This one is more important than most operators realize. Agents write in a synthesized style. It’s a perfectly fine style. It’s also recognizable as a perfectly fine style, which is the problem.

    If the output is going to have your name on it — client communications, thought leadership, outbound that should sound like you — the agent’s default voice will flatten whatever was distinctive about your writing. You can push back on this with instructions, and good instructions help a lot. But the underlying truth is that Custom Agents optimize for “sounds like a competent business writer,” and competent business writing is a commodity. If you sell distinctiveness, the agent is a liability.

    Claude in a conversation, with your active voice-shaping, produces writing that can actually sound like you. Custom Agents optimize for a different thing.

    4. Anything requiring real-time web context

    Custom Agents can reach external tools via MCP, but they don’t have a general ability to browse the live web and integrate what they find into their reasoning. If the work requires recent news, real-time market data, or anything that isn’t in a known database the agent can query, the agent will either fail, hallucinate, or return stale information from whatever workspace snapshot it had.

    Claude — with web search enabled, with the ability to fetch arbitrary URLs, with research capabilities — handles this class of work dramatically better. The right architectural response: use Claude for anything with a live-web dependency, let Custom Agents handle the parts that don’t.

    5. Deep technical work

    Custom Agents can technically do technical work. They should mostly not be asked to. Writing code, debugging failures, analyzing logs, reasoning through system architecture — these live in Claude Code’s territory, not Custom Agents’ territory. The Custom Agent framework was built for operational workflows, and while it will attempt technical tasks, it attempts them at the quality of a generalist, not a specialist.

    The sign you’ve crossed this line: the agent is producing code or technical reasoning that a competent human reviewer would push back on. Move the work to Claude Code, which was built for exactly this.

    6. High-stakes writes with permanent consequences

    Agents execute. They don’t second-guess themselves. An agent configured to send emails will send emails. An agent configured to update client records will update client records. An agent configured to delete rows will delete rows.

    When the cost of the agent doing the wrong thing is high — sending a message you can’t unsend, overwriting data you can’t recover, triggering a payment you can’t reverse — the discipline is: don’t let the agent do it without human approval. Use “Always Ask” behavior. Use a draft-and-review pattern. Use anything that puts a human in the loop before the irreversible action.

    Operators who ship fast and iterate freely tend to underweight this category. The day you discover it’s been quietly overwriting the wrong database field for two weeks is the day you wish you’d built the review gate.

    7. Credit efficiency for genuinely reasoning-heavy work

    This one is practical rather than architectural. Starting May 4, 2026, Custom Agents run on Notion Credits at roughly $10 per 1,000 credits. Internal Notion data suggests Custom Agents run approximately 45–90 times per 1,000 credits for typical tasks — meaning tasks that require more steps, more tool calls, or more context cost proportionally more credits per run. That means simple recurring tasks are cheap. Complex reasoning-heavy tasks add up.

    If you’re building an agent that does heavy reasoning work many times per day, the credit cost can exceed what the same work would cost through Claude’s API directly, especially on higher-capability Claude models called directly without the Notion overhead. For high-frequency reasoning work, run the math before you commit to the agent architecture.


    Where Claude genuinely wins

    The other side of the honest comparison. Claude earns its place in categories where Custom Agents either can’t operate or operate poorly.

    Strategic thinking conversations. When you’re working through a decision, evaluating a tradeoff, or thinking through a strategy, Claude in an extended conversation is the right tool. The back-and-forth is the whole point. You can interrogate reasoning, push back on conclusions, reframe the problem mid-conversation. An agent that produces a one-shot answer, no matter how good, is the wrong shape for this kind of work.

    Drafting with voice. Writing that needs to sound like a specific person is Claude’s territory. You can load up Claude with context about your voice — past writing, tonal preferences, things to avoid — and get output that actually reads as yours. Notion Custom Agents will always produce generic-flavored writing. That’s fine for internal reports. It’s a problem for anything external.

    Code and technical work. Claude Code specifically is built for technical depth. It reads codebases, executes in a terminal, calls tools, iterates on failures. Custom Agents will flail at the same work.

    Research synthesis across live sources. Claude with web search and fetch capabilities handles “go read this, this, and this, and tell me what the current state actually is” in a way Custom Agents structurally can’t. Anything that requires reaching outside a known data universe is Claude.

    Work that crosses many systems. When a workflow needs to touch code, Notion, a database, an external API, and a human review, Claude Code with the right MCP servers connected coordinates across them better than a Custom Agent inside Notion does. The agent’s world is Notion-plus-connected-integrations. Claude’s world is wider.

    Anything requiring judgment about whether to proceed. Agents execute. Claude in a conversation can pause, check with you, and ask “should I actually do this?” That judgment layer is frequently the most important part of the workflow.


    The pattern that actually works (both, in the right places)

    The operators who get this right aren’t choosing one tool over the other. They’re running both, in specific roles, with clear handoffs.

    The pattern I run:

    Rhythmic operational work lives in Custom Agents. Morning briefs, triage, weekly reviews, database enrichment, Q&A over workspace knowledge. Things that happen repeatedly, have clear inputs, and produce workspace-shaped outputs.

    Judgment-heavy work lives in Claude conversations. Strategic decisions, drafting with voice, research, anything requiring back-and-forth. I do this work in Claude chat sessions with the Notion MCP wired in, so Claude has real context when I need it to.

    Technical work lives in Claude Code. Building scripts, managing infrastructure, debugging, writing code. Custom Agents don’t touch this.

    Handoffs are explicit. When I make a decision in Claude that needs to become operational, it lands as a task or brief in a Notion database, and from there a Custom Agent can pick it up. When a Custom Agent surfaces something that needs judgment, it creates an escalation entry that shows up on my Control Center, where I engage Claude to think through it.

    The two systems pass work back and forth through the workspace. Neither tries to do the other’s job. The seams are the Notion databases where state lives.

    This is not the vendor-shaped pattern. The vendor-shaped pattern says “Custom Agents can handle everything.” The operator-shaped pattern says “Custom Agents handle what they’re good at, and when the work exceeds their reach, another tool takes over with a clean handoff.”


    The decision tree, when you’re not sure

    For a specific piece of work, run these questions in order. Stop at the first “yes.”

    Does this task need a specific human voice, or could it be written by any competent person? If it needs your voice, reach for Claude. If it doesn’t, move on.

    Does this task require reasoning across contested or ambiguous information? If yes, Claude. If no, move on.

    Does this task need real-time web context, live external data, or information not already in a known database? If yes, Claude. If no, move on.

    Does this task involve code, system architecture, or technical depth? If yes, Claude Code. If no, move on.

    Does this task have high-stakes irreversible consequences? If yes, wrap it in a human-approval gate — either run it through Claude where the human is in the loop, or use Custom Agents with “Always Ask” behavior.

    Does this task happen repeatedly on a schedule or in response to workspace events? If yes, Custom Agent. This is the sweet spot.

    Is the output a Notion page, database row, or something that stays in the workspace? If yes, Custom Agent is usually the right call.

    Is the task bounded enough that it could be described in a couple of clear sentences? If yes, Custom Agent. If it’s sprawling, it’s probably too big for an agent.

    If you’re through the tree and still not sure, default to Claude. Claude is more expensive in money and cheaper in hidden cost than a Custom Agent running the wrong job.


    The failure modes I’ve seen

    Specific patterns that go wrong, in my observation:

    The “agent for everything” operator. Someone who just got access to Custom Agents and is building agents for tasks that don’t need agents. The agents mostly work. The ones that mostly work waste credits on tasks a template or a simple automation would handle. The ones that partially work produce quiet low-grade mistakes that accumulate.

    The “Claude for everything” operator. The inverse. Someone who got comfortable with Claude and hasn’t made the leap to letting agents handle the rhythmic work. They’re paying the context-loss tax every morning, doing the triage manually, writing every brief from scratch. Claude is too expensive a tool — in attention, if not dollars — to run routine work through.

    The operator who built one giant agent. Custom Agents are meant to be narrow. Someone violates the “one agent, one job” principle by building an agent that does inbox triage and database updates and weekly reports and client communications. The agent becomes hard to debug, expensive to run, and unreliable across its many hats. The fix is almost always breaking it into three or four single-purpose agents.

    The operator who didn’t build review gates. An agent sending emails without human approval. An agent deleting rows based on inferred criteria. An agent updating client-facing pages from an unchecked data source. The cost of the first real mistake exceeds the cost of the review gate that would have prevented it, every time.

    The operator who never checked credit consumption. Custom Agents consume credits based on model, steps, and context size. An operator who built ten agents and never looked at the dashboard ends up surprised when the monthly bill is much higher than expected. The fix is easy — Notion ships a credits dashboard — but it has to actually get checked.


    The timing honest note

    A piece of this article that ages. These comparisons are true in April 2026. Custom Agents are new enough that the feature set will expand significantly over the next year. Claude is evolving rapidly. The specific gaps I’ve named may close; new gaps may open in different directions.

    What won’t change is the pattern: some work wants a specialized tool, some work wants a general-purpose one. Some work is rhythmic, some is judgment-driven. Some work lives inside a workspace, some crosses systems. The vocabulary for when to use which tool will evolve; the underlying truth that different shapes of work deserve different tools will not.

    If you’re reading this in 2027 and Custom Agents have shipped fifteen new capabilities, the specific “can’t do” list will be shorter. The decision tree at the top of this article will still work. That’s the part worth holding onto.


    What I’m not saying

    A few clarifications because I want to be clear about what this article is and isn’t.

    I’m not saying Custom Agents are bad. They’re genuinely good at what they’re good at. They’re saving me hours per week on work I used to do manually.

    I’m not saying Claude is strictly better. Claude is more capable at a broader set of tasks, but it also costs more, requires active operator engagement, and can’t sit in the background running overnight rhythms the way Custom Agents can.

    I’m not saying there’s one right answer for every operator. Different operators with different businesses and different workflows will land on different splits. The decision tree helps, but it’s a starting point, not a conclusion.

    I’m not saying this is permanent. Tool landscapes change fast. Six months from now there may be categories where Custom Agents beat Claude that don’t exist today, and vice versa. What matters is developing the habit of asking “which tool is this work actually shaped for?” instead of defaulting to whichever one you learned first.


    The one thing I’d want you to walk away with

    If you read nothing else in this article, this is the sentence I’d want in your head:

    Rhythmic operational work wants an agent; judgment-heavy work wants a conversation.

    That distinction — rhythm versus judgment — cuts through almost every architecture question you’ll have when deciding what to route where. It’s not the only dimension that matters, but it’s the one that settles the most decisions correctly.

    Work that happens on a schedule or in response to an event, with bounded inputs and clear outputs? That’s rhythm. Build a Custom Agent.

    Work that requires thinking through tradeoffs, integrating disparate information, or producing output with specific voice and judgment? That’s a conversation. Engage Claude.

    Get that right for most of your workflows and the rest of the architecture tends to sort itself out.


    FAQ

    Can’t Custom Agents do everything Claude can do, just inside Notion? No. Custom Agents are optimized for bounded, rhythmic, workspace-shaped tasks. They can technically attempt work that requires deep reasoning, specific voice, or live external context, but the results degrade in predictable ways. Claude — in a conversation or in Claude Code — handles those categories better.

    Should I just use Claude for everything then? No. Rhythmic operational work — morning briefs, triage, weekly reports, database enrichment — is genuinely better in Custom Agents than in Claude, because the “autonomous teammate running while you sleep” property matters. The right answer is running both, in their respective sweet spots.

    What’s the cost comparison? Starting May 4, 2026, Custom Agents cost roughly $10 per 1,000 Notion Credits. Internal Notion data suggests agents run approximately 45–90 times per 1,000 credits depending on task complexity. Claude’s subscription pricing is flat. For high-frequency simple tasks, Custom Agents are usually cheaper. For heavy reasoning work done many times per day, running Claude directly can be more cost-efficient.

    What about Notion Agent (the personal one) versus Claude? Notion Agent is Notion’s on-demand personal AI — you prompt it, it responds. It’s fine for in-workspace tasks where you need AI help with content you’re already looking at. For deeper reasoning, complex drafting, or cross-tool work, Claude is more capable. Notion Agent is a good ambient utility; Claude is a general-purpose intelligence layer.

    Which should I learn first if I’m new to both? Claude. Learn to think with an AI as a thinking partner before you try to build autonomous agents. Once you understand what AI can and can’t do in a conversation, the design decisions for Custom Agents become much clearer. Jumping to Custom Agents without the Claude foundation is how operators end up with agents that don’t work as expected.

    Can Custom Agents use Claude models? Yes. Custom Agents let you pick the AI model they run on. Claude Sonnet 4.6 and Claude Opus 4.7 are both available, along with GPT-5 and various other models. This means the underlying intelligence of a Custom Agent can be Claude — you’re choosing between Claude-as-conversation (claude.ai, Claude Desktop, Claude Code) and Claude-as-embedded-agent (Custom Agent running Claude). Different interfaces, same underlying model in that case.

    What if I want Claude to work autonomously on a schedule like Custom Agents do? Possible, but requires more work. Claude Code can be scripted; you can run it on a cron job; you can set up headless workflows. But the “out of the box autonomous teammate” experience is Notion’s current strength, not Anthropic’s. If you want autonomous-background-work without building your own infrastructure, Custom Agents are easier.

    How do I decide for my specific situation? Run the decision tree in the article. If you’re still unsure, default to Claude — it’s the more general-purpose tool, and the cost of using the wrong tool for judgment-heavy work is higher than the cost of using the wrong tool for rhythmic work. You can always migrate a recurring workflow to a Custom Agent once you understand the shape.


    Closing note

    The honest comparison isn’t one tool versus the other. It’s understanding that different shapes of work want different shapes of tool, and that most operators lose more time to the mismatch than to any individual tool’s limitations.

    Custom Agents are good at being Custom Agents. Claude is good at being Claude. Neither is good at being the other. Use both, in the places each belongs, with clean handoffs between them, and the stack hums.

    Skip the vendor narratives. Read your own workflows. Route each piece to the tool it’s actually shaped for. That’s the whole game.


    Sources and further reading

    Related Tygart Media pieces:

  • The Agency Stack in 2026: Notion + Claude + One Human

    The Agency Stack in 2026: Notion + Claude + One Human

    I’m going to describe the stack I actually run, and then I’m going to tell you honestly whether you should copy it.

    Most writing about “AI agencies” in April 2026 is either pitch deck vapor or hedged-everything consultant speak — pieces that tell you “AI is transforming agencies” without telling you which tools, which workflows, which tradeoffs. This article is the opposite. I’m going to name specifics. I’m going to say what’s working. I’m going to say what isn’t. I’m going to skip the part where I pretend this is a solved problem, because it isn’t, and pretending is how operators who listened to the pitch deck end up eighteen months into a rebuild.

    The stack that follows is what a real, paying-bills agency runs to manage dozens of active properties, real client relationships, and a content production operation that ships every day — with one human in the operator chair. It is not hypothetical. It is also not recommended for everyone, which is the part most of these articles leave out.

    Here’s the real version. You can decide whether it’s for you when we get to the bottom.


    The one-line version of the stack

    Notion is the control plane. Claude is the intelligence layer. A handful of operational services run the work. One human makes the calls.

    That’s it. That’s the whole stack at the summary level. Everything that follows is specificity about what each of those pieces does, why it’s there, and what happens when you try to run a real business through it.

    The four pieces are load-bearing in different ways. Notion holds the state of the business — what’s happening, what’s decided, what’s next. Claude provides the judgment and the synthesis when judgment is needed. The operational services (publishers, research tools, deployment pipelines) do the deterministic work that judgment shouldn’t be wasted on. The human reads, decides, approves, and occasionally gets out of the way.

    Fifteen years ago the same agency would have needed forty people. Ten years ago it would have needed twenty. Five years ago it would have needed eight. In April 2026 it needs one human plus the stack. That’s the thesis. The question is whether you can actually run it that way.


    What “AI-native” actually means in this context

    The phrase “AI-native” has been worn out enough that I need to be specific about what I mean.

    AI-native doesn’t mean “uses AI tools.” Every agency uses AI tools. Every freelancer uses AI tools. That bar is on the floor.

    AI-native means the operating model of the business assumes AI is a teammate, not a productivity tool. AI is in the loop on strategic thinking. AI is reading the state of the workspace and synthesizing it. AI is drafting, reviewing, triaging, and sometimes deciding — with human oversight, but as a continuous participant, not an occasional assistant you turn to when you get stuck.

    The practical difference: an agency that uses AI tools works the way agencies have always worked, but with ChatGPT open in a tab. An AI-native agency has rebuilt its workflows around the assumption that there’s a persistent intelligence layer in the substrate of the business.

    The stack below is what the second version looks like when you commit to it.


    The control plane: Notion

    Notion is where I live during the working day. Not where I put things when I’m done with them — where I actually do the work.

    The workspace is organized around the Control Center pattern I’ve written about before. A single root page that surfaces the live state of the business: what’s on fire today, what’s progressing, what’s waiting on me, what the week’s focus is. Under it sits a database spine that maps to the actual operational objects — properties, clients, projects, briefs, drafts, published work, decisions, open loops. Each database answers a specific question someone running the business would ask regularly.

    Every meaningful page in the workspace has a small JSON metadata block at the top — page type, status, summary, last updated. That metadata block is for the AI, not for me. It lets Claude read the state of a page in a hundred tokens instead of three thousand. Across a workspace of thousands of pages, the compounding context savings are enormous, and it changes what Claude can realistically see in a session.

    The workspace is sharded deliberately. The master context index lives as a small router page that points to larger domain-specific shards. When Claude needs to reason about a specific area of the business, it fetches the shard for that area. When it needs the whole picture, it fetches the router. This is not a product feature anyone has written about — it’s a pattern I arrived at after the main index page got too large to fit into Claude’s context window without truncation. It works. It’s probably what a lot of operators will end up doing.

    What Notion is great at: holding operational state, being legible to both humans and AI, letting you traverse the business by asking questions of the workspace rather than navigating folders, integrating cleanly with Claude via MCP, running background rhythms through Custom Agents.

    What Notion is not great at: being a database in the performance sense (anything heavy goes somewhere else), being the source of truth for code (version control is), being the source of truth for financial transactions (a real accounting system is), being reliable as the only source for anything mission-critical (it has an outage SLA, not an uptime guarantee).

    The rule I follow: Notion holds the operating company. It does not hold the substrate the operating company depends on. That distinction is what keeps the pattern stable.


    The intelligence layer: Claude

    Claude is the AI I actually run the business with. Not because Claude is strictly better than the alternatives at every task — at this point in 2026 the frontier models are all highly capable — but because Claude’s design posture matches what an operator actually needs.

    Specifically: Claude is thoughtful about uncertainty, tells me when it doesn’t know, asks for clarification instead of fabricating, and has a deep integration with Notion via MCP that makes the workspace-and-AI pattern actually work. Those qualities are worth more to me than any single-task benchmark. An AI that sometimes gets things wrong but tells me when it’s uncertain is far more useful than an AI that confidently hallucinates.

    The intelligence layer shows up in three configurations:

    Chat Claude — what I use for strategic thinking, drafting, review, and synthesis. A conversation on claude.ai or the desktop app with the Notion MCP wired in, so Claude can reach into the workspace to ground its answers in real context. This is where the high-judgment work happens. When I’m making a decision, I work through it in a Claude conversation before I commit to it.

    Claude Code — the terminal-based version that lives at the intersection of code and agent. This is where the more technical work happens — building publishers, writing scripts, managing infrastructure, executing multi-step workflows that touch multiple systems. Claude Code reads my codebase, reaches into Notion when it needs to, calls external services through MCP, and writes back run reports.

    Notion’s in-workspace AI (Custom Agents and Notion Agent) — the on-demand and autonomous agents that live inside Notion itself. These handle the rhythms: the daily brief that’s written before I wake up, the triage agent that sorts whatever lands in the inbox, the weekly review that gets drafted on Friday. I didn’t build these to be clever. I built them because I was doing the same small synthesis tasks over and over, and Custom Agents let me stop.

    Three configurations, three different jobs. Each one’s strengths map to a different kind of work. Together they cover the whole territory.

    What Claude is great at: synthesis across real context, drafting with judgment, reasoning through decisions, catching inconsistencies in my thinking, executing defined workflows with honest failure modes.

    What Claude is not great at: being the last line of defense on anything (always have a human gate), handling workflows where one error compounds (use deterministic tools for those), long-horizon autonomy without oversight (agents drift, supervise accordingly), making decisions that require context it doesn’t have access to.

    The mental model I use: Claude is a thoughtful senior teammate who happens to be infinitely patient and always awake. That framing gets the relationship right. Over-rely on it and you get hurt. Under-rely on it and you’ve hired a senior teammate and asked them to run errands.


    The operational services: the things that do the work

    The third layer is the part most agency-AI writeups skip, because it’s unglamorous. It’s the set of operational services that do the actual deterministic work. Publishing. Research. Deployment. Monitoring. The stuff that shouldn’t require judgment once you’ve set it up correctly.

    I’m going to describe the shape without naming specific tools, because the shape is what’s durable and the specific tools will change.

    Publishers — services that take content prepared upstream and push it to the properties where it needs to live. WordPress for editorial content, social media scheduling for distribution, email tools for outbound. The publisher’s job is to execute reliably and log honestly. When it fails, it fails loudly enough that I notice.

    Research infrastructure — services that pull structured data about keywords, competitors, search volumes, backlink profiles, and so on. This is where AI-native agencies diverge most sharply from traditional ones. Traditional agencies do research manually. AI-native agencies run research as a pipeline: the structured data comes in, gets processed, and lands in the workspace as briefs and intelligence reports that the human and the AI both read.

    Background pipelines — the scheduled services that keep the workspace fresh. New briefs get generated. Stale content gets flagged. Traffic data gets ingested. The kinds of things that an agency would traditionally ask a human to do on a weekly rhythm, running autonomously in the background.

    Deployment and monitoring — how the technical side ships. Version control holds the source of truth. Deployments run on triggers. When something breaks, it breaks to a channel I actually read.

    The principle that holds all of this together: deterministic work belongs in deterministic systems. Don’t use an AI agent to do something a script can do. An AI agent adds judgment, which is valuable when you need judgment, and costly when you don’t. The operational services do the work that has a right answer every time. The AI handles the work that requires judgment.

    Most agency-AI failures I’ve watched happen are cases where someone tried to use an AI agent for the deterministic work. The agent mostly succeeds, occasionally hallucinates, and introduces a class of silent failure that didn’t exist in the deterministic version. It feels like you’re being clever. You’re introducing unreliability.


    The one human in the chair

    This is the part the vendor writeups never include, and it’s the most important piece.

    There is one human in the operator chair. That human is non-optional. Every workflow, every agent, every pipeline eventually terminates at a human decision or a human review gate. The AI stack does not run the business. The AI stack is a lever that makes one human capable of running what used to take many.

    What the human does in this configuration is different from what they would have done in a traditional agency. The human is not writing every post. The human is not doing every bit of research. The human is not executing every workflow. The human is:

    Setting the posture. What are we working on this week? What’s the priority? What’s the theme? The AI is exceptional at executing against clarity. It is not exceptional at deciding what to be clear about.

    Reading the synthesis. The AI surfaces what matters. The human decides what to do about it. Every morning brief, every weekly review, every escalation flags lands in front of the human, who makes the call.

    Making the judgment calls. When a client needs a difficult conversation. When a strategy needs to change. When something the AI suggested is actually wrong. These are the moments the AI can’t be left alone with. The operator role is increasingly concentrated around exactly these moments.

    Holding the relationships. Clients don’t want to talk to an AI. They want to talk to a human who happens to be very well-supported by AI. The difference matters enormously in trust, tone, and staying power of the engagement.

    Maintaining the stack itself. The stack doesn’t maintain itself. Every week there are small adjustments, small rewirings, small improvements. The operator is also the architect of the operating company, and the architecture is a living thing.

    A person who thought they were buying “AI that runs my agency for me” is going to be disappointed. A person who understood they were buying “a lever that makes them ten times more effective at the parts of agency work that actually matter” is going to be delighted. The difference is what you think you’re getting.


    The daily rhythm (what it actually looks like)

    Let me describe a real working day in this stack, because the abstract description doesn’t convey what using it feels like.

    Morning. I open Notion. The Morning Brief Agent ran overnight; the top of today’s Daily page already has a three-paragraph synthesis of the state of the business, pulled from the active projects, the task database, yesterday’s run reports, and the overnight changes. I read it in ninety seconds. I know what’s on fire, what’s progressing, what’s waiting on me. The context tax that used to cost me the first hour of every day is already paid.

    Morning block. I work through the highest-leverage thing on the day’s priority list. If it’s strategic, I work through it in a Claude conversation with the Notion workspace wired in, because grounding the AI in real context produces dramatically better thinking than working in isolation. If it’s technical, I work in Claude Code, because the terminal version handles multi-step technical work better. Either way, I’m working with the AI as a thinking partner, not a tool I reach for occasionally.

    Mid-day. The triage agent has processed whatever landed in the inbox. I scan its decisions, override the ones I disagree with, and dispatch anything important into its real database. The escalation agent has flagged the three things that need my attention today. I make the calls. These are the moments the stack needs a human for — no amount of clever configuration replaces them.

    Afternoon block. Content operations. Research intelligence lands as structured data in the workspace. Briefs get drafted. I review them. Approved briefs flow to the publishing pipeline. The pipeline runs, logs back to the workspace, and I get notified of anything that failed. I don’t write every post. I write the ones where my voice specifically matters, and I review the rest. The ratio is maybe one in ten that I write from scratch these days.

    Evening. Five minutes of close. Anything that didn’t get done gets re-dated. Tomorrow’s priority list pre-stages. I close Notion. The overnight agents will handle the rhythms while I sleep.

    That’s the day. It is dramatically different from running a traditional agency, and dramatically more sustainable. The cognitive load is substantially lower even while the operational throughput is substantially higher. That’s the whole promise of the pattern, and it’s the part that’s real.


    What this stack actually costs (and doesn’t)

    The direct tool costs for the stack in April 2026, at the level I run it:

    • Notion Business plan with AI add-on
    • Claude subscription (Max tier for the agent budget)
    • A cloud provider account for the operational services (running pennies to small dollars per day at my volume)
    • A handful of research and analysis tool subscriptions
    • Domain, email, and the usual small-business infrastructure

    Total monthly direct tool cost is the equivalent of what a traditional agency would spend on a single junior employee’s salary for one week. The leverage ratio is extreme, and it will get more extreme.

    What it costs that isn’t money:

    • Setup time. Weeks to stand up the initial version, months to iterate it into something that runs smoothly. This is not a weekend project.
    • Ongoing attention to the stack itself. Maybe ten percent of my week is spent on the operating company rather than on client work. That ratio is load-bearing; if I let it go below that, the stack rots.
    • Discipline about not adding cleverness. Every new tool, every new agent, every new integration is a tax on the coherence of the system. Most weeks I’m resisting the urge to add something, not looking for something to add.
    • Loneliness of the role. One-human agencies are lonely. You don’t have a team meeting. You don’t have a coffee conversation with a coworker. The stack is not a substitute for colleagues. This is the part nobody writes about and it’s genuinely significant.

    What this stack is not good for

    If I’m being honest about who should not run this pattern, it includes:

    Agencies that want to scale headcount. This stack is designed to make one human capable of more. It’s not designed to coordinate ten humans. A ten-person agency on this stack would have chaos problems I haven’t solved.

    Businesses where the work is primarily relational. Sales-heavy businesses, high-touch consulting, therapy practices. The stack is strong at operational and production work. It is weak at anything where the work is fundamentally “I am present with this other person.”

    Anyone uncomfortable with AI making meaningful decisions. The stack assumes you’re willing to let AI make decisions that have real consequences — triage, synthesis, drafting under your name. If that crosses your line philosophically, don’t force it. The stack won’t be fun for you.

    People looking for a plug-and-play system. This is a living architecture. It requires ongoing maintenance. It never stops being built. If you want something that works out of the box and stays working, buy software; don’t build an operating company.

    Early-stage businesses without a clear shape yet. The stack rewards clarity about what your business is. If you’re still figuring that out, the stack will accelerate whatever direction you’re going — which is great if the direction is right and brutal if it isn’t. Figure out the direction first, then build the stack.


    Who this stack is good for

    The operators I’ve seen get the most out of this pattern share a specific profile:

    • Running businesses with high operational complexity but small team size. Multi-property content operations, advisory practices, specialist agencies. The kind of business where one capable person with leverage beats a team without it.
    • Comfortable with systems thinking. The stack rewards people who think in terms of flows, interfaces, and substrates. If that vocabulary feels alien, the stack will feel alien.
    • Honest about what they’re good at and what they aren’t. The stack amplifies the operator. If the operator is strong at strategy and weak at execution, the stack handles the execution. If the operator is strong at execution and weak at strategy, the stack does not magically produce strategy. Know which version you are.
    • Willing to maintain the architecture. The stack is a long commitment to the operating company, not a one-time setup. Operators who enjoy tending the system do well. Operators who resent tending the system should not run it.

    If you recognize yourself in the good-fit list and not the bad-fit list, this pattern is probably worth the investment. If you’re on the fence, it probably isn’t yet — come back when the decision is clearer.


    The part I want to be brave about

    Here’s the part this article is supposed to be honest about.

    This pattern works for me. It might not work for you. The vendor-shaped narrative says every business should be AI-native, every agency should be running this stack, every operator should be ten times leveraged. That narrative is wrong. It’s wrong in the boring, everyday way that industry narratives are always wrong: it oversells, it under-discloses the costs, and it creates an expectation gap that a lot of operators are going to run into eighteen months from now.

    The accurate narrative is this: for a specific kind of operator running a specific kind of business, this stack produces a kind of leverage that was not previously available. For everyone else, it’s a distraction from what they should actually be doing, which is the hard work of their specific business with the tools that fit their specific situation.

    I am describing what I run because I think honest examples are more useful than vague generalities. I am not recommending you run it. I am recommending you look at your actual business, your actual operating constraints, and your actual relationship with AI tools, and decide whether a version of this pattern — adapted, simplified, or rejected — makes sense for you.

    There’s a version of this article that promises that if you copy my stack, you’ll get my outcomes. That article is lying to you. The outcomes come from matching the stack to the business, not from the stack itself.

    If you read this and it resonates, take the pieces that apply. If you read this and it doesn’t, take what you learned about what’s possible and leave the rest. Either response is correct.


    The five things I’d tell someone thinking about building something like this

    Start with the Control Center, not the agents. The Control Center is the anchor everything else builds against. If you build agents before you have the Control Center, the agents have nothing to write to. Build the workspace shape first. The rest follows.

    Resist the urge to add complexity. The operators who succeed with this pattern run simpler versions than they could. The operators who fail run more elaborate versions than they need. Every piece of the stack should be earning its place every week.

    Write everything down as you go. The operating company is a living architecture. Six months from now you will have forgotten why you made a specific configuration choice. Document the choices in the workspace as you make them. Future-you will thank present-you.

    Don’t over-trust the AI. It’s a teammate, not an oracle. It’s wrong sometimes. It’s confident when it shouldn’t be sometimes. Build review gates. Assume failure. The stack is resilient when you don’t assume otherwise.

    Accept that you are building an operating company, not deploying software. This is a long game. It doesn’t work in the first week. It starts working in the second month. It starts compounding in the sixth month. If you’re not willing to tend it for that long, don’t start.


    A closing observation

    I’ve been running variations of this stack for long enough to have opinions that don’t match what I thought I believed when I started. The biggest surprise has been how much of the work is operational hygiene rather than AI cleverness. Building an agent was the easy part. Running an agency on the operating company pattern has mostly been a discipline problem — staying consistent about metadata, about documentation, about review gates, about when to let the AI decide and when to intervene.

    The AI is not the interesting part anymore. The interesting part is the operating model the AI makes possible. That’s the part this article has tried to describe honestly, and that’s the part worth thinking about if you’re considering something similar.

    If you do build a version of this, I’d genuinely like to hear how it turns out. The frontier here is being figured out by operators sharing what works and doesn’t, and every honest report makes the next person’s build better. This is my report. I hope it helps.


    FAQ

    Can I run this stack solo? Yes. The stack is explicitly designed for solo operators or very small teams. One-human operation is the whole point. Multi-person teams work too but introduce coordination complexity the pattern doesn’t directly solve.

    How long does it take to build? The minimum viable version — Control Center, a handful of databases, one Custom Agent, Claude wired in — is a week of part-time work. The version that actually earns its place takes two to three months of iteration. It never stops getting built; it compounds over time.

    Do I need to know how to code? For the minimum viable version, no. Notion + Claude + Notion Custom Agents gets you a long way without writing code. For the operational services layer, some technical comfort is needed or you’ll need a technical collaborator. Claude Code dramatically lowers the bar here.

    What if Notion gets replaced by a competitor? The pattern survives. The Control Center, the database spine, the metadata discipline, the workspace-as-control-plane posture — all of those port to any capable workspace tool. If something displaces Notion in 2027, the migration is real work but the operating model is durable. The durable asset is the pattern, not the specific tool.

    What if Claude gets replaced by a competitor? Also fine. The pattern assumes there’s an intelligence layer wired into the workspace; Claude is the current implementation of that layer. If another frontier model becomes more suitable, swap it. The MCP standard that connects everything is model-agnostic. This is deliberate.

    Can I use ChatGPT or another AI instead of Claude? Mostly yes. The MCP-to-Notion pattern works with any AI that supports MCP, including ChatGPT, Cursor, and others. I use Claude for the reasons described above, but the stack pattern is compatible with other frontier models. Don’t let tool preferences get in the way of the architecture.

    How much does this cost to run? The tool subscription stack costs roughly what one junior employee’s weekly salary would cost per month, total. The non-monetary costs (setup time, maintenance attention, lifestyle tradeoffs of solo operation) are more significant and worth thinking about before committing.

    Is this sustainable for a growing business? Yes, up to a point. The pattern scales smoothly to a certain operational volume per human. Beyond that, you need more humans, and coordinating multiple humans on this stack introduces problems that the solo version doesn’t have. Most operators hit the natural ceiling before they hit the growth limit.


    Sources and further reading

    Related reading from the broader ecosystem:

  • The Soda Machine Thesis: A Mental Model for Running an AI-Native Business on Notion

    The Soda Machine Thesis: A Mental Model for Running an AI-Native Business on Notion

    The hardest part of running an AI-native business on Notion in 2026 isn’t the tools. The tools are fine. The tools ship regularly and they work. The hard part is that the vocabulary hasn’t caught up with the reality, and when the vocabulary is wrong, your design choices get wrong too.

    Here’s what I mean. When I started seriously composing Workers, Agents, and Triggers in Notion, I found I was making the same kinds of mistakes over and over. Building a worker for something an agent could have handled with good instructions. Attaching five tools to an agent that only needed two. Setting up a scheduled trigger for something that should have fired on an event. After the third or fourth time, I realized the mistakes had a common source: I didn’t have a mental model for when to reach for which piece.

    Notion doesn’t give you one. The documentation is accurate but it’s a list of capabilities. Vendor-shaped — here is what Custom Agents can do, here is what Workers do, here are your trigger types. All true. All useless for the question I actually had, which was given a job I want done, which piece do I build?

    So I made a mental model. It’s imperfect and it’s mine, but it has survived a few months of real use and it has saved me from a dozen architecture mistakes I would have otherwise made. This article is the model.

    I call it the Soda Machine Thesis. It might sound silly. It works.


    The core analogy

    Workers are syrups. Agents are soda fountain machines. Triggers are how the machine dispenses.

    When someone asks for a custom soda fountain — a Custom Agent — three decisions get made, in order:

    1. Which syrups (workers and tools) load into this machine? What capabilities does it need access to? What external services does it need to reach? What deterministic operations does it need to perform?
    1. How is the machine programmed? What are its instructions? What’s its job description? How does it think about what it’s doing? (This is the part where agents diverge most — two machines with identical syrups behave completely differently based on instructions.)
    1. How does it dispense? Does it pour when someone presses a button (manual trigger)? Does it pour on a schedule (timer)? Does it pour when the environment changes — a page gets created, a status flips, a comment gets added (event sensor)?

    That’s the whole model. Three questions, in that order. If you can answer all three cleanly, you have a working agent. If you can’t answer one of them, you have an agent that is going to produce noise and frustrate you.

    I have watched this analogy clarify a dozen conversations that were going nowhere. “I want an agent that…” — and then I ask the three questions, and halfway through the answers it becomes obvious what the person actually wants is a simpler thing. Sometimes they don’t need an agent at all, they need a template with a database automation. Sometimes they need a worker, not an agent. Sometimes they need an agent with zero workers and better instructions.

    The analogy does real work. That’s the whole point of a mental model.


    Where the analogy holds

    The map is cleaner than you’d expect.

    Workers are syrups. Stateless, parameterized, reusable. The same worker — fetch-url, summarize, post-to-channel, whatever — can power a dozen agents. You build it once, you use it everywhere. A worker that sends an email works the same way whether it’s being called by a triage agent, a brief-writer, or a customer-response agent. That’s what syrup means: the ingredient doesn’t care which drink it’s going into.

    Agents are machines. They select, sequence, and orchestrate. An agent knows when to reach for which worker. An agent knows what the job is and reasons about how to do it. An agent can read a database, synthesize what it finds, reach for a tool to do a specific deterministic step, synthesize again, and return a result. An agent is a little piece of judgment on top of a set of capabilities.

    Triggers are how the machine dispenses. This is the cleanest part of the map because Notion’s own trigger types map almost 1:1 onto the analogy:

    • Button press or @mention → manual dispatch (“I’m pressing the button for a Coke”)
    • Schedule → timer (“pour me a drink at 7am every day”)
    • Database event → sensor (“someone just put a cup under the dispenser; fill it”)

    You don’t need to memorize trigger type names. You need to ask “how should this machine know it’s time to pour?” Once you know the answer, the trigger type follows.


    Where the analogy leaks (and what to do about it)

    No analogy is perfect. This one has four honest leaks that are worth knowing before you rely on the model.

    1. Agents have native hands, not just syrups

    A Custom Agent can read pages, search the workspace, write to databases, and send notifications without a single worker attached. Workers are specialty syrups for the things the base machine can’t do natively — external APIs, deterministic writes to strict database schemas, code execution, anything requiring exact outputs every time.

    This means not every agent needs workers. In fact, my highest-leverage agents often have zero workers. They use the base machine’s native capabilities, combined with strong instructions, to do the job.

    The practical consequence: don’t reach for a worker reflexively. Start by asking what the agent can do with just its native hands and good instructions. Only add workers when the agent genuinely needs capability it doesn’t have.

    2. Machine programming matters as much as syrup selection

    The instructions you give an agent — its system prompt, its job description, its operating rules — are doing as much work as the workers you attach. Two agents with identical workers will behave completely differently based on how they’re instructed.

    People tend to under-invest here. They attach five workers, write three sentences of instruction, and wonder why the agent is flaky. The fix is not more workers. The fix is writing instructions the way you’d write onboarding docs for a new employee — specific, scoped, honest about edge cases, clear about what the agent should do when it’s uncertain.

    My rule: if I’m about to attach a worker because the agent “keeps getting it wrong,” I first check whether better instructions would fix the problem. Nine times out of ten they would.

    3. Workers aren’t a single thing

    This is the leak that surprised me when I learned it. There are actually three kinds of worker, and they behave differently:

    • Tools — on-demand capabilities. The classic syrup. An agent calls them when it needs them. Example: a worker that fetches a URL and returns the text.
    • Syncs — background data pipelines that run on a schedule and write to a database. Not dispensed by an agent. These are more like an ice maker — they run on the infrastructure, filling the building up, and the machines use what the ice maker produces.
    • Automations — event handlers that fire when something happens in the workspace. Like a building’s fire suppression — nobody’s pressing a button; the environment triggers it.

    This matters because syncs and automations don’t need an agent to dispatch them. They run autonomously. If you’re building something that feeds a database on a schedule, that’s a sync, not a tool, and it doesn’t need an agent. If you’re building something that reacts to a page being updated, that’s an automation, not a tool.

    Getting this wrong is one of the most common architecture mistakes. People build an agent to dispatch a sync because they think everything has to flow through an agent. It doesn’t. Let the infrastructure do the infrastructure’s job.

    4. Determinism vs. judgment is the design axis

    The thing the soda analogy doesn’t capture well is that workers and agents are not just interchangeable building blocks. They serve fundamentally different purposes:

    • Workers shine when you want deterministic behavior. Same input, same output, every time. Schema-strict writes. External API calls where the shape of the request and response are fixed.
    • Agents shine when you want judgment, composition, and natural-language reasoning. Variable inputs. Fuzzy requirements. Synthesis across multiple sources.

    The red flag: building a worker for something an agent could do reliably with good instructions. You’re over-engineering.

    The green flag: an agent keeps being flaky at a specific operation. Harden that operation into a worker. Now the agent handles the judgment part, and the worker handles the reliable part.


    The “should this be a worker?” test

    When I’m trying to decide whether to build a worker or let an agent handle something, I run a five-point checklist. If two or more are true, build a worker. If fewer than two are true, stay manual or solve it with agent instructions.

    1. You’ve done the manual thing three or more times. The third time is the signal. First time is discovery, second time is coincidence, third time is a pattern worth capturing.
    2. The steps are stable. If you’re still figuring out how to do the thing, don’t codify it yet. You’ll codify the wrong version and have to rewrite.
    3. You need deterministic schema compliance. Writes that must fit a database schema exactly are worker territory. Agents can write to databases, but if the schema has strict requirements, a worker is more reliable.
    4. You’re calling an external service Notion can’t reach natively. This is often the clearest signal. If it’s outside Notion and needs to be reached programmatically, it’s a worker.
    5. The judgment required is minimal or already encoded in rules. If the decisions are simple enough to express as code, a worker is fine. If the decisions need real reasoning, it’s agent territory.

    This test is not a strict algorithm. It’s a gut-check that catches the most common over-engineering mistakes before they happen.


    The roles matter more than the technology

    Here’s the extension of the analogy that actually made the whole thing click for me.

    Every construction project has four roles. The Soda Machine Thesis as I originally described it has three of them. The one I hadn’t named — and the one you’re probably missing in your own workspace — is the Architect.

    Construction roleYour system
    Owner / DeveloperThe human in the chair. Commissions work, approves output, holds the keys.
    ArchitectThe AI-in-conversation. Claude, Notion Agent in chat, whatever model you’re actively designing with.
    General ContractorA Custom Agent running in production.
    SubcontractorA Worker. Called in for specialty work.

    The distinction that matters: the Architect and the General Contractor are the same technology, playing different roles. When you’re chatting with a model about how to design a system, that model is acting as Architect — designing the thing before it gets built. When a Custom Agent runs autonomously against your databases overnight, it’s acting as General Contractor — executing the design.

    Same underlying AI. Completely different role.

    Getting this distinction wrong is how operators end up either (a) over-trusting autonomous agents with design decisions they shouldn’t be making, or (b) under-using conversational AI for the system-design work it’s actually best at. Chat with the Architect. Deploy the GC. Don’t confuse them.


    Levels of automation (what you’re actually doing at each stage)

    Most operators cycle through these levels as they get deeper into the pattern. Knowing which level you’re currently at — and which level a specific problem actually needs — prevents a lot of wasted effort.

    Level 0: The Owner does it. You manually do the thing. This is fine. Everything starts here. Some things should stay here.

    Level 1: Handyman. You’ve built a template, a button, a saved view. No AI involvement. Native Notion helps you do it faster. Still you doing the work.

    Level 2: Standard Build. Notion’s native automations handle it. Database triggers fire on status changes. Templates get applied automatically. Still deterministic, still no AI.

    Level 3: Self-Performing GC. A Custom Agent does the work natively — reading and writing inside Notion, reasoning about context, no workers attached. This is where agents earn their keep for the first time.

    Level 4: GC + One Trade. An agent with one specialized worker. The agent handles judgment; the worker handles a single deterministic step. This is the most common production pattern.

    Level 5: Full Project Team. An agent orchestrating multiple workers in sequence. Real project coordination. A brief-writer agent that calls a URL-capture worker, then a summarization worker, then a publishing worker, all in order.

    Level 6: Program Management. Multiple agents coordinated by an overarching structure. One agent that dispatches to specialist agents. Portfolio-level orchestration. This is where it gets complicated and where most operators don’t need to go.

    The mistake I made early on, and watch other operators make, is jumping to Level 5 when Level 3 would have worked. More pieces means more failure points. Solve it at the lowest level that works.


    Governance: permits, inspections, and change orders

    The analogy extends further than I expected into governance — which is the unsexy part of running real agents in production, but it’s the part that separates operators who keep their agents working from operators whose agents quietly stop working without them noticing.

    • Pulling a permit = Attaching a worker to an agent. You’re granting that specialty trade permission to work on your job. This is not a nothing decision. Be deliberate.
    • Building inspection = Setting a worker tool to “Always Ask” mode. Before the work ships, the human reviews it. For any worker that does something consequential, this is the default.
    • Certificate of Occupancy = The moment a capability graduates from Building to Active status in your catalog. Before that moment, treat it as construction. After, treat it as load-bearing.
    • Change Order = Editing an agent’s instructions mid-project. The scope changed. Document it.
    • Punch List = The run report every worker should write on every execution — success and failure. No silent runs. If you can’t see what your agent did, you don’t know what it did.
    • Warranty work = Iterative fixes after a worker is deployed. v0.1 to v0.2 to v0.3. This never stops.

    The governance layer sounds boring but it’s what makes agents run for months instead of days. An agent without run reports eventually drifts, fails silently, and leaves you discovering the failure weeks later when the downstream thing it was supposed to do quietly stopped happening. The governance rituals — inspections, change orders, punch lists — are not overhead. They’re what makes the system durable.


    The revised one-sentence summary

    Putting it all together, here is the whole thesis in one sentence:

    Notion is the building. Databases are the floors. The Owner runs the project. Architects design in conversation. General Contractors (agents) execute on-site. Subcontractors (workers) run specialty trades. Syncs are maintenance contracts. Triggers are permits, sensors, and dispatch radios.

    If you can hold that sentence in your head, you can design automation in Notion without getting lost in the vocabulary. When you’re about to build something, ask: which role am I playing right now? Which role does this piece need to play? Who’s the Owner, who’s the Architect, who’s the GC, who’s the sub? If you can answer, the architecture writes itself.


    Practical takeaways

    If you made it this far, here are the five things I’d want you to walk away with:

    1. Not every agent needs workers. Start with native capabilities and strong instructions. Add workers only when the agent can’t do the thing otherwise.
    1. The third time is the signal. Don’t build infrastructure for something you’ve only done twice. You’ll build the wrong version. The third time is when the pattern has stabilized enough to capture.
    1. Syncs and automations don’t need an agent. If you’re feeding a database on a schedule, or reacting to a workspace event, let the infrastructure do it. Don’t wrap it in an agent for no reason.
    1. Separate the Architect from the GC. Use conversational AI to design the system. Use Custom Agents to run the system. Don’t let an autonomous agent make design decisions that should be made in conversation.
    1. Write run reports for everything. Silent success is worse than loud failure, because silent success is indistinguishable from silent failure until weeks later. Every agent, every worker, every run — writes a report somewhere readable.

    That’s the model. It is imperfect and it is mine. If you adopt it, make it your own. If you have a better one, I’d honestly like to hear about it.


    FAQ

    What’s the difference between a Notion Worker and a Custom Agent? A Worker is a coded capability — deterministic, reusable, typically written in TypeScript — that a Custom Agent can call. A Custom Agent is an autonomous AI teammate that lives in your workspace, has instructions, runs on triggers, and can optionally use Workers to do specialized tasks. Workers are capabilities. Agents are operators that can use those capabilities.

    Do I need Workers to use Custom Agents? No. Many Custom Agents run perfectly well with zero Workers attached, using only Notion’s native capabilities (reading pages, writing to databases, searching, sending notifications) plus well-written instructions. Workers become necessary when you need to reach external services or enforce strict deterministic behavior.

    What are the three trigger types for Custom Agents? Manual (button press, @mention, or direct invocation), scheduled (recurring on a timer), and event-based (a database page is created, updated, deleted, or commented on). Pick the one that matches how the agent should know it’s time to act.

    When should I build a Worker versus letting an Agent handle something? Build a Worker when at least two of these are true: you’ve done the manual thing three or more times, the steps are stable, you need deterministic schema compliance, you’re calling an external service Notion can’t reach, or the judgment required is minimal. If fewer than two are true, stay manual or solve it with agent instructions.

    What’s the difference between a Tool, a Sync, and an Automation? A Tool is an on-demand capability that an agent calls when needed. A Sync is a background pipeline that runs on a schedule and writes to a database — no agent required. An Automation is an event handler that fires when something changes in the workspace — also no agent required. Tools are dispatched by agents; syncs and automations run on the infrastructure.

    What’s the Architect/GC distinction? When you chat with AI to design a system, the AI is playing Architect — thinking about what should be built. When a Custom Agent runs autonomously in your workspace, it’s playing General Contractor — executing the design. Same technology, different role. Don’t confuse them: let Architects design, let GCs execute.

    Does this apply outside of Notion? The Soda Machine Thesis is written around Notion’s specific implementation of Workers, Agents, and Triggers, but the underlying pattern (deterministic capabilities + judgment layer + trigger mechanism) applies to most modern agent frameworks. The vocabulary may differ. The architecture is the same.


    Closing note

    Mental models earn their place by changing the decisions you make. If the Soda Machine Thesis changes how you decide what to build next in your Notion workspace, it has done its job. If it doesn’t, discard it and find one that does.

    The reason I wrote it down is that the vocabulary available for thinking about AI-native workspaces in 2026 is still mostly vendor vocabulary, and vendor vocabulary optimizes for describing what a product can do rather than helping operators make good choices. The operator vocabulary has to come from operators. This is mine, offered in that spirit.

    If you’re running this pattern and have refinements, they’re welcome. The thesis is a living document in my own workspace. It gets smarter every time someone pushes back.


    Sources and further reading

    This mental model builds on earlier conceptual work across multiple AI tools (Notion Agent, Claude, GPT) contributing to the same thesis over a series of architecture conversations. The framing evolved through disagreement more than consensus, which is how mental models usually get better.