Notion vs a custom portal: where agencies outgrow it
Who each is for
Notion
Keep Notion for what it's actually good at: internal documentation, playbooks, knowledge base, the team wiki, project notes where nothing has to be enforced. It is very good at this, and you shouldn't replace it.
A custom build
Go custom for the part of your work clients see: the inquiry funnel, the review handoff, the sign-off trail, the assets they download, the invoices they pay, the milestones they approve. Notion is the wrong shape for any of these and the workarounds get expensive fast.
The honest version
I love Notion. I keep my own playbook in Notion. I will write your agency's playbook in Notion and tell you to keep using it for the team wiki. None of that is the question.
The question is whether Notion is the right tool for the part of your work your clients see, and the answer is almost always no, and the cost of pretending otherwise is real.
Where Notion is the right tool
Internal documentation. Playbooks. Knowledge base. Decision logs. Onboarding runbooks. Process diagrams. Project notes where nothing has to be enforced. Notion is excellent at all of this, and a custom build can't catch up cheaply.
Cross-team referenceability. Notion's linking model is good and its search works. For team-internal knowledge work, the friction is low.
The team wiki. Just keep using Notion for the team wiki.
Where Notion breaks
Client-facing portals. The moment a client logs in, Notion's model fights you on three axes:
- Brand. Your client should feel like they're in your product, not someone else's wiki. Super and other Notion-as-website tools approximate this; the approximation is the giveaway. Pixel-perfect branded surfaces aren't where Notion is invested.
- Steps. Notion has tags and statuses, not rules. A "status: approved" tag is a note, not a lock. Nothing records who changed it. Nothing tells the next person. Nothing stops the scope changing after sign-off. You can paper over this with Notion automations, and they break.
- Records. Keeping records as long as compliance requires, knowing who changed what, putting an important field back safely. Notion has a version history. It does not have a change log in any sense a finance or legal team would accept.
The "Notion plus a wiki of how to use Notion" pattern. The moment your team needs internal docs to explain the tool, your tool isn't the tool. It's a thing you've built, badly, in a tool that wasn't designed for it.
The seat-cost arithmetic at scale. Notion is cheap per seat, but Notion plus Super plus Zapier plus the Notion API integration to your accounting tool plus the maintenance time totals up. By month nine you've built a brittle stack on top of a doc tool.
What custom looks like alongside Notion
The agency portal I built for a 4-year client is the production version of this division. Notion is their team wiki; the portal is where client work runs. Different tools for different jobs.
The size of the gap is the part worth sitting with. A recount on 21 July 2026 put that portal at 84 database models, 255 endpoints and 9 scheduled jobs. No arrangement of Notion pages grows into that. You would be hand-maintaining the difference forever, and the maintenance is the invoice nobody quotes you.
The portal handles:
- Every inquiry moving through 12 fixed steps, with no status left implicit
- Sign-off on every deliverable, with a record of every step
- AI intake (follow-up questions, a brand brief drafted from the client's website)
- Cancellations that keep the record, remove the tasks and issue a credit, rather than deleting everything
- A nightly check that emails the admins when something looks wrong
- Change history kept for seven years on contracts and one year on everyday work
Notion handles:
- Team playbooks
- The brand book
- The "how we work" docs that get sent to new hires
- Long-form strategy notes that don't need to be enforced
- The team wiki
The split works because each tool is doing what it's actually good at.
How to decide
Run this in order:
- List the things in your Notion that have a status field. Anything with "Status: approved / pending / sent / etc." belongs somewhere that enforces the steps. Notion is the wrong tool for work that runs on statuses.
- Check whether you have docs explaining your Notion setup. If you have any, your Notion has stopped being a tool and started being a system you've built. That's the line.
- Ask what your client sees. If a client logs into Notion (via Super or invite-share), you're past the right line. Notion-as-portal is a workaround, not a fix.
- Run the seat-cost-plus-time arithmetic. Notion plus Super plus Zapier plus maintenance hours per quarter. Total it. Compare against a custom retainer.
If you've outgrown Notion-as-portal but you don't want to lose Notion-as-wiki, book a call. The custom build I do is designed to live alongside Notion, not replace it.
Common questions
- Why isn't Notion enough for client portals?
- Notion is a document tool. Client portals need enforced steps (a draft is not the same as a client-approved deliverable, and the difference has to be enforced, not just typed), a record of who approved what and when, and your own brand (clients shouldn't feel like they're inside someone else's wiki). Notion gives you none of these natively. Workarounds exist (Super, Notion API, embeds) but they're expensive in time and brittle in production.
- Can a custom portal replace Notion entirely?
- It shouldn't. Keep Notion for internal documentation and playbooks. Replace it only for what clients see and the work that needs enforced steps. The two tools live alongside each other. Notion is the team wiki. The custom portal is the production system.
- What's the biggest mistake agencies make with Notion as a client portal?
- Building 30 Notion pages with custom statuses, then maintaining a Notion-ops doc explaining how the statuses work. The Notion-ops doc is the tell. The moment you need a doc to explain your tool, your tool isn't the tool.
- How does the custom portal handle review handoffs that Notion can't?
- Through fixed steps. A deliverable goes from draft, to internal review, to internal approval, to client review, to client approval, and loops back when the client asks for changes. Each move checks that the step before it happened and sets off what should follow (notifications, emails, a record of the change). Nothing is left implicit. No admin can flip the status by editing a free-text field.
- Will Notion's AI features eventually solve this?
- No. Notion AI is good at what Notion is good at (summarizing pages, drafting copy in-doc) and it's the wrong category for what client portals need (enforced steps, a record of changes, approvals in several stages). The category mismatch isn't a feature gap, it's a tool-purpose gap.