🏗️ Use Case Demo · Client Portal

Client Portal
Automation Stack

How Airtable, Softr, Make.com, Stripe, Gmail, Google Drive, and Slack connect to deliver a fully automated client portal — from intake to invoicing.

Airtable Softr Make.com Stripe Gmail Google Drive Slack
📋
Intake Form
Airtable
Airtable
Make.com
Make.com
Softr
Softr Portal
Client Live

Step 1 · Overview

One trigger.
Everything spins up.

A new client fills out your intake form. That single event kicks off 7 parallel automations — no manual setup required on your end.

📥
Client Submits Intake
Typeform, Jotform, or a native Softr form captures company name, contact, service tier, and billing info. That's your trigger.
Make.com Fires 7 Actions
Create Airtable record → provision Softr user → generate Drive folder → create Stripe customer → send welcome email → post Slack alert. All instant.
🔑
Client Gets Portal Access
Login link arrives via Gmail. They see their projects, invoices, documents, and team contacts — branded to your agency. Their data only, no one else's.

AirtableStep 2 · Airtable

The database
behind the portal.

Airtable acts as your single source of truth — clients, projects, deliverables, invoices, and contacts all linked in one base.

BASE · CLIENTS TABLE
CompanyStatusMRRPM
Nexus Group● Active$4,500Sarah K.
Vantage Labs● Active$2,200Mike T.
Crestline Co.◐ Onboarding$3,800Sarah K.
Harbor Media○ Paused$1,500Mike T.
📁 Linked Projects 💳 Invoices Table 📄 Deliverables 👤 Contacts
🔗 Linked Tables
Each client record links to their Projects, Deliverables, and Invoices tables. One record update cascades across the entire base automatically.
👁️ Views for Every Role
Your PM sees all clients. Your SDR sees only their pipeline. Clients see nothing directly — they get the Softr portal instead.
⚡ Make.com Writes Here
Every automation — onboarding, invoicing, status changes — writes back to Airtable first. It's always the source of truth, never out of sync.

SoftrStep 3 · Softr

What your client
actually sees.

Softr pulls live data from Airtable and renders it as a branded portal — with login, per-client permissions, and real-time sync built in. Click the tabs below to explore each view.

portal.yourcompany.com
Good morning, Alex 👋
Your account overview — updated live from Airtable.
3
Active Projects
$4,500
MRR
2
Pending
Kick-off call completed
Mar 1
Onboarding questionnaire
Mar 3
Review campaign draft
Mar 10
Approve March invoice
Mar 15
Active Projects
Live status from Airtable — no refresh needed.
Q1 Lead Gen Campaign
Due Mar 31
75%
Email Infrastructure Setup
Due Mar 15
90%
SDR Sequence Build
Due Apr 10
30%
Invoices
Pay directly from your portal via Stripe.
March Retainer
Due Mar 15
$4,500
⏳ Pending
February Retainer
Paid Feb 14
$4,500
✓ Paid
January Retainer
Paid Jan 15
$4,500
✓ Paid
Documents
Shared securely from Google Drive.
📄
SOW_v1.pdf
Mar 1
📊
Q1_Report.xlsx
Mar 5
🎨
Campaign_v2.pptx
Mar 8
📝
Meeting_Notes.docx
Mar 3
🔐 Per-client permissions
Each user sees only their own data. Row-level filtering via Airtable.
🎨 Fully white-labeled
Custom domain, logo, colors. Looks like you built it from scratch.
📱 Mobile-ready PWA
Installable on mobile as a web app. No app store needed.
⚡ Real-time sync
Airtable updates flow instantly into the portal. No refresh needed.

Make.comStep 4 · Make.com

The automation
doing all the work.

Two Make.com scenarios handle the heavy lifting — one for client onboarding, one for ongoing billing events.

SCENARIO 1 · CLIENT ONBOARDING
1
📋
Watch Form Submission
Trigger: Typeform / Softr form
2
Airtable
Create Airtable Record
Clients table → auto-populate all fields
3
Softr
Provision Softr User
Create login → assign to client group
4
Google Drive
Create Drive Folder
Auto-name by company → set permissions
5
Stripe
Create Stripe Customer
Save customer ID back to Airtable
6
Gmail
Send Welcome Email
Portal link + first steps + PM intro
7
Slack
Post to Slack #new-clients
Company name, MRR, assigned PM
SCENARIO 2 · MONTHLY BILLING
1
📅
Schedule Trigger (1st of month)
Fires automatically each billing cycle
2
Airtable
Fetch Active Clients
Filter: Status = Active
3
Stripe
Create Stripe Invoice
Line items pulled from Airtable deliverables
4
Softr
Update Softr Portal Status
Invoice tab shows "Pending Payment"
5
Gmail
Email Invoice to Client
Branded Gmail with pay link embedded
Make.com connects all 7 tools in one visual canvas — no code, no webhooks to configure manually. Avg build time: 4 hours.

StripeStep 5 · Stripe

Invoicing on
autopilot.

