> Source: https://builder.ema.ai/v2/groups/teams
> Title: Teams

# Teams

A team is a named list of people in your Workspace. Teams live on the **Teams** tab of User Management, at `/admin/user-management/groups`, beside the Users tab. Everything you can grant to a person, you can grant to a team instead, so a team is the unit you reuse when the same set of people needs access to several things.

> [TIP]
> **Ask Autopilot instead.** Everything on this page can be done by asking Autopilot in plain language. It creates teams and groups, adds and removes people, changes roles, nests teams, and archives and restores, all without opening a form. See [Doing All of This with Autopilot](with-autopilot.md).

> [INFO]
> **Who can manage teams.** Creating, renaming, archiving, and restoring a team requires the `group.manage` capability, held by the `user_admin`, `builder_admin`, and `system_admin` roles. A team's own admins manage that team's people without holding the capability.

## The Teams tab

![The Teams tab listing every team and group with its people count](/builder/v2/assets/img/03-groups/teams-list.png)

The Teams tab listing every team and group with its people count

The tab lists every team and group in the Workspace with three columns: the team name and description, a **People** count, and the row's actions. The people count is unique people including everyone in nested teams, so a person in two nested teams is counted once.

Select the arrow beside a team name to expand its people inline without leaving the list. Long rosters are truncated, and the panel says how many are shown.

**Show archived** switches the list to archived teams. See [Archiving and restoring](#archiving-and-restoring).

## Creating a team

![The Create team dialog, asking for a name and an optional description](/builder/v2/assets/img/03-groups/create-team-modal.png)

The Create team dialog, asking for a name and an optional description

Select **Create team**. The form asks for two things:

-   **Name**, required, unique within the Workspace, and compared without regard to case. A second team called "support team" is rejected as a conflict.
-   **Description**, optional. Use it to say what the team is for, since the name alone rarely survives a year.

The person who creates the team becomes its first admin automatically.

## All Employees

Every Workspace has one built-in team called **All Employees**, marked with a **Default** badge. It means everyone in the Workspace, and its membership is never stored as a list: it resolves to every active member of the Workspace at the moment it is read. Somebody added to the Workspace today is in All Employees today, with nothing to update.

You cannot add or remove people from All Employees directly. Change who is in the Workspace instead. See [User management](/builder/v2/administration/user-management).

Grant something to All Employees when you want it available Workspace-wide but still want it to travel through the group mechanics rather than being made public.

## Managing people

The members table shows each person, their role in the team, and a row menu.

### Roles inside a team

Role

What it allows

`member`

Reach whatever the team has access to. No management rights.

`builder`

Everything a member can do, plus create AI Employees and knowledge bases in a group. No management rights.

`admin`

Everything a builder can do, plus add and remove people, change roles, nest teams, and rename or archive the team.

When somebody reaches a team by more than one path, the strongest role wins. The order is `admin`, then `builder`, then `member`.

> [WARNING]
> **A team always keeps one admin.** Removing the last admin, or demoting them, is rejected with "A team needs at least one admin." Promote a replacement first. Workspace admins are not counted here, because they manage every team already and would otherwise let a team drift into having nobody responsible for it.

### Adding people

Select **Invite users**, search by name or email, pick everybody you want, and confirm. The list only offers people who are already in the Workspace: a team gathers existing people rather than creating accounts. To bring somebody new into the Workspace first, see [User management](/builder/v2/administration/user-management).

### Removing somebody

Use **Remove from team** on the row menu. The person keeps their Workspace account and every other team. They lose only what they reached through this team.

> [INFO]
> **Workspace admins are not listed.** The members table shows only people granted access directly. A Workspace admin manages the team without appearing in it, so a table with one row does not mean one person can administer the team.

## Nesting teams

A team can contain other teams. On the team's page, **Invite user group** adds an existing team as a child, and the child's people inherit access through it, including people the child inherits from its own children.

A nesting link carries a role of its own, shown in the **Access** column and changed from the same dropdown as a person's role. Inviting a team with access `builder` gives every person in it builder rights here, whatever their role is in their own team.

Removing a nesting link takes away only the inherited access. The child team, its people, and its own resources are untouched.

Where a team is nested inside others, its page shows a **Nested in** line naming them, so you can see where its people are getting access from.

> [WARNING]
> **No effective admins.** A team can end up with nobody inheriting admin access, usually after a restructure. Its page then says so plainly. Workspace admins can still manage it, but nobody inside it can, so add an admin.

## Archiving and restoring

![The archived view, listing an archived team with the date and a Restore action](/builder/v2/assets/img/03-groups/teams-archived-view.png)

The archived view, listing an archived team with the date and a Restore action

**Delete** on a team archives it. Archiving is reversible, and restoring brings the team back with its people and its nesting intact.

> [DANGER]
> **Archiving a group takes its resources with it.** For a group, the confirmation reads: deleting it also deletes the AI Employees and knowledge bases that belong to it. Those become unusable for everyone, including people who were invited individually. Move anything worth keeping to another owner first. See [Group-Owned AI Employees and Knowledge Bases](group-owned-resources.md).

Archived teams are listed under **Show archived** with the date and the person who archived them, and **Restore** brings one back.

A name is only reserved by a live team, so somebody can create a new team using an archived team's name. Restoring then fails with a name conflict. Rename the team that took the name, then restore.

## Reference: endpoints

Teams and groups are backed by the auth service. Every route returns `404` for a Workspace that does not have them enabled.

Action

Endpoint

Who

List teams and groups

`GET /groups`

Workspace admin. `?kind=team` or `?kind=group` narrows it; `?archived=true` lists archived ones.

Create

`POST /groups`

Workspace admin. Creator becomes the first admin.

Read one, with members, children, and parents

`GET /groups/{id}`

Any effective member

Rename or change the description

`PATCH /groups/{id}`

Group admin or Workspace admin

Archive

`DELETE /groups/{id}`

Group admin or Workspace admin

Restore

`POST /groups/{id}/restore`

Workspace admin

Add a person

`POST /groups/{id}/members`

Group admin or Workspace admin

Change a person's role

`PATCH /groups/{id}/members/{userID}`

Group admin or Workspace admin

Remove a person

`DELETE /groups/{id}/members/{userID}`

Group admin or Workspace admin

Nest a team

`POST /groups/{id}/children`

Group admin or Workspace admin

Change a nesting link's role

`PATCH /groups/{id}/children/{childID}`

Group admin or Workspace admin

Un-nest a team

`DELETE /groups/{id}/children/{childID}`

Group admin or Workspace admin

List everybody with access, deduped

`GET /groups/{id}/effective-members`

Any effective member

A team returned by these endpoints looks like this:

```json
{
  "id": "6f21...",
  "name": "Support team",
  "description": "Tier 1 and tier 2 support",
  "kind": "team",
  "membership_mode": "explicit",
  "member_count": 12,
  "my_role": "admin",
  "created_by": "3c92...",
  "created_at": "2026-07-06T09:14:00Z",
  "updated_at": "2026-08-11T17:02:41Z"
}
```

## What's next

-   [Groups](/builder/v2/groups/groups) for what a group adds on top of a team.
-   [Sharing and Access](/builder/v2/groups/sharing-and-access) for how inherited access is calculated.
-   [Set Up a Ticket Queue](/builder/v2/ticketing/set-up-a-queue) for giving a group a ticket queue.
