Skip to main content

Making Your First Call

The simplest way to make a call is with a task:

Simple vs Advanced Configuration

Simple Mode (Task)

For straightforward calls:

Advanced Mode (Instructions)

For complex conversations with full control:

Required Parameters

Optional Parameters

Voice & Mode

Check available voices via GET /v1/voices/builtin and available models via GET /v1/models.
Realtime Mode provides the lowest latency (~200-500ms) and most natural conversations. Legacy Mode gives you full control over voice selection and language/dialect settings. Check model and voice availability via the API.

Call Control

Context & Personalization

lead_context values fill {{variable}} placeholders in your instructions and first sentence. Pass lead_id instead and the gateway builds the context from the stored lead record. campaign_id gives the agent the campaign’s attached knowledge base.

Webhooks

The URL receives one payload when the call completes, fails, or is cancelled. To limit which outcomes fire it, pass webhook_call_status_filter with the statuses you care about (for example ["completed", "failed"]); leave it out to receive every outcome. For account-wide or disposition-filtered delivery, use webhook subscriptions.

Custom Call Summaries

Every finished call includes an AI-written summary in the webhook payload and call record. Pass summary_prompt to control what it covers:
When omitted, the default summary style applies.

More Options

POST /v1/calls also accepts max_duration (minutes, up to 60), background_audio and background_audio_gain, bot_protection_enabled, analysis_schema for structured extraction, STT and TTS tuning knobs for legacy mode, and an Idempotency-Key header for safe retries. See the API reference for every field.

Complete Example: Appointment Reminder

Response

Checking Call Status

Use the call_id to check status:

Call Statuses

Call Ending Behavior

The AI agent can end calls gracefully when the conversation is complete. This happens automatically when:
  • The user says goodbye or thanks you
  • All questions have been answered
  • The user explicitly asks to end the call
  • The conversation naturally concludes
The AI will speak a contextual farewell message before hanging up.
You can influence this behavior in your instructions: “Always confirm the next steps before ending the call” or “Ask if there’s anything else before saying goodbye.”

Common Patterns

Pattern 1: Simple Reminder

Pattern 2: Multi-Language Call

Error Handling

Invalid Phone Number

Insufficient Quota

Best Practices

Do This

  • Validate phone numbers: Use E.164 format (+14155551234)
  • Set first_sentence: Control how the call starts
  • Use lead_context: Personalize with variables
  • Configure webhooks: Get notified when calls complete
  • Test first: Try with your own number before production

Avoid This

  • Invalid formats: Always use E.164 format
  • Missing instructions: Provide clear task or instructions
  • Too long: Keep instructions focused (200-500 words)
  • Ignore errors: Handle API errors gracefully

Next Steps

Function Calling

Give your AI tools to interact with your systems.

Webhooks

Receive real-time notifications when calls complete.