Make.com creates Stripe invoices automatically each month. Clients pay right from their portal — no PDF attachments, no chasing.

INV-2025-0042
Due March 15, 2025
⏳ Awaiting Payment
$4,500.00
Nexus Group · March Retainer
Lead Generation Retainer$2,500
Email Infrastructure Management$1,200
SDR Management (20 hrs)$800
Total Due$4,500.00
🤖 Auto-generated monthly
Make.com runs on the 1st of every month. Pulls line items from the Airtable deliverables table. Zero manual work from your team.
🔔 Payment webhooks back to Make
Stripe fires a webhook on payment → Make.com updates Airtable → Softr portal shows "Paid" → Slack pings your finance channel.
📊 MRR tracked in Airtable
Every payment writes back to your Invoices table. MRR, ARR, and collection rate always current — no spreadsheet reconciliation.
💬 Automated reminders
Unpaid after 7 days? Make.com sends a Gmail reminder automatically. Your team never has to chase a payment again.

GmailStep 6 · Gmail

Every client email,
sent automatically.

Make.com triggers Gmail at every key moment — onboarding, invoicing, milestone updates, and payment confirmations.

EMAIL TRIGGERS
🎉 Welcome — portal login + onboarding steps
💳 Invoice Ready — branded with pay-now link
Payment Reminder — 7 days after invoice
Payment Confirmed — receipt + next steps
📣 Milestone Update — deliverable completed
🔄 Monthly Report — performance summary
All sent via Gmail · fully logged in Google Workspace →

Google DriveStep 7 · Google Drive

One folder per client,
auto-created.

Make.com creates a dedicated, pre-structured Google Drive folder for every new client — organized, permissioned, and linked in their portal.

📁 CLIENTS / NEXUS GROUP /
📄
SOW_v1.pdf
Mar 1
📊
Q1_Report.xlsx
Mar 5
🎨
Campaign_v2.pptx
Mar 8
📝
Meeting_Notes.docx
Mar 3
📁
Invoices/
3 files
📁
Assets/
12 files
📁 Folder created on signup
Make.com creates Clients / [Company Name] with pre-built subfolders automatically. No manual Drive setup ever again.
🔐 View-only for clients
Clients access documents through Softr, not direct Drive links. They see what you share — nothing else in your Drive is ever exposed.
🔗 Drive URL stored in Airtable
The folder URL writes back to the client's Airtable record and surfaces in Softr as a direct link. Always one click away.
Powered by Google Drive · Google Workspace

SlackStep 8 · Slack

Your team always
knows what's happening.

Slack gets notified at every key moment — new clients, payments received, deliverables approved, and anything needing human attention.

# new-clients
🤖
Omni BotToday 9:01 AM
🎉 New client onboarded!
Nexus GroupMRR: $4,500 · PM: Sarah K. · Tier: Growth
Portal provisioned · Drive folder created · Welcome email sent ✅
# billing-alerts
💳
Stripe BotMar 14 · 2:42 PM
Payment received
Nexus Group · March RetainerAmount: $4,500.00 · Invoice INV-2025-0042
Airtable updated · Receipt emailed ✅
⚠️
Billing BotMar 8 · 8:00 AM
Invoice overdue — Harbor Media · $1,500 · 7 days past due. Reminder auto-sent.
SLACK CHANNELS
💬 #new-clients
Every signup with full context — MRR, tier, assigned PM, tools provisioned.
💳 #billing-alerts
Payment received, invoice created, overdue warnings, monthly summary.
✅ #deliverables
Task marked complete in Airtable → Slack notifies PM and client lead instantly.
🚨 #escalations
Overdue tasks, payment failures, or form submissions needing a human response.

Step 9 · Outcome

What you actually
get from this.

Real numbers from agencies running this stack. Less admin, faster payments, happier clients.

~0
Manual steps to onboard a new client
48h
Average build time for the full stack
7+
Hours saved per client per month on admin
Faster invoice collection vs. email-only
100%
Clients have real-time visibility into their work
$0
Developer cost to build and maintain
💬
"Before this, onboarding a new client took 3 hours — folders, logins, billing, CRM. Now it takes 4 minutes. We hit send on the intake form and everything else happens automatically."
— Operations Director, B2B Agency · 22 active clients

Josh Leavitt — Founder, Omni Online Strategies
From the founder
"This is the exact stack I recommend to every agency owner who's tired of onboarding clients manually."
I built this demo because I kept having the same conversation — agencies spending 3–5 hours per new client just on admin: creating folders, sending login credentials, setting up billing, updating the CRM. None of it requires a human. All of it can be automated with tools you probably already pay for.

