Teams Management Guide
Overview
Teams simplify permission management at scale by enabling bulk role assignment to groups of members. Instead of assigning permissions individually, you can create a team, assign custom roles to it, and add members to grant them all the team’s permissions at once. Members can belong to multiple teams and have personal roles simultaneously—their effective permissions are the union of all personal and team roles.What is a Team?
A team is a logical grouping of organization members that:- Has a name and optional description — Identifies the team’s purpose
- Contains multiple members — Members are added/removed dynamically
- Has assigned roles — All members inherit these roles’ permissions
- Is scoped to an organization — Teams exist within a single org
Permission Union Model
Each member’s effective permissions are the union of:- Personal Roles — Custom roles assigned directly to the member
- Team Roles — Roles assigned to any team the member belongs to
- Built-in Role — owner/admin (if applicable)
- Queries her personal roles (Content Editor)
- Queries all teams she belongs to (Marketing, Product)
- Queries all roles assigned to those teams
- Merges permissions into a union
- Caches the result for 5 minutes
API Overview
Team CRUD Operations
| Endpoint | Method | Purpose |
|---|---|---|
/organizations/:orgId/teams | POST | Create a new team |
/organizations/:orgId/teams | GET | List all teams |
/organizations/:orgId/teams/:teamId | GET | Get team details (includes members) |
/organizations/:orgId/teams/:teamId | PATCH | Update team name/description |
/organizations/:orgId/teams/:teamId | DELETE | Delete team |
Team Role Management
| Endpoint | Method | Purpose |
|---|---|---|
/organizations/:orgId/teams/:teamId/roles | POST | Assign role to team |
/organizations/:orgId/teams/:teamId/roles/:roleId | DELETE | Remove role from team |
Team Member Management
| Endpoint | Method | Purpose |
|---|---|---|
/organizations/:orgId/teams/:teamId/members | POST | Add member to team |
/organizations/:orgId/teams/:teamId/members/:memberId | DELETE | Remove member from team |
Typical Team Workflow
Step 1: Create Team
Step 2: Assign Custom Roles to Team
Get available custom roles first (if needed), then assign to the team:Step 3: Add Members to Team
Add existing organization members to the team. They immediately gain all team roles’ permissions:Step 4: Verify Team Details
Retrieve the team to see all members and roles:Common Patterns
Bulk Permission Grant
Grant multiple permissions to many people at once by assigning roles to a team: Before (manual):Multi-Team Membership
Members can belong to multiple teams and accumulate permissions from all of them:Graceful Migration from Personal Roles
Start with personal role assignment, then gradually migrate to teams:- Phase 1: Keep existing personal role assignments
- Phase 2: Create teams and assign roles
- Phase 3: Move members from personal roles to teams
- Phase 4: Remove personal roles once everyone is on teams
Member Management
List All Teams
Get a paginated list of teams in the organization:Add Member to Multiple Teams
A member can be in multiple teams. Their permissions are the union of all team roles plus any personal roles:Remove Member from Team
Update Team Metadata
Change team name or description:Role Management for Teams
Assign Multiple Roles to a Team
Teams can have multiple roles. Members inherit all roles’ permissions:Remove Role from Team
Debugging
View Member’s Effective Permissions
To debug why a member has (or doesn’t have) certain permissions:Best Practices
1. Organize Teams by Function
Create teams around organizational functions or teams:- Engineering — All engineers
- Marketing — Marketing and content
- Sales — Sales team
- Finance — Finance and accounting
2. Use Descriptive Names
Make team purposes clear:- ✅ “Engineering (Backend)” — Clear and specific
- ✅ “Content Approvers” — Descriptive of function
- ❌ “Team A” — Vague
- ❌ “Users” — Too generic
3. Assign Roles to Teams, Not Individual Members
For consistency and maintainability:- ✅ Add member to team that already has roles assigned
- ❌ Assign 10 different roles to individual members
4. Document Team Purposes
Use the description field to explain why the team exists:5. Periodically Audit Team Membership
Teams can accumulate stale members. Regularly review:- Who’s still in the team?
- Are those still the right people?
- Should any roles be added/removed?
6. Use Audit Logs for Troubleshooting
When permissions change unexpectedly, check audit logs:Access Control
Only organization owners and admins can:- Create/update/delete teams
- Assign/remove roles from teams
- Add/remove members from teams
- View team membership (their own teams)
- View team details (public metadata)