make_call
Initiate an outbound phone call with an AI voice agent that follows your script, achieves your call goal, and extracts structured data from the conversation.
Instructions
Make an outbound phone call with an AI voice agent via Vapi.
The voice agent will call the given phone number, follow your script, and extract structured data from the conversation. After initiating the call, use get_call_result() to retrieve the outcome.
WORKFLOW:
Call make_call() with your parameters → get back a call_id
Wait 1-3 minutes (typical call duration)
Call get_call_result(call_id=..., wait_seconds=180) to get results
REQUIRED PARAMETERS:
phone_number: E.164 format ("+33142000000" for France, "+15551234567" for US)
call_goal: One clear sentence describing what the call should achieve. This is used for automatic success evaluation. Example: "Prendre un rendez-vous coiffeur pour mardi prochain après-midi"
call_script: Detailed behavioral instructions for the voice agent. Write this as if briefing a human assistant before a phone call. Be specific about what to say, what to ask, how to respond to common scenarios, and when to end the call. Example: "Appelle le salon et demande un rendez-vous coiffure pour mardi prochain après-midi. Si mardi est complet, demande mercredi. Accepte tout créneau entre 14h et 18h. Refuse les créneaux du matin. Réserve au nom de Jean Dupont."
RECOMMENDED PARAMETERS:
first_message: The exact opening line. If omitted, one is auto-generated, but providing your own gives much better results. Example: "Bonjour ! J'appelle pour prendre un rendez-vous coiffure s'il vous plaît."
caller_name: Who the agent represents. Example: "Jean Dupont"
structured_data_schema: JSON string of a JSON Schema defining what to extract from the conversation. Without this, you still get a transcript and summary but no structured fields. Example: '{"type":"object","properties":{"appointment_date":{"type":"string","description":"YYYY-MM-DD"},"appointment_time":{"type":"string","description":"HH:MM 24h"},"confirmed":{"type":"boolean"}}}'
language: BCP-47 code. Default: "fr". Use "en" for English, "es" for Spanish, etc. The voice agent will speak exclusively in this language.
OPTIONAL PARAMETERS:
caller_context: Additional identity context. Example: "Tu es l'assistant personnel de Jean Dupont"
structured_data_prompt: Instructions for the extraction model. Example: "Aujourd'hui c'est le 2026-04-11. Résoudre les dates relatives."
end_call_phrases: Comma-separated phrases that signal the call should end. Default per language (e.g. "au revoir,bonne journée" for French).
voice_id: ElevenLabs voice ID override (default from env VAPI_VOICE_ID).
customer_name: Label for the person/business being called (Vapi dashboard).
system_prompt_override: Replaces the entire auto-generated system prompt. Use only when you need full control over the voice agent's instructions.
TIPS FOR GOOD CALLS:
Keep call_script focused and concise — voice agents work best with clear, simple instructions
Always provide a first_message — auto-generated ones are generic
Include fallback behavior in call_script (what to do if the main goal fails)
For data extraction, keep schemas simple with clear field descriptions
Args: phone_number: Phone number in E.164 format (e.g. "+33142000000") call_goal: One sentence describing what the call should achieve call_script: Detailed behavioral instructions for the voice agent language: BCP-47 language code (default: "fr") caller_name: Who the agent calls on behalf of caller_context: Additional identity context for the voice agent first_message: Opening line when the call connects structured_data_schema: JSON string of a JSON Schema for data extraction structured_data_prompt: Instructions for the extraction model end_call_phrases: Comma-separated end-call phrases voice_id: ElevenLabs voice ID override customer_name: Name of the person/business being called system_prompt_override: Full system prompt (replaces auto-generated one)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | ||
| voice_id | No | ||
| call_goal | Yes | ||
| call_script | Yes | ||
| caller_name | No | ||
| phone_number | Yes | ||
| customer_name | No | ||
| first_message | No | ||
| caller_context | No | ||
| end_call_phrases | No | ||
| structured_data_prompt | No | ||
| structured_data_schema | No | ||
| system_prompt_override | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |