Bulk Teams Setup
Who is this for?
This is for those that joined Middleware recently, and would like to add a whole lot of people to see related insights as quickly as possible.
Creating teams and members one at a time - from scratch, can be repetitive and tedious.
So we have a solution for you to bulk create a bunch of teams along with members and managers added to them.
Note: Simply adding members and managers to a team won't be enough. You'll have to go into the various teams later to set up their repos, projects, and incident sources. Further instructions in the Teams documentation.
Instructions
Getting Started
- Find and click the button that says “Bulk create teams” on this screen.
Click to expand
- A modal should open, which would look like this:
Click to expand
- The UI should feel pretty self explanatory, but this document would cover a few possible caveats.
Obtaining the CSV
- Click the tile that says “Download”, to download a “Template CSV” file which will basically be the template that you need to fill in.
You can also download the file from this link: Template CSV - The contents of the file are basically this:
Team Name Role Name Email GitHub My First Team - REPLACE THIS ROW Manager Member Name replace-this@email github-username-or-blank My First Team - REPLACE THIS ROW Member Member Name replace-this@email - In case you don't use Github, you can ignore that column altogether.
Correctly adding data to the CSV
Examples are shared at the end.
- Each row (other than the first/header one) represents one person to be added to Middleware, to a given team.
- One person may be present in multiple rows. For details, go here.
- There's 5 columns, each explained below:
- Team Name - If you have multiple people in the same team, ensure the team name value is identical. Best keep it case sensitive too.
- Role - The only accepted values here are “Member”, or “Manager”.
- This isn't their role in the organization. This is the role w.r.t. the teams created in Middleware.
- Name - Their full name.
- It's best if the name matches exactly (case sensitive) what they have on Jira, or Gitlab, or other integrations you use.
- In case it doesn't, it won't be too much of a problem. But if it does, it'll be quite convenient.
Go to “Linking Users” documentation for details.
- Email - Their work email, ideally belonging to the same domain as your Google/Microsoft/etc. workspace organization.
- Github - Their Github username. In case you do not use Github, or don't wish to use Github - you can skip this.
Uploading the CSV to Middleware
- Back on Middleware, return this this modal:
Click to expand
- Step 2 was defining your teams, which you've already done above.
- Now, click the big purple area to upload your CSV file, or just drag your file over into that area.
- You should now be presented with a preview of what you've uploaded.
For example, for illustrative purposes, we uploaded the template CSV right back up, and this was the preview:Click to expand - Click the big “Create teams” button you see there, and in a few seconds your teams should be ready to edit further on the UI!
Next steps
Creating teams with some members is only part of creating a team. But you're not ready to see insights yet.
You'd want to go here to do the rest of the setup for each team.
If you're an older user of Middleware, or if the UI in the above doc looks different for you - go here instead.
Constraints
- When defining different teams in the CSV, ensure that for a single team - the “Team Name” column values are identical (case sensitive).
- Differences in spelling will result in those rows being processed as different teams.
- People are identified based on their email addresses.
- Rows having the same name but different emails will be created as different people.
- Rows having different names but the same email might throw errors, or might just use one of the names for the person during creation.
- This behaviour may change in the future so it's best to ensure that if some rows point to the same person, the name and emails are identical (case sensitive).
- One person can belong to multiple teams, as a manager, or a member.
- Important: Cycles in hierarchy are not allowed.
- If you have a manager Mgr1, who manages a team Team1 - then Mgr1 can't be added as a member to Team1.
- If Mgr1 manages some Mgr2, who then manages Team1 - even then Mgr1 can't be added as a member to Team1.
CSV Examples
Correct CSV Setups
Example 1
Team Name | Role | Name | GitHub | |
---|---|---|---|---|
DevOps Team | Manager | Alice Doe | alice@example.com | aliceGit |
DevOps Team | Member | Bob Smith | bob@example.com |
Example 2: Multiple teams with no people overlap
Team Name | Role | Name | GitHub | |
---|---|---|---|---|
Alpha Team | Manager | Henry Lee | henry@example.com | henryGit |
Alpha Team | Member | Ida West | ida@example.com | |
Beta Team | Manager | Jacob Blue | jacob@example.com | jacobGit |
Beta Team | Member | Karen Black | karen@example.com |
Example 3: Multiple teams with shared people across teams (as member or manager)
Team Name | Role | Name | GitHub | |
---|---|---|---|---|
Gamma Team | Manager | Liam Reed | liam@example.com | liamGH |
Gamma Team | Member | Mia Rose | mia@example.com | miaGH |
Delta Team | Manager | Noah Stone | noah@example.com | noahGH |
Delta Team | Member | Liam Reed | liam@example.com | liamGH |
Delta Team | Member | Olivia King | olivia@example.com | oliviaGH |
Example 4: No Github usernames specified
Team Name | Role | Name | GitHub | |
---|---|---|---|---|
Gamma Team | Manager | Liam Reed | liam@example.com | |
Gamma Team | Member | Mia Rose | mia@example.com | |
Delta Team | Manager | Noah Stone | noah@example.com | |
Delta Team | Member | Liam Reed | liam@example.com | |
Delta Team | Member | Olivia King | olivia@example.com |
Incorrect CSV Setups
Example 1: Mismatch in team name spelling (creates different teams)
Team Name | Role | Name | GitHub | |
---|---|---|---|---|
Sales Team | Manager | David Roe | david@example.com | davidGit |
sals team | Member | Eva King | eva@example.com |
Example 2: Same email with different names
Team Name | Role | Name | GitHub | |
---|---|---|---|---|
Support Team | Manager | Fiona Apple | fiona@example.com | fionaGit |
Support Team | Member | F. Apple | fiona@example.com |
Example 3: Manager added as a member
Team Name | Role | Name | GitHub | |
---|---|---|---|---|
Engineering | Manager | Greg Grant | greg@example.com | gregGH |
Engineering | Member | Greg Grant | greg@example.com |