Skip to main content

πŸ“˜ CSV Upload (Teams): Fields, Format & Step-by-Step Guide

Updated over 5 months ago

πŸš€ 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.

Did this answer your question?