Automation Blog

Building Client Portals and Internal Tools with Softr and Airtable

How to turn an Airtable base into a real client portal, internal tool, or member directory using Softr — including data structure, permission rules, and the automation patterns that keep both systems in sync.

SoftrAirtableClient PortalsNo-Code

By Troy Tessalone · · 7 minutes

Automation Guide

A practical field guide from Automation Ace.

Building Client Portals and Internal Tools with Softr and Airtable

Airtable is an excellent database, but it was never meant to be the interface your clients or non-technical team members use directly — the grid view, the field editing, the risk of someone accidentally changing a formula. Softr sits on top of an Airtable base and turns it into a proper web app: a client portal with login-gated access, a project dashboard, an internal directory, or a self-serve resource center. The data still lives in Airtable. Softr is the front door. This guide covers how that pairing works in practice and the structural decisions that determine whether it holds up as your data grows.

Why Pair Softr with Airtable Instead of Building Custom

The traditional alternative to this pairing is a custom web app with its own database, which means hiring a developer, paying for hosting, and maintaining code for what is often a fairly simple need: let clients log in and see their own records, let team members submit and track requests, let members browse a directory. Softr handles the front end — authentication, page layouts, forms, search, filtering — while Airtable handles the data layer that your team already knows how to edit, automate, and report on. For most client portal and internal tool use cases, this combination gets you 90% of a custom build at a fraction of the cost and time.

The tradeoff is flexibility. Softr is opinionated about layout and interaction patterns. If your tool needs highly custom logic or interactions Softr doesn't support, you will eventually outgrow it. But for the common cases — portals, directories, dashboards, request forms, resource libraries — it rarely becomes the bottleneck.

Structuring Your Airtable Base for Softr

The base structure you'd use for a pure database is not always the right structure for a Softr-powered app. A few adjustments matter:

  • Add a "Portal User" or "Client" link field on every table that needs to be filtered by who is logged in. Softr's record-level permissions depend on being able to match the logged-in user to specific rows — usually via a linked record or a matching email field.
  • Keep a dedicated Users table separate from your Contacts or Clients table if the two don't perfectly overlap — not every contact needs portal access, and not every portal user is a client (some may be internal staff with different views).
  • Use Single Select and Linked Record fields generously — Softr's filtering and list/detail views work best with structured fields rather than long-text fields that require parsing.
  • Add a status or visibility field on records you don't want every portal user to see by default (e.g., "Draft" project records that shouldn't appear until "Active").

For the broader principles of structuring Airtable as a database that supports multiple consumers — automations, reports, and now a Softr front end — see using Airtable as an operations database.

Client Portal Pattern: Project Status and Document Access

The most common Softr + Airtable build is a client portal where each client logs in and sees only their own projects, invoices, and shared documents. The structure:

  1. Clients table: one record per client company, with a linked Portal Users field for who can log in
  2. Projects table: linked to Clients, with Status, Start Date, Key Milestones, and a long-text or attachment field for shared files
  3. Softr List Block: on the client's dashboard page, filtered to show only Projects where the linked Client matches the logged-in user's record
  4. Softr Detail Page: clicking into a project shows the full record — milestones, attached documents, status history

The permission filter is the part that has to be exactly right. Softr's "logged-in user" condition needs to match against a field that uniquely identifies the client — usually their email, linked through the Portal Users table back to the Clients record. Test this with two different client logins before launching; a misconfigured filter is the single most common Softr portal bug, and it's the one that exposes one client's data to another.

Internal Tool Pattern: Request and Approval Tracker

For internal tools — a marketing request tracker, a PTO approval system, an equipment request form — the Softr build looks similar but the audience and permission logic differ:

  1. Requests table in Airtable with Requester, Type, Status, Approver, and Notes fields
  2. Softr Form Block on a "Submit a Request" page, writing directly into the Requests table
  3. Softr List Block filtered to "My Requests" (where Requester equals the logged-in user) and a separate "Pending My Approval" view for managers (where Approver equals the logged-in user and Status equals "Pending")
  4. Airtable Automation that notifies the approver via Slack or email when a new request is submitted

This pattern replaces what would otherwise be a chain of emails and a forgotten spreadsheet. For the broader approval workflow logic that sits behind tools like this, see approval workflow automation.

Keeping Softr and Airtable in Sync with Zapier

Softr reads from and writes to Airtable in real time for most interactions, but there are cases where you want automation outside of Softr's native form submissions — particularly when data needs to flow between Airtable and other tools in your stack as a result of something happening in the portal.

Useful Zapier patterns layered on top of a Softr + Airtable app:

  • New portal signup → CRM sync: when a new record is created in the Users table (via Softr's signup form), create or update the matching contact in your CRM
  • Status change → notification: Airtable Automation or Zapier trigger on a Status field change in the Requests or Projects table → send a Slack or email notification to the relevant party
  • Document upload → processing: when a client uploads a file through a Softr form into an Airtable attachment field, trigger a Zap to copy it to Google Drive or Dropbox for long-term storage and backup, since Airtable attachment storage has limits at scale

For document and file handling patterns, see Google Drive file export and link formats.

Permissions: The Part Worth Getting Right

Softr's record-level permission system is powerful but easy to misconfigure, especially as a base grows past its original design. A few practices that prevent the most common mistakes:

  • Always test every list and detail page logged in as a non-admin test user before launch — what you see as the base owner is not what a portal user sees
  • Use Airtable's own collaborator permissions to restrict who can edit the base directly, separate from who can use the Softr app — these are two different access layers and both need to be locked down
  • Avoid exposing Airtable's API key or base ID in any public-facing Softr block configuration; Softr handles the connection server-side, but double-check any custom code blocks you add
  • Re-test permission filters any time you add a new linked table or change how Users relate to Clients — a structural change to the base can silently break a filter that worked before

For a broader checklist on protecting client-facing automation stacks, see the automation security checklist for small businesses.

When Softr Is the Right Choice — and When It Isn't

Softr fits best when the need is a structured, list-and-detail style interface over data your team already manages in Airtable — portals, directories, dashboards, request systems. It is the wrong tool when you need complex calculated views beyond what Airtable formulas support, real-time collaborative editing inside the app itself, or deeply custom interaction patterns that don't map to Softr's block library. In those cases, a custom-built front end against the Airtable API is the better investment.

For most client portal and internal tool requests we see, though, Softr on top of an existing Airtable base is the fastest path from "we need a tool for this" to a working, secure system the team can maintain without a developer on retainer. If you're evaluating it, Softr's plans are here. For help structuring the Airtable base or building the Softr permissions and automation layer correctly, talk to Automation Ace.

The base structure decisions you make before connecting Softr are the ones that are hardest to change later. Get the linked-record relationships and the Users table right at the start, and the portal build itself moves fast. Get them wrong, and every new feature becomes a permissions puzzle.
SoftrAirtableClient PortalsNo-Code

Disclaimer: This article may include links to apps, products, or services. Some links may be affiliate links, which means Automation Ace may earn a commission at no extra cost to you.

Build Better Systems

Ready to automate with confidence?

Share your tools, process, and goals. Automation Ace can design the workflow, integration, AI assist, or code bridge that fits your business.

Start a Project