Shipping White-Labeled Client Portals with $0 Seat Fees: The Agency Playbook
How agencies and consultants build custom client portals with custom domains, tenant-isolated RBAC, and 1-click client handover—keeping 100% of their retainer margin.

Key takeaways
- Stop losing agency margin to $39/seat portal tools and Retool viewer fees. Run unlimited client users on a flat $29 (Pro) or $79 (Business) per-app cost.
- 3-line white-labeling: Customize the app icon, title suffix, theme tokens, and custom domain with zero "Powered by" watermarks.
- Clean client isolation & handover: Group each client's apps into an isolated Dojo Project, or hand over the repository and database in one click when the engagement ends.
Why per-seat portal tools break agency economics
When an agency builds a client portal on Retool, Airtable, or a SaaS portal builder, the client inevitably asks to invite 40 stakeholders. Suddenly the software bill jumps by $600–$1,500/month—eating straight into your monthly retainer or forcing an awkward upsell conversation.
With FrogBot and Dojo, client seats cost $0. You can charge a client a $500/month hosting and maintenance retainer while your underlying Dojo cost is fixed at $29 or $79/month.
Step 1: Tenant-isolated row-level access control
Every collection in FrogBot supports declarative access control functions that filter queries automatically at the database layer:
export const Deliverables: CollectionConfig = {
slug: 'deliverables',
access: {
read: ({ req }) => {
if (req.user?.role === 'agency-admin') return true;
return { clientOrg: { equals: req.user?.clientOrg } };
},
},
fields: [
{ name: 'title', type: 'text', required: true },
{ name: 'clientOrg', type: 'text', required: true, index: true },
{ name: 'status', type: 'select', options: ['Draft', 'Needs Client Approval', 'Approved'] },
],
};Step 2: White-label the Admin UI in 3 lines
Swap in your client's brand mark, favicon, and custom domain in frogbot.config.ts:
admin: {
meta: {
titleSuffix: '— Acme Client Portal',
appIcon: '/acme-logo.svg',
},
}Step 3: Isolate client projects and hand off cleanly
On the Dojo Business plan ($79/app/mo), you can place each client's apps inside their own Project with an isolated access list so client stakeholders only ever see their own environment. And if a client ever buys out the project to run in-house, you can transfer the Dojo project to their organization—or hand them a standard git clone + pg_dump with $0 transfer fees.
