Skip to content

Teams

Teams allow groups of hosts and developers to collaborate across multiple estimation sessions. Team features are experimental and must be enabled by an administrator.

Status: Experimental — disabled by default. Set ENABLE_TEAMS=true to enable.


  1. Click the Teams option in the hamburger menu (host view).
  2. Click New Team.
  3. Enter a team name and optional description.
  4. The team creator automatically becomes the first host.

Team admins manage their teams from Dashboard → Teams. The header shows the selected team’s name and description, plus a switcher when you administer more than one team. Below it, a summary bar shows the member count, pending join requests (click N to review to jump to them) and your role. The tabs (Members, Requests, Sessions, Invites, Metrics, Settings) show counts where they apply.

The selected team and tab are part of the page address (/dashboard/teams?team=<id>&tab=invites), so you can bookmark or share a specific view, and it survives a reload.

Open a team and navigate to the Members tab.

The members table is built for large teams:

  • Find people: search by name or username, and filter with the chips: All, Team admins, Members, or Inactive 30+ days (no activity in any team session for 30 days, or never). Each chip shows its count.
  • Sort by any column: name, role, sessions attended, last active, or joined date. By default team admins come first, then everyone else alphabetically.
  • Pages: 25 members per page, with 50 or 100 available from the page size menu under the table.
  • Act on many at once: tick members’ checkboxes (selections are kept when you change page), then use the bar above the table to Make team admin, Make member or Remove. Ticking the header checkbox selects the whole page; a link then offers to select every member matching the current search and filter. Bulk actions never change your own membership.
  • Act on one person: open the row’s More actions menu to change their role or Remove from team.

A team must always keep at least one team admin. If a bulk change would break that rule, the members it could not change are reported and the rest still go through.

Navigate to the Invites tab inside a team, or click Invite people in the page header.

  1. Optionally enter a maximum number of uses (leave it blank for no limit).
  2. Click Create invite link.
  3. Click Copy link on the new row and share it with developers.
  4. Developers visit the link, enter their display name, and are immediately added to the team.

Invite links can be revoked at any time from the row’s More actions menu. Once revoked, the link no longer works. Revoked links stay in the list, marked Revoked.

Each link shows a status:

StatusMeaning
ActiveWorks: anyone with the link can join
Used upReached its maximum number of uses
ExpiredPast its expiry date
RevokedTurned off by a team admin

To keep a long list tidy, filter by status (Active, Used up or expired, Revoked), search by the link’s token, and sort by uses, creation date or status. Tick links (or tick the header checkbox, then Select all matching links) and click Revoke to turn them all off at once; links that are already revoked are skipped. A common clean-up is: filter Used up or expired, select all, Revoke.


Sessions can be linked to a team in two ways:

  1. At creation time — when creating a session, select a team from the dropdown (if teams are enabled).
  2. After creation — via the team’s Sessions tab: enter the session code and click Link session.

Team sessions appear in the team dashboard for metrics tracking. From a session’s row you can Transfer host to another team member, or remove it from the team with More actions → Unlink from team. Unlinking doesn’t delete the session; it only stops counting it towards this team.

For teams with many sessions, the tab has:

  • Filters with counts: All, Live (lobby, estimating, locked, revealed), Draft and Closed, plus a search by session code or host.
  • Sorting by code, state, host or last update (most recently updated first by default), and pages of 25, 50 or 100.
  • Bulk actions: tick sessions (selections are kept when you change page, and the header checkbox offers Select all matching sessions), then Transfer host to move them all to one team member, or Unlink.

Only a member with the host role can take over a session. If you pick someone without it, the transfer is refused and the reason is shown; your selection is kept so you can choose someone else.


The Metrics tab shows aggregated statistics for all sessions linked to the team:

  • Total sessions, with how many are active now
  • Member count, total tickets and average participants per session
  • Session activity (participants and tickets per session)
  • Most active participants (ticket moves on the relative board)
  • Estimation spread (average gap between the highest and lowest vote)
  • Tickets per session (average, median, fewest, most)
  • Member participation table (sessions attended, estimates, tickets moved)

Every chart has a Show data toggle that shows the same numbers as a table.


Team admins can post to a Slack or Microsoft Teams channel when one of the team’s sessions goes live and when it closes.

  1. In your chat app, create an incoming webhook for the channel and copy its URL.
  2. Open the team’s Settings tab, find Chat notifications, choose the chat app, paste the URL and select Save webhook.
  3. Select Send test message to check it arrives.

When a session goes live the channel gets its code and a join link. When it closes the channel gets a summary: how many tickets were estimated, how many were skipped or not estimated, and the total of the final estimates. Names and individual votes are never posted.

Only Slack (hooks.slack.com) and Microsoft Teams (webhook.office.com, logic.azure.com, api.powerplatform.com) webhook URLs are accepted. The URL is stored encrypted and is never shown again after saving; the settings page shows only its host. Select Turn off to remove it. The join link needs EXTERNAL_FQDN to be set on the server; without it the message shows the session code only.

Only the team creator can delete a team. All linked sessions remain — only the team association is removed.

Warning: Deleting a team removes all members, invites, and team-session links. This cannot be undone.

Developers can optionally create an account:

  1. Visit /developer/register (or the developer registration page).
  2. Choose a username (3-32 chars, alphanumeric + underscores/dashes).
  3. A developer token is generated and stored in your browser session.

With a developer account:

  • Hosts can add you to teams by username.
  • You can view teams you belong to.
  • Your activity is tracked across sessions.

Teams are gated behind the ENABLE_TEAMS environment variable:

Terminal window
ENABLE_TEAMS=true

When disabled (default), all team API routes return 404 Not Found and team UI elements are hidden.