Multi-Workspace setup for agencies
Multi-Workspace for agencies
The Agency plan unlocks up to 10 workspaces under one account. This guide explains when to split into multiple workspaces, how to invite client teams, and the patterns we’ve seen agencies converge on.
When to use multiple workspaces
| Scenario | Recommended structure |
|---|---|
| Internal agency operations + client work | 1 internal workspace + 1 workspace per major client retainer |
| White-label reseller | 1 workspace per end-customer; per-workspace branding is being explored (see Brand Color) |
| Different teams handling different verticals (e.g., e-comm vs. SaaS) | 1 workspace per vertical, members per team |
| Solo agency, all clients in one bucket | Single workspace, use Site Groups to organize client subsets |
Anti-pattern: creating a workspace per individual client site. Workspaces are for ownership boundaries, not site organization. Use Site Groups within a workspace to group sites without forking.
Member roles
Within each workspace:
| Role | Permissions |
|---|---|
| Admin | Everything: invite/remove members, manage subscription, push tokens, edit definitions, view activity |
| Member | Push tokens, edit definitions, view activity. Cannot manage members or billing. |
| Client (Agency plan, optional) | Read-only on a subset of sites assigned to them. Used to give end-customers visibility into what’s been published, without edit rights. |
A user can be admin in one workspace, member in another, client in a third — invitations are per-workspace.
Inviting team members
- Workspace → Settings → Members
- Click Invite Member
- Enter email + select role
- (Optional, Agency) Restrict to specific Site Groups for Client role
- Click Send Invite → email goes via Resend, valid 7 days
The invitee:
- Clicks the email link → onboards if no account, or auto-joins if existing
- Lands directly in the workspace they were invited to
Brand Color (white-label / co-branded mode) {#brand-color}
Status: Per-workspace branding is not yet available in the live product and not on the committed roadmap — it’s a concept we’re exploring, with no date attached. The settings described below are the envisioned UI. Today you can already organise client work via separate workspaces, client logins, and audit trails per workspace.
Agency plan will unlock per-workspace brand color override. Workspace → Settings → Branding:
- Primary color (hex) — replaces Hubbee blue across the workspace UI
- Logo override (PNG/SVG, light + dark variant) — appears in the top-left
- Custom subdomain (e.g.,
mybrand.app.hubbee.io) — Pro+Agency, with TLS
When a Client-role member logs in to a branded workspace, they see your branding, not Hubbee’s. Useful for white-label resellers.
Limit: branding scopes to that workspace only. Cross-workspace navigation always shows Hubbee branding to keep workspace boundaries visually clear.
Site Groups
Within a workspace, sites can be organized into Groups (e.g., dach-region, b2b-clients, legacy-sites). Push targets:
- All sites in workspace (broadest)
- Selected groups (e.g., push GDPR-banner update to all DACH sites)
- Selected sites (most specific)
Groups are a many-to-many relationship — a site can be in multiple groups.
Cross-workspace token reuse
There is no automatic cross-workspace token sync. This is intentional — workspaces are ownership boundaries.
Patterns for shared content (e.g., shared legal boilerplate across all your client workspaces):
- Manual copy-paste — tedious, but works for occasional updates
- Export → Import — workspace → Account → Data Export → JSON; manually import in another workspace
- External source — write the boilerplate in Google Sheets / Airtable, sync into each workspace via the External Sources integration
If you need true cross-workspace sync, consider whether those should really be separate workspaces.
Switching workspaces
Workspace-switcher in the top-left of the dashboard. Persists across sessions. Each workspace has its own:
- Sites, tokens, activity
- Members, branding
- Subscription (Free/Pro/Agency, billing email)
- Plan-limits
You can run different plans in different workspaces — e.g., your internal agency workspace on Pro, two big client retainers on Agency, two small clients on Free (each with their own billing).
Billing patterns for agencies
Three common patterns:
A. You eat the cost (markup-pricing model)
- Single payment method, all workspaces billed to your card
- You bake the cost into your client-retainer pricing
- Clean for clients (they pay you, not Hubbee)
- You absorb price changes
B. Direct client billing (transparent-pricing model)
- Each workspace owned by the end-client
- Client provides own card, billed directly by Paddle
- You’re invited as admin, your client sees the invoice
- Cleanest for compliance/tax — you don’t touch their money
C. Hybrid
- Internal + small clients on your card
- Big clients on direct billing
- Allows up-and-cross-selling per client
Audit & accountability
Every workspace has its own Activity Stream. Filterable by:
- Member (who edited)
- Site
- Token
- Date range
- Action (push / definition-change / member-change)
Export-as-CSV is on every list view. Standard agency-billing artifact.
Suggested next reads
- Token Management Best Practices — how to design tokens that scale
- Plan Comparison — when to upgrade Pro → Agency
- Troubleshooting Plugin Connection — for client onboarding
Was this article helpful?
Related articles
Still stuck?
Open a support thread and we'll get back to you. Most replies arrive within a few hours on business days.
