Skip to main content
🤖 LLM Friendly: This page is available in raw Markdown format for LLM consumption:teams.md|Get full documentation:llms.txt/llms-full.txt

Teams

View the teams you belong to and list your teammates. These endpoints are scoped — you can only see teams where you are a member.

:::info Data Scoping Unlike the admin Teams API which returns all teams, the call center Teams API only returns teams where the authenticated agent is a member. :::

Endpoints​

MethodEndpointRole RequiredDescription
GET/call-center/teamsAnyList active workspace teams
GET/call-center/teams/:id/agentsAnyList teammates (if member)
PUT/call-center/teams/:id/agents/:agent_idleaderAssign agent to team
DELETE/call-center/teams/:id/agents/:agent_idleaderRemove agent from team
GET/call-center/teams/:team_id/call-historyleader, supervisorTeam call history
GET/call-center/teams/:team_id/contactsleaderTeam contacts
GET/call-center/teams/:team_id/agents/statesleader, supervisorTeam agent states
PUT/call-center/teams/:team_id/agents/:username/stateleader, supervisorForce agent state
info

Role checks (leader, supervisor) are based on the agent's workspace-level role, not a per-team assignment. Roles are managed by admins via the Agents API.

Authentication​

All endpoints require Bearer JWT with agent-api audience. Some endpoints require specific team roles — see Roles & Permissions.


List Active Workspace Teams​

GET /call-center/teams

Retrieve a paginated list of all active teams in the workspace (useful for choosing target departments for call transfer). Note: To list only the teams you belong to, use GET /me/teams.

Query Parameters​

ParameterTypeDefaultDescription
pagenumber1Page number (min: 1)
limitnumber10Items per page (max: 100)

Request​

curl -X GET "https://{workspace_id}.firetell.app/api/v1/call-center/teams?page=1&limit=10" \
-H "Authorization: Bearer YOUR_AGENT_JWT"

Response 200 OK​

{
"data": [
{
"id": "tm_a1b2c3d4e5f6g7h8i9j0k1",
"workspace_id": "my_workspace",
"title": "Sales Team",
"agent_count": 5,
"created_at": "2026-01-10T10:00:00.000Z",
"updated_at": "2026-07-01T12:00:00.000Z"
},
{
"id": "tm_x9y8z7w6v5u4t3s2r1q0p9",
"workspace_id": "my_workspace",
"title": "Support Team",
"agent_count": 8,
"created_at": "2026-02-15T08:00:00.000Z",
"updated_at": "2026-06-20T09:30:00.000Z"
}
],
"meta": {
"total": 2,
"page": 1,
"limit": 10,
"total_pages": 1
}
}

Team Object​

FieldTypeDescription
idstringTeam ID
workspace_idstringWorkspace identifier
titlestringTeam name
agent_countnumberNumber of agents in the team
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last update timestamp

List Teammates​

GET /call-center/teams/:id/agents

List agents in a specific team, excluding yourself. Includes real-time presence state.

Path Parameters​

ParameterTypeDescription
idstringTeam ID (e.g., tm_a1b2c3...)

Query Parameters​

ParameterTypeDefaultDescription
pagenumber1Page number (min: 1)
limitnumber10Items per page (max: 100)

Request​

curl -X GET "https://{workspace_id}.firetell.app/api/v1/call-center/teams/tm_a1b2c3d4e5f6g7h8i9j0k1/agents" \
-H "Authorization: Bearer YOUR_AGENT_JWT"

Response 200 OK​

{
"data": [
{
"username": "jane.smith",
"display_name": "Jane Smith",
"avatar": "https://storage.firetell.app/avatars/jane.jpg",
"state": "available",
"role": "leader"
},
{
"username": "bob.nguyen",
"display_name": "Bob Nguyen",
"avatar": null,
"state": "on_call",
"role": "member"
},
{
"username": "alice.tran",
"display_name": "Alice Tran",
"avatar": null,
"state": "offline",
"role": "member"
}
],
"meta": {
"total": 4,
"page": 1,
"limit": 10,
"total_pages": 1
}
}

Teammate Object​

FieldTypeDescription
usernamestringAgent username
display_namestringDisplay name
avatarstring|nullAvatar URL
statestringReal-time presence: available, incall, busy, offline
rolestringAgent's workspace-level role: agent, leader, or supervisor
info

The role field is the agent's account-level role, not a per-team assignment. Roles are managed globally by workspace admins.

Error Responses​

StatusDescription
403You are not a member of this team
404Agent not found
tip

Use the state field to show real-time availability indicators in your call center UI. Agents with available state are ready to receive calls.


Assign Agent to Team​

PUT /call-center/teams/:id/agents/:agent_id

Add an agent to a team. Requires leader role.

Path Parameters​

ParameterTypeDescription
idstringTeam ID (e.g., tm_a1b2c3...)
agent_idstringAgent ID to assign (e.g., ag_x1y2...)

Request​

curl -X PUT "https://{workspace_id}.firetell.app/api/v1/call-center/teams/tm_a1b2c3d4e5f6g7h8i9j0k1/agents/ag_x1y2z3w4v5u6t7s8" \
-H "Authorization: Bearer YOUR_AGENT_JWT"

Response 200 OK​

Returns the created team-agent membership object.

Error Responses​

StatusDescription
403Forbidden — requires leader role
404Team or agent not found

Remove Agent from Team​

DELETE /call-center/teams/:id/agents/:agent_id

Remove an agent from a team. Requires leader role.

Path Parameters​

ParameterTypeDescription
idstringTeam ID (e.g., tm_a1b2c3...)
agent_idstringAgent ID to remove (e.g., ag_x1y2...)

Request​

curl -X DELETE "https://{workspace_id}.firetell.app/api/v1/call-center/teams/tm_a1b2c3d4e5f6g7h8i9j0k1/agents/ag_x1y2z3w4v5u6t7s8" \
-H "Authorization: Bearer YOUR_AGENT_JWT"

Response 200 OK​

Returns the removed team-agent membership object.

Error Responses​

StatusDescription
403Forbidden — requires leader role
404Team-agent membership not found