Airtable and Softr are a genuinely underrated pairing. Airtable handles the data. Softr handles the front-end. Make.com connects everything. The result is a portal that looks like it cost $50k to build — and runs itself once it's live.
Josh Leavitt
Founder & CEO · Omni Online Strategies
Talk to Josh → Book a Scope Call
About This System
Client Portal Automation Stack — Self-Service Client Access and Project Visibility
This system builds a white-labeled client portal on top of GoHighLevel that gives agency clients real-time visibility into their campaign performance, deliverable status, upcoming meetings, invoice history, and communication history — without the agency manually sending status updates or answering repetitive questions. Built for marketing agencies, consulting firms, and B2B service providers whose account managers spend 30 to 60% of their time on client status updates, reporting emails, and answering questions that a self-service portal would handle automatically.
System Facts
CategoryDetail
Manual Process ReplacedAccount managers manually compiling weekly status reports, responding to campaign performance questions, sending deliverable updates, and forwarding meeting notes to clients
TriggerClient logs into their branded portal — all information is pulled live from GoHighLevel, connected campaign platforms, and project management tools
What the System DoesDisplays live campaign metrics, deliverable status, project milestones, upcoming meeting schedule, invoice history, and communication log — all in one branded interface the client accesses themselves
Who Uses ItAgency clients (their self-service interface); account managers (reduced inbound status questions); agency principals (client health visibility across all accounts)
IntegrationsGoHighLevel (CRM, communications, invoices), n8n (data aggregation), Google Analytics or Meta Ads (campaign metrics), project management tool (deliverable status), Google Calendar (meeting schedule)
OutputWhite-labeled client portal with live data — no manual report compilation required
Time SavedAgencies with 10 to 20 clients typically save 5 to 10 hours per week in account management time — the equivalent of reclaiming one full business day per week
Client Experience24/7 access to current project status eliminates anxiety-driven check-in emails and builds client confidence in the agency's transparency and organization
Sources & Research
Frequently Asked Questions

An agency client portal is a branded web interface that gives each client secure, self-service access to the information relevant to their account — campaign performance metrics, project deliverable status, upcoming meetings, invoice history, and communication log. Rather than waiting for a weekly status email or sending a check-in message to their account manager, the client logs into their portal and sees current information immediately. The portal is white-labeled with the agency's branding, not GoHighLevel's, and each client sees only their own data.

The portal displays: live campaign performance metrics (Google Ads, Meta Ads, or SEO rankings pulled via API), deliverable and project milestone status (what is complete, in progress, or upcoming), the next scheduled meeting and past meeting summaries, invoice history with payment status, and a message thread for asynchronous communication with the account team. The specific modules displayed are configured per client based on their service package.

The portal runs on GoHighLevel's client portal feature, which allows agencies to configure a custom domain, custom logo, custom color scheme, and custom terminology. The client accesses the portal at the agency's domain — for example, clients.youragency.com — not at a GoHighLevel URL. From the client's perspective, it is the agency's own software. Omni builds and configures this white-labeling as part of the portal setup.

n8n connects to each advertising platform — Google Ads API, Meta Marketing API, Google Analytics, or others — on a configured schedule (typically every 4 to 6 hours) and writes the latest performance metrics to the GoHighLevel custom fields associated with each client's record. When the client views their portal, they see the most recently synced metrics. This is not a manual pull — the n8n workflow runs automatically on schedule and updates the portal data without any account manager action.

Yes. GoHighLevel's portal includes a messaging interface where clients can send questions or requests that route directly to the account manager's GoHighLevel inbox. This replaces email chains for routine questions, keeps all client communication in one place, and allows AI to draft suggested responses to common questions. Each message is timestamped and archived in the client's communication log for reference.

Portal setup involves: configuring the GoHighLevel client portal module and custom domain, building the white-label styling with the agency's branding, setting up n8n workflows to pull campaign metrics from each connected platform, configuring the deliverable status display linked to the project management tool, and creating each client's portal account with their specific services mapped to the correct display modules. A standard setup for an agency with 10 active clients and 2 to 3 connected campaign platforms takes 7 to 10 business days.

Each client's portal is configured with the modules relevant to their specific service package. A client receiving only SEO services sees SEO ranking metrics and deliverables but not Meta Ads data. A client on a full-service package sees all modules. GoHighLevel's portal permission system allows granular control over which data is visible per client without requiring a separate portal instance for each client.

How It Works
STEP 01

GoHighLevel client portal module configured

The GHL client portal is enabled on the agency's account, custom domain configured, and white-label branding applied with agency logo, colors, and terminology.

STEP 02

Client accounts created and service modules mapped

Each active client is created as a portal user with their specific service package mapped to the relevant display modules. Client login credentials delivered.

STEP 03

n8n workflows built for live metric sync

n8n connects to each client's advertising platforms via API and syncs performance metrics to their GoHighLevel client record on a configured schedule.

STEP 04

Deliverable and project status integration built

Project management tool or Google Sheets connected to the portal to display current deliverable status, milestone completion, and upcoming project dates.

STEP 05

Invoice and payment history connected

GoHighLevel's invoice module configured to display invoice history and payment status within each client's portal view.

STEP 06

Agency team trained and clients onboarded

Account managers trained on the portal admin interface. Clients receive a personalized onboarding message with their portal URL and login credentials.