How to Structure a ClickUp Workspace for Client Work
Short answer: For most agencies, a Folder per client inside a Space per service line scales better than a Space per client. Space-per-client feels intuitive and breaks somewhere around 15 clients, when the sidebar becomes unusable and every cross-client view requires manual assembly. The decision that actually matters isn't which one you pick — it's whether your structure is driven by how you deliver work or by who you deliver it to. Structure by delivery, and clients become a dimension you filter on rather than a dimension you build on.
The four structures agencies actually use
Space per client
Each client gets a top-level Space. Their Folders, Lists and tasks live inside it.
Why people choose it: it's the most obvious mapping, permissions are simple, and one client's work never touches another's.
Where it breaks: the sidebar. At 8 clients it's fine, at 15 it's a scrolling problem, at 30 nobody can find anything. Worse, every Space has its own statuses, custom fields and automations — so "how do we do onboarding" has thirty slightly different answers, and changing your process means editing thirty Spaces.
Use it when: you have very few clients, each with genuinely different workflows, or contractual isolation requirements.
Folder per client, inside a service Space
Spaces map to what you do — Web, Retainers, Paid Media. Each client is a Folder inside the relevant Space.
Why it works: statuses, custom fields and automations are defined once per Space and inherited by every client Folder. Your process lives in one place. Cross-client views are trivial because everything for a service line is already in one Space.
The tradeoff: a client using three service lines exists in three Spaces. That bothers people more in the abstract than in practice, because you rarely need "everything for this client" in one view — and when you do, a filtered view or a custom field solves it.
Use it when: you're running more than about ten clients with repeatable service offerings. This is the default recommendation.
List per client, inside a service Folder
A flatter version — Retainers Space, 2026 Q3 Folder, one List per client.
Why it works: minimal hierarchy, very fast to navigate, easy to template.
Where it breaks: no room to separate workstreams within a client. Fine for single-service retainers, cramped for anything multi-threaded.
Use it when: your engagements are uniform and single-stream.
One List, client as a custom field
All work in a small number of Lists, with a Client custom field driving views.
Why it works: maximum flexibility for reporting, and adding a client requires no structural work at all.
Where it breaks: permissions. You cannot cleanly restrict access by a custom field value — ClickUp's sharing model works on locations. If clients or contractors need scoped access, this structure fights you.
Use it when: your work is high-volume and short-cycle, and nobody external needs access.
The five decisions that matter more than the shape
1. Statuses belong to the service, not the client
If two clients receiving the same service have different status sets, you can't compare anything, and every report is manual. Define statuses per Space, per service line, and resist per-client exceptions — the exception is almost always a workflow problem being solved with configuration.
2. Decide where internal work lives before you need to
Sales, hiring, your own marketing, admin. These should be in a separate Space that has nothing to do with client delivery. Agencies that skip this end up with internal tasks scattered inside client Folders, which is both a findability problem and an exposure problem the moment anyone external gets access.
3. Separate ongoing from project
Retainers and project work have different rhythms. Retainer work is recurring and cyclical; project work has a start and an end. Mixing them in one structure means your recurring tasks clutter project views and your project deadlines get lost in recurring noise. Different Spaces, or at minimum different Folders.
4. Build the template before the fifth client
Once you know the shape, save it as a Folder or List template with the statuses, standard task set, and custom fields already in place. Onboarding a client should be applying a template, not making decisions. If setting up a new client takes more than a few minutes, you haven't templated it — you've been rebuilding it each time.
5. Name tasks as though someone outside your team will read them
Because eventually someone will — a new hire, a contractor, a client. "Fix the thing" costs nothing today and costs real time in six months. It's also the difference between a defensible billing record and a pile of hours.
How to migrate without stopping work
If you're on Space-per-client and it's straining, you don't need a big-bang restructure.
Build the target structure empty. Create the service Spaces with the statuses and custom fields you want. Nothing moves yet.
Move one client. Pick a low-stakes one. Move their Folders in and see what breaks — usually automations and saved views, occasionally Dashboards.
Fix, then template. Once one client works cleanly, save that shape as the template.
Migrate in batches, newest clients first — they have the least history and the fewest dependencies.
Archive the old Spaces rather than deleting them. You'll want the history.
One warning before you move anything: moving a Folder, Subfolder or List from a private Space to a public one makes its tasks public. If anyone external has access to the destination, check what becomes visible before you drag.
The problem no structure solves
You can get all of this right — clean Spaces, inherited statuses, templated onboarding, disciplined naming — and your clients still can't see any of it.
That's not an architecture failure. ClickUp is an internal tool. It's built for the people doing the work, and every structural decision above optimizes for your team. The people paying for the work are outside the system by design.
The usual bridges each have a cost. Guest access puts clients inside the workspace you just organized, exposes whatever is in the locations you share, and bills per contact once you exceed your plan's guest allowance. Public links are free but view only. Building a portal yourself works and then becomes software you maintain.
BluOps reads whatever structure you've built and renders each client their own portal — their projects, progress, files, messages and invoices — without restructuring anything and without putting them in your workspace. Which also means you can reorganize freely later without changing what any client sees.
Frequently asked questions
Should each client get their own Space in ClickUp?
Usually not past about ten clients. Space-per-client duplicates your process configuration for every client and makes the sidebar unmanageable as you grow. A Folder per client inside a Space per service line keeps statuses and automations defined once.
How many Spaces should an agency have in ClickUp?
Enough to separate your service lines plus one for internal work — for most agencies that's between three and eight. If the number is growing with your client count rather than your service offering, the structure is organized around the wrong dimension.
Where should internal agency work live in ClickUp?
In its own Space, entirely separate from client delivery. Sales, hiring, admin and your own marketing don't belong inside client Folders — it makes them hard to find and creates an exposure risk if anyone external is ever granted access.
How do I handle a client that uses multiple services?
They exist as a Folder in each relevant service Space. If you need a single view of everything for that client, use a filtered view or a Client custom field rather than restructuring the hierarchy around them.
Should I use ClickUp templates for client onboarding?
Yes, and build it before your fifth client. A Folder or List template carrying your statuses, standard tasks and custom fields turns onboarding from a series of decisions into a single action. If setup takes more than a few minutes, it isn't templated yet.
Can clients see my ClickUp structure?
Only what's shared with them, and guests can't access Spaces at all. But everything inside a shared location is visible, including internal comments and custom fields, and several ordinary actions — moving Folders, using Tasks in Multiple Lists — can widen visibility silently.
The short version
Structure around how you deliver, not who you deliver to. Folder per client inside a service Space is the default that holds past 50 clients. Define statuses once per service, keep internal work out of client structures, separate retainers from projects, and template the whole thing before your fifth client.
Then accept that none of it is visible to the people paying for it, and decide separately how you're solving that. See one option — 7 days of full access is $1.
