Teams and team types
Teams model delivery structure and are the main unit used in charts, matrix, and scenario modeling.
Team types classify how teams operate (for example, stream-aligned, platform, enabling).
Team fields in the app
Creating or editing a team opens a wide modal from the Teams list, team detail pages, department team tables, Charts/Org Units add menus, and scenario add menus. The modal keeps you on the current screen after saving.
Team create/edit supports:
- name
- parent org unit
- type (optional)
- purpose in Advanced (optional)
- valid from / valid to dates in Advanced
You can create team types inline from the team form using search-or-create behavior.
Dedicated Team create and edit pages are no longer part of the web workflow; use the in-page Add Team and Edit Team actions instead.
Team types and why they matter
Team types help with:
- matrix column grouping
- filtering and comparison
- communicating operating model patterns
Manage them centrally in:
/settings/team-types
Parent placement and hierarchy
A team belongs in the org tree via its org unit node.
The parent selector enforces valid parent types and scenario context, which prevents accidental cross-context structure bleed.
Team membership is handled by placements
Team pages surface roster and placements with:
- primary/secondary flags
- allocation %
- effective dates
Membership is driven by placements, not by simple team foreign keys.
Team context in scenarios
When you create/edit teams inside a scenario, those rows are scenario-scoped.
That allows you to test reorganizations without touching live baseline.
Practical workflow
- Create team with clear name, parent, and optional type.
- Use Advanced when you need purpose or effective dates.
- Add or adjust placements for key contributors.
- Review team in matrix/charts for structure and load balance.
- Validate deltas before promotion.
Common mistakes
- creating teams without meaningful parent placement
- leaving type taxonomy inconsistent across teams
- expecting position creation alone to place actors onto teams
API
Team types are managed via the REST API. All endpoints are tenant-scoped, require the X-Tenant header, and require the settings.manage ability.
Search team types
GET /api/v1/team-types/search?q={term}
Returns up to 20 matching types ordered by display order then name. Omit q to return all types.
Create a team type
POST /api/v1/team-types
| Field | Type | Required | Notes |
|---|---|---|---|
name |
string | yes | Max 120 chars. Must be unique within the tenant. |
slug |
string | no | Auto-derived from name if omitted. |
color |
string | no | Hex colour code with or without leading #. |
description |
string | no | Max 500 chars. |
display_order |
integer | no | 0–999. Controls sort order. |
Show a team type
GET /api/v1/team-types/{id}
Returns 404 if the type belongs to another tenant.
Update a team type
PATCH /api/v1/team-types/{id}
All fields are optional for partial updates.
| Field | Type | Notes |
|---|---|---|
name |
string | Max 120 chars. Must be unique within the tenant. |
slug |
string | Max 120 chars. Must be unique within the tenant. |
color |
string | Hex colour code. |
description |
string | Max 500 chars. |
is_active |
boolean | Controls whether the type appears in selectors. |
display_order |
integer | 0–999. Controls sort order. |
Delete a team type
DELETE /api/v1/team-types/{id}
Returns 204. Associated teams will have their team_type_id set to null.