Skip to content

Client Portal

End-to-end story. It reuses canonical pages. It does not re-teach screens. For a live workflow + messaging example, start from the template Client Approval Hub and Start from a template.

A client portal is a private app where each client sees their own requests, files, and status, and staff see everyone (or their queue).

When not to: a public catalogue with no login. Use a public list + Content landing page.

Notion databases: Clients (or Companies), Requests (or Deliveries), Users, optional Files/Versions. Connect Notion. Decide roles: Client, Staff, Approver.

  1. Create an app or clone Client Approval Hub.
  2. Private apps + Sign up with default Role = Client.
  3. Identity: map Role and Active.
  4. Data restriction on Requests by Client/Company. Disable restriction on the staff list.
  5. Screens (canonical guides, do not fork):
  6. App Navigation: different tabs per role. Hide Select Items and thank-you forms.
  7. First automation: wizard notify or approval.
  8. Publish & share. Test with View as Client and View as Staff.

None that are unique to “client portal.” If you need a control, open the canonical page in the step above.

Clients: home, their rows, submit, status, messages. Staff: queue and all rows. Approvers: Decision inbox.

Same as Plans. Approvals and messaging need entitlements. File versions consume upload meters — rebind files after sync (save failed).

A delivery portal: clients sign up, submit a delivery against contracted scopes (Select Items), upload files, see status. Staff use an update list + bulk received. Approvers use Decision. That is Client Approval Hub’s shape, not a new screen type.

Client sees everyone’s rows → restriction. Staff sees nothing → disable restriction on their list. Save failed after adding a files property → rebind. Empty approval inbox → role + published automation, or the publish used the wrong topic / item type. Reviews use client.review.requested (decision); intake uses client.intake.submitted (task); Wait lists client.decision.approve / changes_requested / reject. See Topics that perform work.

Client Review Hub in 15 Minutes (short). Topics that perform work. Mixed public–private. Other use cases stay stories that link the same pages.