Skip to main content
FlowFn
IntegrationsTemplatesPricingDocsBlogSign inStart free
All posts
Use-CaseSAASAuthTutorial

Build a Client Portal with FlowFn

Agencies, consultancies, and B2B teams all hit the same wall: clients want a single place to check their projects, invoices, and files — and emailing PDFs back and forth doesn't scale. A client portal fixes it, but building multi-tenant auth (each client sees only their own data) usually means real engineering. In FlowFn it doesn't: end-user sign-in, per-client data scoping, and a polished portal page are features you assemble, not code you write.

FlowFn Team · Product

16 Jul 2026 · 3 min read

This is a recipe — each part is its own FlowFn feature, wired together into a multi-tenant portal:

Architecture: client → sign in (end-user auth) → client portal (Playground, gated) → their rows in a projects Data Sheet, managed by your team

Piece FlowFn feature
The portal UI a Playground
Client sign-in end-user auth
Projects & invoices a Data Sheet
Per-client data server code + flowfn.userId
Your side your Team & roles

Let's build it.


Step 1 — The data behind it

A Data Sheet holds every client's projects and invoices — one row per project, tagged with the client it belongs to, plus status, owner, invoice, and amount. Your team manages this in the dashboard like any table.

The Atlas Studio projects Data Sheet — projects and invoices across all clients, tagged by client

This is the multi-tenant part: all clients live in one sheet, tagged by client. The portal's job is to show each signed-in client only the rows that are theirs.

Step 2 — Let clients sign in

Turn on end-user auth on the Playground. Your clients get their own accounts — separate from your FlowFn team login — stored in a users sheet with hashed passwords. Mark the portal page require sign-in, and an unauthenticated visitor is sent to a login page instead of seeing anything.

Step 3 — Scope the data to the logged-in client

This is the multi-tenant magic, and it's one line of intent: in the portal's server code, use flowfn.userId to look up who's signed in and return only that client's rows. A visitor can never see another client's projects, because the server never sends them. No row-level ACL framework — just "fetch where client = the current user."

Step 4 — Make it feel like theirs

Design the portal as a real product page — a greeting, project cards with progress, an invoices table:

The rendered Atlas Studio client portal — Acme Corp's projects and invoices after signing in

Because it's a Playground, the portal is fully yours to brand and lay out — this is what Acme Corp sees after signing in, and every other client sees the same page filled with their data. Host it on your subdomain or a custom domain and it's a portal your clients will actually use.


Why this beats a portal product

  • Multi-tenant, without the engineering. End-user auth plus flowfn.userId gives you per-client isolation — no custom auth service, no row-level ACL library.
  • It's a real product surface. The portal is a Playground you design pixel-by-pixel and serve on your own domain — not a locked-in template.
  • One source of truth. Projects and invoices live in a Data Sheet your team already manages; the portal is just a scoped window onto it.

Wrap-up

A client portal is a projects Data Sheet → a Playground with end-user auth → server code that scopes to flowfn.userId → your branded portal page. The sheet is the shared truth, sign-in identifies the client, and one scoping rule guarantees each client sees only their own — real multi-tenancy without a portal subscription.

Start with the projects sheet and a login-gated page that greets the user by name; even that proves the auth loop. Then add the per-client query and design the page. Give every client their own front door — and only their own data behind it.


That wraps our real-world use-case series — ten recipes from a support desk to this portal, each one built by combining the same handful of FlowFn features. The pattern never changes: a Form or Playground to collect, a Data Sheet to store, a Workflow or Agent to act, and a Visualizer to see. Pick the one closest to what you're building and start there.

Read next

Use-Case
Devops
Automation

Build an Incident Alerting & On-Call System with FlowFn

When something breaks at 3am, the difference between a blip and an outage is how fast the right person's phone buzzes. You don't need a pricey incident-management platform to get there. FlowFn can catch an alert from any monitor, log the incident, page whoever's on call, escalate if they don't answer, and show the whole team a live status board — built from a webhook, a workflow, a Data Sheet, and a dashboard.

FlowFn Team · 16 Jul 2026 · 3 min read

Use-Case
Internal-Tools
Automation

Build an Internal Ops Tool with FlowFn

Every company runs on a pile of small approvals — refunds, access requests, expenses, discounts — and most of them live in a shared spreadsheet plus a Slack thread nobody can audit. An internal ops tool fixes that: one private table your team works from, action buttons that approve or reject in a click, automatic notifications, and a queue board so nothing rots. FlowFn lets you build it in an afternoon — no internal-tools platform, no login wall to wire up.

FlowFn Team · 16 Jul 2026 · 3 min read

Use-Case
AI
Analytics

Build a Feedback & NPS Pipeline with FlowFn

Most feedback dies in a spreadsheet nobody reads. The value isn't in collecting responses — it's in knowing, this week, what people love, what they're frustrated by, and which unhappy customer needs a call today. FlowFn turns raw survey answers into that: a form collects responses, an AI step scores each one's sentiment and tags its theme, detractors trigger an alert, and a live dashboard shows the trend.

FlowFn Team · 16 Jul 2026 · 3 min read

Build your first workflow today

Start free — connect your apps, add AI, and ship an automation you can actually maintain. No credit card required.

Get started free