You started with one shared board and a Slack channel. Three clients later, someone's staring at a card and asking whose it is, which retainer it bills to, and why the client can see a task titled "chase invoice again lol." Agency work isn't messy because you're disorganized. It's messy because generic project tools assume one team, one company, one wall.
Agencies run the opposite shape: many clients, many contexts, strict boundaries between who sees what, and every hour tied to a rate. This guide walks through a board structure built for that shape, aimed at owners running teams of 3 to 30.
Key takeaways
- Give each client its own workspace so boards, members, and analytics never bleed across accounts.
- Use board visibility settings to keep internal work private and share only what the client should see.
- Run a white-label client portal on your own domain, with your logo, colors, and branding instead of ours.
- Track billable hours per card with built-in timers and session history, so time lives next to the work.
- Page sharing roles (viewer, commenter, editor) let clients comment without touching your delivery boards.
Start with one workspace per client
The first instinct is to make one big board per client and pile everything in. It works until you need to add a client's stakeholder as a member, or pull analytics for just that account, or hand a project off internally. Then the walls get thin.
A cleaner structure: one workspace per client. In Zoobbe, a workspace is the container for boards, members, seats, and analytics. Put the client's boards, their invited stakeholders, and their reporting inside their own workspace and nothing crosses over. When a retainer ends, you archive one workspace instead of untangling shared boards.
Inside each client workspace, split boards by function rather than dumping one mega-board:
- A delivery board for the actual work, in Kanban lists like Backlog, In Progress, Review, Done.
- A client-facing board with only what the client should track.
- A pages hierarchy for briefs, scope docs, and meeting notes, nested under a single parent page.
Board visibility does the gatekeeping. Every board can be set to Private, Workspace-only, or Public. Keep your messy delivery board Workspace-only so only your team sees it. Make the client-facing board the one you share out. The client never sees the sausage getting made unless you choose to show them.
Build a white-label client portal on your own domain
Here's where most agencies feel the pinch of off-the-shelf tools: you're paying to advertise someone else's brand to your clients. Every login screen, every notification email, every URL says the vendor's name, not yours.
Zoobbe's white-label setup flips that. You can run the whole thing on a custom domain with automatic DNS and SSL, so clients log in at a URL that's yours. Then set your branding: app name, logo, favicon, primary and secondary colors, custom CSS, and a custom footer. You can hide Zoobbe branding entirely. Even the transactional email can route through your own SMTP, so a due-date reminder lands from your domain, not a tool the client's never heard of.
The client portal itself is assembled from pieces you already control. Share the client-facing board or a set of pages, and assign roles per person:
- Viewer for a stakeholder who just wants to watch progress.
- Commenter for a client contact who should leave feedback but not move things.
- Editor for a hands-on client who co-owns the plan.
Permissions inherit from the workspace or the parent page, so you set the boundary once and it flows down. The result reads to the client like a portal you built for them. To them, it's your product.
Track billable hours where the work happens
The gap between "time we worked" and "time we billed" is where agency margin quietly leaks. If tracking lives in a separate app, people forget, guess, or reconstruct their week on Friday afternoon. Guesswork under-bills.
Zoobbe puts time tracking on the card. Each card has countdown and stopwatch timers with a full session lifecycle: start, pause, resume, complete. Someone opens the card they're working on, starts the timer, and stops it when they switch tasks. No context-switch to a second tool.
Every session is stored with its duration, and sessions aggregate so you can see total time against a card. Because the timer sits next to the assignee, the priority, the due date, and the comment thread, the hour is tied to a specific piece of client work, not floating in a generic timesheet. When it's time to reconcile a retainer, the record is already attached to the deliverable it belongs to.
Time tracked next to the task is time you can actually bill with a straight face.
Automate the repetitive account admin
Agency ops is the same handful of moves repeated across every client: assign the new brief, nudge an approaching deadline, flag when something's been sitting in Review too long. Doing it by hand across ten clients is a part-time job nobody wants.
Automations run on a trigger, condition, action model. A few that fit client work:
- When a card moves to your Review list, assign the account lead and add a comment.
- When a due date is approaching, send a notification so nothing slips silently.
- On a schedule (via cron), create a recurring card for weekly status prep.
Triggers cover card creation, moves between lists, due dates approaching or passed, checklist completion, label changes, and scheduled runs. Actions cover assigning members, moving cards, setting due dates, adding labels, posting comments, and creating cards. Wire the boring parts once and let each client workspace run itself a little more.
Bring existing clients over without redoing everything
If your team is on Trello today, you don't have to rebuild every account by hand. Zoobbe imports a Trello board with its cards, checklists, comments, and members, and tracks import progress as it runs. Fluent Board import works the same way. Migrate one client workspace at a time so you're never fully off the tools your team knows.
FAQ
Can I keep each client's data fully separate?
Yes. Use one workspace per client. Boards, members, seats, and analytics all live inside that workspace, so nothing crosses between accounts.
Can clients log in to something branded as my agency, not Zoobbe?
Yes. With white-label you can run a custom domain with automatic DNS and SSL, set your own app name, logo, favicon, colors, custom CSS, and footer, and hide Zoobbe branding entirely. Custom SMTP means email comes from your domain too.
How do clients give feedback without messing up my boards?
Share pages or a client-facing board and assign the Commenter role. They can leave threaded comments and @mentions but can't move or edit your delivery work. Keep your internal board Workspace-only.
Where does tracked time show up?
On the card. Timers record start, pause, resume, and complete sessions, and each session's duration is stored and aggregated so you can see total time against a card.
Do I have to rebuild my boards to switch?
No. Import your Trello or Fluent Board boards with cards, checklists, comments, and members, and watch progress in real time as it runs.
Set it up once, run every client the same way
The agencies that scale past a handful of clients aren't the ones with the most tools. They're the ones with one repeatable structure: a workspace per client, a branded portal the client trusts, and billable time captured where the work actually happens. Build that shape once in Zoobbe and every new account slots into it. Start your Zoobbe workspace and stand up your first client portal today.