BuildBuild a client portal
Build/Build a client portal
9 min read·03 / 09

Build a client portal

A portal is a branded app for one client, built from blocks. You choose which blocks appear, point them at your mapped fields, scope the data, and publish — usually in a single sitting.

1 · Add the client

Open Clients → Invite client. A client account is the container a portal hangs off — it holds the people who can sign in and the scope that filters their data.

console / clients
The Clients list — each row is one account, with its portal status, plan, and MRR.
The Clients list — each row is one account, with its portal status, plan, and MRR.
  1. 1Invite client opens the new-account flow.
  2. 2Portal status: Draft, Live, or Paused.
  3. 3Tabs filter by status so a long client list stays manageable.
  1. 1
    Name the account and pick the scope value
    Choose the client name in your base that this account maps to. PortalTable uses it to filter every block to that client's rows.
  2. 2
    Add client contacts
    Enter the email addresses that may sign in. They become free client users — invite as many as you like, no per-seat cost.
  3. 3
    Leave it as a draft for now
    Drafts are private to your team. You'll publish once the blocks and branding look right.

2 · Choose blocks

Blocks are the feature modules a client sees down the left of their portal. Add only what a client needs — a design retainer might use Projects, Approvals, and Files, while a fractional-ops engagement leans on Projects and Invoices.

Projects
Live status, milestones, and owners pulled from your base views. The block most portals start with.
Approvals
Send deliverables for sign-off and capture timestamped decisions against the record.
Files
Drag-and-drop uploads routed to the right project, plus deliverables you share down.
Invoices
Issue invoices, take online payment, and sync paid status back to your base.
Messages
A thread per portal so client conversation sits next to the work, not in email.
Forms
Embed an intake or request form that writes new records straight into your base.
Blocks read your mapping
Each block uses the fields you set in Connect your Airtable base. If a status pill looks wrong, the fix is usually in field mapping, not the block.

3 · Wire up intake (optional)

The Forms block lets clients submit structured requests — a creative brief, a support ticket, a new-project intake — that land as records in your base. Build the form once in the console and embed it in any portal.

console / forms
Forms connect directly to a base and table; submissions become records you can scope into portals.
Forms connect directly to a base and table; submissions become records you can scope into portals.
  1. 1New form, or start from a template.
  2. 2Connected bases — forms write to the same Airtable you serve.
  3. 3Each card shows its destination base ▸ table and live submission count.

4 · Preview and publish

Use Preview as client to see exactly what the client will — scoped to their data, with nothing internal showing. When it looks right, flip the account from Draft to Live. The client gets a magic-link invite to their portal.

portal / client view
The published result — a branded home the client signs in to. This is what Preview shows you.
The published result — a branded home the client signs in to. This is what Preview shows you.
  1. 1Your logo and name — no PortalTable branding on paid plans.
  2. 2Only the blocks you enabled appear in the client's rail.
  3. 3Cards summarize just this client's projects, approvals, and balance.
Publish to a custom domain
On Starter and up, serve each portal from your own domain (like clients.youragency.com) over HTTPS with an automatic certificate. Set it under Portal branding → Domain.