Teams

A Team lets you group multiple Agents into a coordinated squad. When a call is routed to a Team, Ortavox handles intelligent handoffs between member Agents based on context, intent, and your custom rules.

Use Cases

  • Department routing — front-desk Agent qualifies the caller, then hands off to Sales, Support, or Billing.
  • Escalation chains — a junior Agent handles common queries; complex issues transfer to a specialist.
  • Multi-lingual support — route to the Agent that matches the caller’s language.

Core Properties

PropertyTypeDescription
namestringDisplay name for the team
descriptionstringOptional internal description
definitionobjectTeam configuration (members, overrides, variables)
isActivebooleanWhether the team is active (default: true)
tagsstring[]Tags for filtering and organization

Team Definition

The definition field is a JSON object that describes how Agents work together:

1{
2 "members": [
3 {
4 "agentId": "agent_abc123",
5 "role": "receptionist",
6 "isEntry": true
7 },
8 {
9 "agentId": "agent_def456",
10 "role": "sales"
11 }
12 ],
13 "memberOverrides": {
14 "agent_abc123": {
15 "systemPrompt": "You are the front desk. Qualify callers and transfer."
16 }
17 },
18 "variables": [
19 {
20 "name": "business_hours",
21 "value": "9am-5pm EST"
22 }
23 ]
24}

Members

Each member entry defines an Agent participating in the team:

  • agentId — The Agent to include.
  • role — A label describing this member’s responsibility.
  • isEntry — If true, this Agent handles the initial connection.

Member Overrides

Override any Agent property for the scope of this team. This lets you reuse a single Agent across multiple teams with different prompts, tools, or voices.

Variables

Shared key-value pairs accessible to all members during the call. Useful for passing business context (hours, locations, policies) without hard-coding it into each Agent’s prompt.

API Reference

All endpoints require a private API key (sk_live_*).

Create a Team

$curl -X POST https://api.ortavox.com/v1/teams \
> -H "Authorization: Bearer sk_live_..." \
> -H "Content-Type: application/json" \
> -d '{
> "name": "Support Squad",
> "description": "Handles all inbound support calls",
> "definition": {
> "members": [
> { "agentId": "agent_abc", "role": "triage", "isEntry": true },
> { "agentId": "agent_def", "role": "specialist" }
> ]
> }
> }'

List Teams

$curl https://api.ortavox.com/v1/teams \
> -H "Authorization: Bearer sk_live_..."

Get a Team

$curl https://api.ortavox.com/v1/teams/:teamId \
> -H "Authorization: Bearer sk_live_..."

Update a Team

$curl -X PATCH https://api.ortavox.com/v1/teams/:teamId \
> -H "Authorization: Bearer sk_live_..." \
> -H "Content-Type: application/json" \
> -d '{ "name": "Updated Squad Name" }'

Delete a Team

$curl -X DELETE https://api.ortavox.com/v1/teams/:teamId \
> -H "Authorization: Bearer sk_live_..."