When your team grows past five people, default roles aren't enough. Custom roles let you control exactly who can do what — without the chaos.
At five people, everyone knows what everyone else is working on. At fifteen, you need structure. The designer shouldn't see client invoices. The bookkeeper shouldn't be editing project tickets. The freelance contractor should only access the project they're working on.
Custom roles for real scenarios
Custom roles let you define exactly which permissions a role has. Some examples from real agencies:
- Finance: Can create invoices, record payments, and view reports — but can't access project tickets or hosting.
- Project Lead: Full access to projects and tickets, can view time logs and billing for their projects, but can't manage team settings.
- Contractor: Can view and update tickets assigned to them, log time, but can't see other team members' work or any financial data.
Granularity without chaos
The key to custom roles is restraint. Don't create a role for every person — create roles for categories of people. If you have three finance staff, they should all share the same Finance role. If you have ten developers, they should all be Members or Project Leads.
When you end up with more roles than team members, you've gone too far. Scale back and use project-level access control for the edge cases.