Teams & Routing
Organize agents into teams and define routing policies that automatically assign incoming conversations.
/v1/teams Create team
Create a team to group agents for inbox assignment and routing.
Parameters
name string required Team name. 1–255 characters.
description string Optional description of the team's purpose.
settings object Arbitrary JSON settings for the team.
is_active boolean Whether the team is active. Defaults to false.
tier integer Escalation tier of the team. Lower tiers receive conversations first.
Request
curl -X POST https://api.boltly.online/v1/teams \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Support",
"description": "Front-line customer support",
"is_active": true,
"tier": 1
}' Response
{
"data": {
"id": "9f2c1b4e-...",
"organization_id": "b7a1d2c3-...",
"name": "Support",
"description": "Front-line customer support",
"settings": {},
"is_active": true,
"tier": 1,
"created_at": "2026-04-03T12:00:00Z",
"updated_at": "2026-04-03T12:00:00Z"
}
} /v1/teams/{id}/members Add member
Add a user to a team with a role and chat capacity.
Parameters
id string required Team ID.
user_id string required ID of the user to add to the team.
role string required Member role. One of: lead, member, supervisor.
is_available boolean Whether the member is currently available to receive conversations.
max_concurrent_chats integer Maximum simultaneous conversations for this member. 1–100.
skills array Skill tags used by skills-based routing.
Request
curl -X POST https://api.boltly.online/v1/teams/9f2c1b4e-.../members \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_id": "4d5e6f7a-...",
"role": "member",
"is_available": true,
"max_concurrent_chats": 10,
"skills": ["billing", "english"]
}' Response
{
"data": {
"id": "1a2b3c4d-...",
"team_id": "9f2c1b4e-...",
"user_id": "4d5e6f7a-...",
"role": "member",
"is_available": true,
"max_concurrent_chats": 10,
"current_chat_count": 0,
"skills": ["billing", "english"],
"created_at": "2026-04-03T12:00:00Z",
"updated_at": "2026-04-03T12:00:00Z"
}
} /v1/routing/policies Create policy
Create a routing policy that assigns incoming conversations to a team or user using a strategy.
Parameters
name string required Policy name.
description string Optional description of the policy.
strategy string required Assignment strategy. One of: round_robin, weighted, load_balanced, skills_based, sticky.
priority integer Evaluation priority. Higher-priority policies are matched first.
conditions object JSON conditions a conversation must match for this policy to apply.
target_type string required Routing target type. One of: team, user.
target_id string ID of the target team or user.
settings object Strategy-specific settings as JSON.
is_active boolean Whether the policy is active.
Request
curl -X POST https://api.boltly.online/v1/routing/policies \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Support round robin",
"strategy": "round_robin",
"priority": 10,
"target_type": "team",
"target_id": "9f2c1b4e-...",
"is_active": true
}' Response
{
"data": {
"id": "7e8f9a0b-...",
"organization_id": "b7a1d2c3-...",
"name": "Support round robin",
"description": "",
"strategy": "round_robin",
"priority": 10,
"conditions": {},
"target_type": "team",
"target_id": "9f2c1b4e-...",
"settings": {},
"is_active": true,
"created_at": "2026-04-03T12:00:00Z",
"updated_at": "2026-04-03T12:00:00Z"
}
}