π Quick Overview
With the Teams CSV Upload, you can create or update many teams at once.
Each row represents a team (uniquely identified by external_id).
Supported operations: Create and Update
After the import, youβll see how many teams were created or updated.
π οΈ Before You Start
Permissions: Customer Admin
β
βFile format: .csv β’ Encoding: UTF-8 β’ Separator: , (comma)
β
βMultiple values: Separate with a pipe | (e.g., TEAM-001|TEAM-002)
β
βMax file size: 32 MB (β 150,000 rows possible)
β
β
β οΈ Common pitfalls:
Wrong separator ; instead of , β File will be rejected
β
βUnknown column names in the header β File will be rejected
β
βMismatched column count (header vs. row) β Upload error
β
βparent_teams or users reference entries that donβt exist β Row invalid
β
β
π Step-by-Step Guide (Teams)
1) Download CSV Template
Open Teams under /app/teams
β
βClick Download CSV Template (top right)
β
β
2) Edit the CSV
Open the file in Excel, Google Sheets, or similar
β
βFill in at least the required columns: external_id and name
β
βIf your company does not have predefined external_ids, please number the teams as you wish
β
β
Separate multiple values in parent_teams and users with |
β
βSave as CSV (UTF-8, comma-separated)
β
β
3) Upload CSV
Go to /app/teams β Upload CSV File
β
βSelect your file
β
β(Optional) Enable/disable teams
β
β
β οΈ Important: First read the section βEnable/Disable Teamsβ.
Incorrect use may unintentionally block many teams.
Continue β Review preview:
β
ββ Green = Valid row
β
ββ Red = Error (hover for details)
β
β
Fix any errors in the CSV and re-upload
β
βImport β Confirmation shows created/updated teams
β
β
β οΈ Important: Enable/Disable Teams
When the option βEnable/Disable Teamsβ is active:
All teams in your CSV will be set to active (even previously blocked ones)
β
βAll teams not in the CSV will be blocked
β
β
β Useful if youβre uploading a full, up-to-date team list
β Risky if youβre only creating a few new teams or making small changes
π Recommendation: Only enable for full synchronizations. Keep disabled for partial updates.
π Column Reference (Teams)
Column | Description (business) | Required | Type | Multiple? | Format / Rules | Example(s) | Common Errors |
external_id | Unique team ID (free choice, for match) | Yes | Text | No | Must be unique per team | TEAM-100 | Missing, duplicate |
name | Team name | Yes | Text | No | Clear, meaningful name | Product Engineering | Missing |
type | Team type/category | No | Text | No | Free (e.g. βDepartmentβ, βSquadβ) | Department | β |
description | Short description | No | Text | No | Free | Ensures product quality | β |
goal | Team goal | No | Text | No | Free | Improve release cadence | β |
parent_teams | Parent teams (by external_id) | No | Text | Yes | ` | ` separated; each ID must exist (in system or CSV) | TEAM-001 |
users | Members (by email or Staff-ID) | No | Text | Yes | ` | ` separated; each must match an existing user |
π Assumption: Staff-ID = Personnel/Employee number maintained in the system (e.g., personal_number).
π§ Processing Logic
File is processed row by row
β
βKey: external_id (Teams)
β
βIf external_id exists β Update
β
βIf not β Create
β
βEmpty values in non-required fields are allowed (stored as empty)
β
βReferences must resolve:
β
βparent_teams: every external_id exists in system or same file
β
βusers: every email or Staff-ID matches an existing user
β
β Common Error Messages & Fixes (Teams)
βUnsupported delimiter.β β Save file with comma , (not ;)
β
ββThe uploaded file contains unsupported fields: β¦β β Remove/fix unknown columns in header
β
ββThe number of fields β¦ does not match the header.β β Check column count per row
β
ββTeam with provided external id does not exist β¦β (parent_teams) β Create parent ID in system or include in CSV
β
ββUser not found for value β¦β (users) β Check email/Staff-ID; user must exist
β
ββRow invalid: required field missing (external_id/name).β β Add required values
β
π Examples
Minimal valid Teams CSV (only required fields):
external_id,name
TEAM-001,Head Office
TEAM-002,Customer Support
π₯ Download: Teams_Minimal.csv
Full Teams CSV (all fields):
external_id,name,type,description,goal,parent_teams,users
TEAM-100,Product Engineering,Department,Builds and ships product features,Improve release cadence,TEAM-001,[email protected]|[email protected]|staff_id_42
TEAM-200,QA & Testing,Squad,Ensures product quality,Reduce defect leakage,TEAM-100,[email protected]|staff_id_77
π₯ Download: Teams_Full.csv
β Pre-Upload Checklist (Teams)
File saved as CSV (UTF-8, comma-separated)
β
βRequired columns filled: external_id, name
β
βMultiple values in parent_teams/users separated with |
β
βAll referenced parent_teams exist (system or same CSV)
β
βAll users (email or Staff-ID) exist
β
βHeader spelled correctly, consistent column count per row
β
βFile size < 32 MB
β
β FAQ (Teams)
Can I assign multiple parent teams?
β Yes, separated by | (e.g., TEAM-001|TEAM-050).
How do I assign users?
β In users, separate emails or Staff-IDs with |. Users must already exist.
Can I deactivate teams?
β Yes, via Enable/Disable Teams. Warning: Teams not in the CSV will be blocked.
Does column order matter?
β Yes, follow the template to avoid mismatch errors.
Is there a row limit?
β Practically up to ~150,000 rows (32 MB). Import runs in batches.