1. core-concepts
VoiceDock
  • introduction
  • configuration
    • analysis-templates
    • custom-tools
    • sip-trunks
    • tool-templates
  • core-concepts
    • assistants
    • calls
    • phone-numbers
    • webhooks
  • features
    • ai-generation
    • autonomous-silence-handling
    • call-analysis
    • call-transfers
    • campaigns-setup
    • campaigns
    • privacy-compliance
    • voicemail-detection
    • web-calls
  • get-started
    • authentication
    • quickstart
  • guides
    • data-processing-agreement
  • integrations
    • byok-setup
    • mcp-server
    • provider-pricing
    • xai-grok-integration
  • platform
    • billing
    • dashboard-security
    • eu-data-sovereignty
    • privacy-policy
    • voice-selection-psychology
    • whitelabel
  • reference
    • error-codes
    • rate-limits
    • troubleshooting
  • sdks
    • node
  • webhooks
    • assistant-request
    • end-of-call-report
    • overview
    • security
    • status-update
    • tool-calls
Book a meeting
Linkedin
Github
📄 Documentation
🔌 API Reference🤖 MCP📦 SDK🟢 Status
📄 Documentation
🔌 API Reference🤖 MCP📦 SDK🟢 Status
  1. core-concepts

calls

Calls represent phone conversations handled by your AI assistants. HMS Sovereign supports both inbound calls (someone calls your number) and outbound calls (your assistant calls someone).

Call Lifecycle#

Inbound Calls#

1.
Ringing - Call comes in to your registered number
2.
Assistant Request - If configured, webhook is called to customize the assistant
3.
In Progress - Call is answered and conversation begins
4.
Ended - Call ends (customer hung up, assistant ended, or transfer)
5.
Report - End-of-call webhook sent with summary and analysis

Outbound Calls#

1.
Dialing - Assistant initiates call to destination
2.
In Progress - Destination answers, conversation begins
3.
Ended - Call ends
4.
Report - End-of-call webhook sent

Call Properties#

PropertyTypeDescription
idstringUnique call identifier
caller_phonestringCaller's phone number (E.164)
agent_phonestringAssistant's phone number (E.164)
statusstringconnecting, in-progress, ended, failed
errorstringError message if call failed
started_atdatetimeWhen call was answered
ended_atdatetimeWhen call ended
duration_secondsintegerCall duration
summarystringAI-generated call summary
assistant_namestringName of assistant that handled call
business_namestringBusiness name of assistant

Listing Calls#

Response:
{
  "calls": [
    {
      "id": "call-_+31612345678_abc123",
      "caller_phone": "+31612345678",
      "agent_phone": "+31850835037",
      "status": "ended",
      "duration_seconds": 84,
      "summary": "Customer asked about opening hours and wanted to schedule an appointment.",
      "agent_name": "Customer Support",
      "business_name": "Acme Corp",
      "started_at": "2025-12-13T10:00:00.000Z",
      "ended_at": "2025-12-13T10:01:24.000Z",
      "created_at": "2025-12-13T09:59:55.000Z"
    }
  ],
  "pagination": {
    "total": 150,
    "limit": 50,
    "offset": 0
  }
}

Filtering Calls#

Filter by status:
Filter by date range:
See List Calls for all parameters.

Initiating Outbound Calls#

Make your assistant call someone using an existing assistant configuration:
Or create a transient assistant with full configuration:
Response:
{
  "success": true,
  "call_id": "call-outbound-abc123",
  "status": "dialing"
}

Outbound Call Parameters#

ParameterRequiredDescription
destinationYesPhone number to call (E.164 format)
assistant_idConditionalReference to existing assistant (use with assistant_override)
assistantConditionalFull transient assistant configuration
assistant_overrideNoOverride specific fields when using assistant_id
number_idConditionalPhone number to use (required if using assistant)
The agent_id, agent, and agent_override parameters are deprecated but still work as aliases.

Use Cases for Outbound Calls#

Appointment reminders
Customer follow-ups
Survey calls
Delivery notifications
Payment reminders
See Initiate Outbound Call for details.

Real-time Call Control#

Send commands to active calls. The call must have status in-progress.

Inject Context#

Add information to the assistant's context without speaking:

Make Assistant Speak#

End Call#

Transfer Call#

See Send Control Command to Active Call for details.

Related#

Assistants - Configure assistants that handle calls
Call Status Webhook - Receive real-time status updates
End of Call Report - Get post-call summaries
Modified at 2026-05-04 13:09:50
Previous
assistants
Next
phone-numbers
Built with