# Vapi

Vapi is a voice AI platform that enables developers to build, test, and deploy voice agents with natural conversations, real-time responses, and seamless integration capabilities.

- **Category:** artificial intelligence
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 37
- **Triggers:** 0
- **Slug:** `VAPI`
- **Version:** 20260312_00

## Tools

### Update Assistant

**Slug:** `VAPI_ASSISTANT_CONTROLLER_UPDATE`

Tool to update an existing Vapi assistant configuration. Use when you need to modify assistant properties such as name, voice settings, transcriber configuration, model settings, messages, or other behavior parameters. Only include fields you want to update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the assistant to update |
| `name` | string | No | The name of the assistant |
| `model` | object | No | Configuration for the LLM model used by the assistant. Includes provider, model name, temperature, and other model-specific settings |
| `voice` | object | No | Configuration for the text-to-speech voice. Supports providers like ElevenLabs, PlayHT, Rime, Azure, Cartesia, etc. |
| `metadata` | object | No | Custom metadata object to attach to the assistant. Can contain any key-value pairs for your use |
| `server_url` | string | No | Server URL where assistant events and messages will be sent |
| `messagePlan` | object | No | Configuration for messages to be sent to client and server during the call |
| `monitorPlan` | object | No | Configuration for real-time monitoring of assistant's calls. |
| `transcriber` | object | No | Configuration for the speech-to-text transcriber. Supports multiple providers like AssemblyAI, Deepgram, Google, Azure, etc. Each provider has specific configuration options |
| `analysisPlan` | object | No | Configuration for post-call analysis including summary and structured data extraction. |
| `artifactPlan` | object | No | Configuration for artifacts (recordings, transcripts) created during or after the call. |
| `first_message` | string | No | The first message that the assistant will say. Can be text or a URL to an audio file (mp3, wav, etc.). If unspecified, assistant will wait for user to speak |
| `hipaa_enabled` | boolean | No | Whether HIPAA compliance is enabled for the assistant |
| `credential_ids` | array | No | List of credential IDs the assistant should use for various integrations |
| `client_messages` | array | No | List of message types to send to client SDKs |
| `maxDurationPlan` | object | No | Configuration for handling maximum call duration |
| `server_messages` | array | No | List of message types to send to server URL |
| `background_sound` | string | No | Background sound in the call. Options: 'off', 'office'. Default is 'office' for phone calls and 'off' for web calls |
| `end_call_message` | string | No | Message the assistant will say before ending the call |
| `end_call_phrases` | array | No | Phrases that will trigger the end of the call when spoken by the user |
| `stopSpeakingPlan` | object | No | Plan for when assistant should stop talking on customer interruption. |
| `server_url_secret` | string | No | Secret used to authenticate requests to the server URL |
| `startSpeakingPlan` | object | No | Plan for when the assistant should start talking. |
| `voicemail_message` | string | No | Message the assistant will say if the call goes to voicemail |
| `first_message_mode` | string | No | Mode for the first message. Options: 'assistant-speaks-first', 'assistant-waits-for-user'. Default is 'assistant-speaks-first' |
| `backchannel_enabled` | boolean | No | Whether backchannel (verbal acknowledgments like 'uh-huh', 'mm-hmm') is enabled |
| `max_duration_seconds` | integer | No | Maximum number of seconds the call will last, after which it will be ended |
| `response_delay_seconds` | number | No | Delay in seconds before the assistant responds |
| `silence_timeout_seconds` | integer | No | Number of seconds of silence before the call is ended |
| `transport_configurations` | array | No | Configuration for transport protocols (SIP, WebRTC, etc.) |
| `llm_request_delay_seconds` | number | No | Delay in seconds before making LLM requests |
| `background_denoising_enabled` | boolean | No | Whether background noise filtering is enabled |
| `model_output_in_messages_enabled` | boolean | No | Whether to include model output in messages sent to client/server |
| `num_words_to_interrupt_assistant` | integer | No | Number of words user needs to speak to interrupt the assistant |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Calls

**Slug:** `VAPI_CALL_CONTROLLER_FIND_ALL`

Tool to list calls from Vapi. Use when you need to retrieve multiple calls with optional filtering by id, assistantId, phoneNumberId, or date ranges. Returns an array of call objects with details including status, costs, messages, and artifacts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Unique call identifier. Use to filter for a specific call. |
| `limit` | integer | No | Maximum number of items to return. Defaults to 100 if not specified. Must be between 0 and 1000. |
| `assistantId` | string | No | Returns calls with the specified assistantId. Use to filter calls by assistant. |
| `createdAtGe` | string | No | Returns items where createdAt meets or exceeds the specified value. Use ISO 8601 date-time format (e.g., '2024-01-01T00:00:00Z'). |
| `createdAtGt` | string | No | Returns items where createdAt exceeds the specified value. Use ISO 8601 date-time format (e.g., '2024-01-01T00:00:00Z'). |
| `createdAtLe` | string | No | Returns items where createdAt is at or below the specified value. Use ISO 8601 date-time format (e.g., '2024-12-31T23:59:59Z'). |
| `createdAtLt` | string | No | Returns items where createdAt is below the specified value. Use ISO 8601 date-time format (e.g., '2024-12-31T23:59:59Z'). |
| `updatedAtGe` | string | No | Returns items where updatedAt meets or exceeds the specified value. Use ISO 8601 date-time format (e.g., '2024-01-01T00:00:00Z'). |
| `updatedAtGt` | string | No | Returns items where updatedAt exceeds the specified value. Use ISO 8601 date-time format (e.g., '2024-01-01T00:00:00Z'). |
| `updatedAtLe` | string | No | Returns items where updatedAt is at or below the specified value. Use ISO 8601 date-time format (e.g., '2024-12-31T23:59:59Z'). |
| `updatedAtLt` | string | No | Returns items where updatedAt is below the specified value. Use ISO 8601 date-time format (e.g., '2024-12-31T23:59:59Z'). |
| `phoneNumberId` | string | No | Phone number for the call; for outbound/inbound phone calls only. Use to filter calls by phone number. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Chat

**Slug:** `VAPI_CHAT_CONTROLLER_DELETE_CHAT`

Tool to delete a chat by its ID from Vapi. Use when you need to permanently remove a chat conversation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The chat identifier to be deleted |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Chat

**Slug:** `VAPI_CHAT_CONTROLLER_GET_CHAT`

Tool to fetch chat details by ID. Use when you have a chat ID and need full chat information including messages, costs, and configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the chat to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Analytics Queries

**Slug:** `VAPI_CREATE_ANALYTICS_QUERY`

Tool to create and execute analytics queries on VAPI data. Use when you need to analyze call or subscription metrics with aggregations like count, sum, average, min, or max. Supports grouping by various dimensions and time-based analysis with custom time ranges.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `queries` | array | Yes | List of analytics queries to execute. Each query must have a unique name, specify a table, and define operations to perform |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Assistant

**Slug:** `VAPI_CREATE_ASSISTANT`

Tool to create a new Vapi assistant with specified transcriber, voice, and AI model configurations. Use when setting up a conversational AI assistant for voice interactions. The assistant requires transcription (speech-to-text), voice (text-to-speech), and AI model (conversation logic) configurations at minimum.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Assistant identifier/name for easy reference and organization |
| `model` | object | Yes | AI model for conversation logic (e.g., OpenAI GPT-4, Claude). Define the provider, model name, and initial messages including system prompts to control assistant behavior. |
| `voice` | object | Yes | Text-to-speech settings with provider and voiceId. Select a provider like 11labs, Azure, or OpenAI and specify the voice identifier for the assistant's speech output. |
| `transcriber` | object | Yes | Speech-to-text configuration. Choose from providers: AssemblyAI, Azure Speech, Deepgram, ElevenLabs, Gladia, Google, OpenAI, Cartesia, Speechmatics, Talkscriber, or Custom. Configure the model and language for optimal transcription. |
| `firstMessage` | string | No | Initial greeting message the assistant will say when the conversation starts |
| `systemPrompt` | string | No | Instructions for AI behavior and personality. Alternative to including system message in model.messages field. |
| `clientMessages` | array | No | List of message types to relay to the client application |
| `serverMessages` | array | No | List of message types to send to the server webhook |
| `maxDurationSeconds` | integer | No | Maximum call duration in seconds before automatic termination |
| `voicemailDetection` | object | No | Voicemail detection configuration. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Eval

**Slug:** `VAPI_CREATE_EVAL`

Tool to create an eval for testing conversation flows. Use when you need to validate that an AI assistant responds correctly to specific conversation scenarios.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the eval to help identify what the eval is checking for |
| `type` | string | Yes | Type of the eval. Currently fixed to 'chat.mockConversation' |
| `messages` | array | Yes | Mock conversation messages for evaluating the conversation flow. Mock Messages simulate the conversation flow, and Evaluation Messages are checkpoints where the model's response is evaluated for content and tool calls |
| `description` | string | No | Description of the eval and its purpose in detail. Not used to evaluate the conversation flow |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create OpenAI Chat

**Slug:** `VAPI_CREATE_OPEN_AI_CHAT`

Tool to create an OpenAI-compatible chat using the Vapi API. Use when you need to send a chat message to an assistant or squad and receive a response. Supports both streaming and non-streaming modes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the chat. This is just for your own reference. |
| `input` | string | Yes | The input text for the chat. Can be a string or an array of chat messages. This field is required for chat creation. |
| `squad` | object | No | The squad configuration object that will be used for the chat. Use this to define a transient squad. Mutually exclusive with 'squadId' field. |
| `stream` | boolean | No | Whether to stream the response or not. Defaults to true. |
| `squadId` | string | No | The squad ID that will be used for the chat. Use this to reference an existing squad. Mutually exclusive with 'squad' field. |
| `assistant` | object | No | The assistant configuration object that will be used for the chat. Use this to define a transient assistant. Mutually exclusive with 'assistantId' field. |
| `sessionId` | string | No | The ID of the session that will be used for the chat. Mutually exclusive with 'previousChatId' and transport fields (phoneNumberId/customer). |
| `transport` | object | No | Used to send the chat through a transport like SMS. If transport.phoneNumberId and transport.customer are provided, creates a new session. Cannot specify both sessionId and transport fields (phoneNumberId/customer) together. |
| `assistantId` | string | No | The assistant ID that will be used for the chat. Use this to reference an existing assistant. Mutually exclusive with 'assistant' field. |
| `previousChatId` | string | No | The ID of the chat that will be used as context for the new chat. The messages from the previous chat will be used as context. Mutually exclusive with 'sessionId'. |
| `assistantOverrides` | object | No | Variable values that will be used to replace template variables in the assistant messages. Only variable substitution is supported in chat contexts - other assistant properties cannot be overridden. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Monitoring Policy

**Slug:** `VAPI_CREATE_POLICY`

Tool to create a monitoring policy in VAPI. Use when you need to set up automated monitoring rules based on thresholds and time windows. Policies can trigger alerts based on event counts or percentages over a specified lookback window.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Policy identifier name. This should be a descriptive name for the policy. |
| `interval` | object | No | Interval-based scheduling configuration for policy execution. |
| `schedule` | object | No | Cron-like scheduling configuration for policy execution. |
| `severity` | string ("error" | "warning" | "info") | Yes | Severity level of the policy. Use 'error' for critical issues, 'warning' for concerning patterns, or 'info' for informational alerts. |
| `threshold` | object | Yes | Threshold configuration that defines when the policy should trigger. |
| `monitorIds` | array | No | List of monitor identifiers to associate with this policy. |
| `lookbackWindowMinutes` | integer | Yes | Time window in minutes for querying events. This defines how far back to look when evaluating the policy. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Provider Resource

**Slug:** `VAPI_CREATE_PROVIDER_RESOURCE`

Tool to create an 11Labs pronunciation dictionary resource. Use when you need to define custom pronunciations for specific terms or acronyms in voice synthesis.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the pronunciation dictionary to create. |
| `rules` | array | Yes | Array of pronunciation rules. Each rule must specify a 'stringToReplace' and 'type' (either 'phoneme' or 'alias'). For phoneme rules, include 'phoneme' and 'alphabet' fields. For alias rules, include an 'alias' field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Scorecard

**Slug:** `VAPI_CREATE_SCORECARD`

Tool to create a scorecard for observability and evaluation. Use when setting up metrics to evaluate assistant performance based on structured outputs. Scorecards contain metrics with conditions that calculate normalized scores on a 100-point scale.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the scorecard for user reference. This is not used for any evaluation, only for identification purposes. |
| `metrics` | array | Yes | Array of ScorecardMetric objects containing structuredOutputId and conditions for scoring. Each metric will have a set of conditions and points used to generate the score. |
| `description` | string | No | Description of the scorecard for user reference. This is not used for any evaluation. |
| `assistantIds` | array | No | Assistant IDs that this scorecard is linked to. When linked to assistants, this scorecard will be available for evaluation during those assistants' calls. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Call

**Slug:** `VAPI_DELETE_CALL`

Tool to delete a call by its unique identifier. Use when you need to remove call data from the system. Returns the deleted call object with all its associated data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the call to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Eval

**Slug:** `VAPI_DELETE_EVAL`

Tool to delete an eval by ID. Use when you need to permanently remove an eval from the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the eval to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Phone Number

**Slug:** `VAPI_DELETE_PHONE_NUMBER`

Tool to delete a phone number from Vapi. Use when you need to remove a phone number from your Vapi organization. Returns the deleted phone number object.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier for the phone number to be removed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Eval

**Slug:** `VAPI_EVAL_CONTROLLER_GET`

Tool to retrieve an eval by its ID. Use when you need to fetch details about a specific eval including its mock conversation messages and metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the eval to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Eval Run

**Slug:** `VAPI_EVAL_CONTROLLER_REMOVE_RUN`

Tool to delete an eval run by its ID from Vapi. Use when you need to permanently remove an evaluation run.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the eval run to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Eval

**Slug:** `VAPI_EVAL_CONTROLLER_UPDATE`

Tool to update an existing eval in Vapi. Use when you need to modify eval properties like name, description, type, or mock conversation messages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the eval to update |
| `name` | string | No | This is the name of the eval. It helps identify what the eval is checking for. |
| `type` | string | No | This is the type of the eval. Currently it is fixed to 'chat.mockConversation'. |
| `messages` | array | No | This is the mock conversation that will be used to evaluate the flow of the conversation. Mock Messages are used to simulate the flow of the conversation. Evaluation Messages are used as checkpoints in the flow where the model's response to previous conversation needs to be evaluated to check the content and tool calls. |
| `description` | string | No | This is the description of the eval. This helps describe the eval and its purpose in detail. It will not be used to evaluate the flow of the conversation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Assistant

**Slug:** `VAPI_GET_ASSISTANT`

Tool to retrieve a specific assistant by ID from Vapi. Use when you need to fetch details about an existing assistant.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the assistant to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Call

**Slug:** `VAPI_GET_CALL`

Tool to fetch call details by ID. Use when you have a call ID and need full call information including status, duration, costs, messages, and recordings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the call to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get File

**Slug:** `VAPI_GET_FILE`

Tool to retrieve a file by its ID from Vapi. Use when you need to get details about a specific file including its status, metadata, storage location, and timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Identifier for the file to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Monitoring Policies

**Slug:** `VAPI_GET_MONITORING`

Tool to retrieve monitoring policies from Vapi. Use when you need to list, filter, or search for monitoring policies configured in the organization. Supports filtering by policy ID, severity level, monitor ID, and date ranges for creation/update timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Returns policies with the specified id |
| `page` | integer | No | Page number for pagination (defaults to 1) |
| `limit` | integer | No | Maximum number of items returned per page (defaults to 100) |
| `severity` | string ("error" | "warning" | "info") | No | Filters by severity level. Must be one of: error, warning, or info |
| `monitor_id` | string | No | Returns policies associated with the specified monitor ID |
| `sort_order` | string ("ASC" | "DESC") | No | Sort order for pagination. Must be either ASC or DESC (defaults to DESC) |
| `created_at_ge` | string | No | Filter to return items where createdAt is greater than or equal to this ISO 8601 date-time value |
| `created_at_gt` | string | No | Filter to return items where createdAt is greater than this ISO 8601 date-time value |
| `created_at_le` | string | No | Filter to return items where createdAt is less than or equal to this ISO 8601 date-time value |
| `created_at_lt` | string | No | Filter to return items where createdAt is less than this ISO 8601 date-time value |
| `updated_at_ge` | string | No | Filter to return items where updatedAt is greater than or equal to this ISO 8601 date-time value |
| `updated_at_gt` | string | No | Filter to return items where updatedAt is greater than this ISO 8601 date-time value |
| `updated_at_le` | string | No | Filter to return items where updatedAt is less than or equal to this ISO 8601 date-time value |
| `updated_at_lt` | string | No | Filter to return items where updatedAt is less than this ISO 8601 date-time value |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Structured Outputs

**Slug:** `VAPI_GET_STRUCTURED_OUTPUTS`

Tool to list structured outputs with optional filtering. Use when you need to retrieve structured output configurations with pagination support. Supports filtering by ID, name, timestamps, and includes pagination controls.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Filters results where the identifier matches the specified value |
| `name` | string | No | Filters results where the name matches the specified value |
| `page` | integer | No | Page number for results (defaults to 1) |
| `limit` | integer | No | Maximum items returned per request (defaults to 100) |
| `sortOrder` | string | No | Sort direction for pagination. Must be 'ASC' or 'DESC' (defaults to DESC) |
| `createdAtGe` | string | No | Returns items created on or after the specified timestamp. Must be in ISO 8601 date-time format (e.g., '2024-01-15T10:30:00Z') |
| `createdAtGt` | string | No | Returns items created after the specified timestamp. Must be in ISO 8601 date-time format (e.g., '2024-01-15T10:30:00Z') |
| `createdAtLe` | string | No | Returns items created on or before the specified timestamp. Must be in ISO 8601 date-time format (e.g., '2024-01-15T10:30:00Z') |
| `createdAtLt` | string | No | Returns items created before the specified timestamp. Must be in ISO 8601 date-time format (e.g., '2024-01-15T10:30:00Z') |
| `updatedAtGe` | string | No | Returns items updated on or after the specified timestamp. Must be in ISO 8601 date-time format (e.g., '2024-01-15T10:30:00Z') |
| `updatedAtGt` | string | No | Returns items updated after the specified timestamp. Must be in ISO 8601 date-time format (e.g., '2024-01-15T10:30:00Z') |
| `updatedAtLe` | string | No | Returns items updated on or before the specified timestamp. Must be in ISO 8601 date-time format (e.g., '2024-01-15T10:30:00Z') |
| `updatedAtLt` | string | No | Returns items updated before the specified timestamp. Must be in ISO 8601 date-time format (e.g., '2024-01-15T10:30:00Z') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Insights

**Slug:** `VAPI_INSIGHT_CONTROLLER_FIND_ALL`

Tool to retrieve insights from VAPI. Use when you need to list insights with optional filtering by ID, creation date, or update date. Supports pagination and sorting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Filter by insight ID |
| `page` | integer | No | Page number to return. Defaults to 1 |
| `limit` | integer | No | Maximum number of items to return. Defaults to 100 |
| `sortOrder` | string ("ASC" | "DESC") | No | Sort order for pagination. Defaults to 'DESC' |
| `createdAtGe` | string | No | Return items where createdAt is greater than or equal to the specified value. Should be ISO 8601 datetime string |
| `createdAtGt` | string | No | Return items where createdAt is greater than the specified value. Should be ISO 8601 datetime string |
| `createdAtLe` | string | No | Return items where createdAt is less than or equal to the specified value. Should be ISO 8601 datetime string |
| `createdAtLt` | string | No | Return items where createdAt is less than the specified value. Should be ISO 8601 datetime string |
| `updatedAtGe` | string | No | Return items where updatedAt is greater than or equal to the specified value. Should be ISO 8601 datetime string |
| `updatedAtGt` | string | No | Return items where updatedAt is greater than the specified value. Should be ISO 8601 datetime string |
| `updatedAtLe` | string | No | Return items where updatedAt is less than or equal to the specified value. Should be ISO 8601 datetime string |
| `updatedAtLt` | string | No | Return items where updatedAt is less than the specified value. Should be ISO 8601 datetime string |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Assistants

**Slug:** `VAPI_LIST_ASSISTANTS`

Tool to list all assistants in your VAPI organization. Use when you need to retrieve information about configured assistants. Supports filtering by creation and update timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of assistants to return. If not specified, returns all assistants. |
| `createdAtGe` | string | No | Filter for assistants created at or after this ISO 8601 date-time string. |
| `createdAtGt` | string | No | Filter for assistants created after this ISO 8601 date-time string. |
| `createdAtLe` | string | No | Filter for assistants created at or before this ISO 8601 date-time string. |
| `createdAtLt` | string | No | Filter for assistants created before this ISO 8601 date-time string. |
| `updatedAtGe` | string | No | Filter for assistants updated at or after this ISO 8601 date-time string. |
| `updatedAtGt` | string | No | Filter for assistants updated after this ISO 8601 date-time string. |
| `updatedAtLe` | string | No | Filter for assistants updated at or before this ISO 8601 date-time string. |
| `updatedAtLt` | string | No | Filter for assistants updated before this ISO 8601 date-time string. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Chats

**Slug:** `VAPI_LIST_CHATS`

Tool to retrieve a list of chat conversations from VAPI. Use when you need to view existing chats, optionally filtered by assistant, squad, session, or time range. Supports pagination and sorting for efficient retrieval of large chat histories.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Filter by specific chat identifier |
| `page` | integer | No | Page number for pagination (defaults to 1) |
| `limit` | integer | No | Maximum number of items to return (defaults to 100, max 1000) |
| `squad_id` | string | No | Filter by squad identifier |
| `session_id` | string | No | Filter by session identifier |
| `sort_order` | string | No | Sort direction: ASC or DESC (defaults to DESC) |
| `assistant_id` | string | No | Filter by assistant identifier |
| `created_at_ge` | string | No | Filter chats created at or after this timestamp |
| `created_at_gt` | string | No | Filter chats created after this timestamp |
| `created_at_le` | string | No | Filter chats created at or before this timestamp |
| `created_at_lt` | string | No | Filter chats created before this timestamp |
| `updated_at_ge` | string | No | Filter chats updated at or after this timestamp |
| `updated_at_gt` | string | No | Filter chats updated after this timestamp |
| `updated_at_le` | string | No | Filter chats updated at or before this timestamp |
| `updated_at_lt` | string | No | Filter chats updated before this timestamp |
| `assistant_id_any` | string | No | Filter by multiple assistant IDs (comma-separated) |
| `previous_chat_id` | string | No | Filter by previous chat identifier |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Evals

**Slug:** `VAPI_LIST_EVALS`

Tool to retrieve a paginated list of evals from Vapi. Use when you need to list or search evals with optional filtering by creation/update timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Filter by eval ID. |
| `page` | integer | No | Page number to return. Defaults to 1. |
| `limit` | integer | No | Maximum number of items to return. Defaults to 100. |
| `sort_order` | string ("ASC" | "DESC") | No | Sort order for pagination. Defaults to 'DESC'. |
| `created_at_ge` | string | No | Return items where createdAt is greater than or equal to the specified value. |
| `created_at_gt` | string | No | Return items where createdAt is greater than the specified value. |
| `created_at_le` | string | No | Return items where createdAt is less than or equal to the specified value. |
| `created_at_lt` | string | No | Return items where createdAt is less than the specified value. |
| `updated_at_ge` | string | No | Return items where updatedAt is greater than or equal to the specified value. |
| `updated_at_gt` | string | No | Return items where updatedAt is greater than the specified value. |
| `updated_at_le` | string | No | Return items where updatedAt is less than or equal to the specified value. |
| `updated_at_lt` | string | No | Return items where updatedAt is less than the specified value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Phone Numbers

**Slug:** `VAPI_LIST_PHONE_NUMBERS`

Tool to list phone numbers in the Vapi organization. Use when you need to enumerate available phone numbers for routing or selection workflows. Supports filtering by creation and update timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of phone numbers to return. Defaults to 100 if not specified. |
| `createdAtGe` | string | No | Filter for phone numbers created at or after this ISO 8601 date-time string. |
| `createdAtGt` | string | No | Filter for phone numbers created after this ISO 8601 date-time string. |
| `createdAtLe` | string | No | Filter for phone numbers created at or before this ISO 8601 date-time string. |
| `createdAtLt` | string | No | Filter for phone numbers created before this ISO 8601 date-time string. |
| `updatedAtGe` | string | No | Filter for phone numbers updated at or after this ISO 8601 date-time string. |
| `updatedAtGt` | string | No | Filter for phone numbers updated after this ISO 8601 date-time string. |
| `updatedAtLe` | string | No | Filter for phone numbers updated at or before this ISO 8601 date-time string. |
| `updatedAtLt` | string | No | Filter for phone numbers updated before this ISO 8601 date-time string. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Provider Resources

**Slug:** `VAPI_LIST_PROVIDER_RESOURCES`

Tool to retrieve provider resources from Vapi (e.g., 11labs pronunciation dictionaries). Use when you need to list or search provider-specific resources with optional filtering by timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Filter by resource ID. |
| `page` | integer | No | Page number to return. Defaults to 1. |
| `limit` | integer | No | Maximum number of items to return. Defaults to 100. |
| `provider` | string ("cartesia" | "11labs") | Yes | The provider to query resources from (e.g., '11labs' or 'cartesia'). |
| `sort_order` | string ("ASC" | "DESC") | No | Sort order for pagination. Defaults to 'DESC'. |
| `resource_id` | string | No | Filter by provider's resource ID. |
| `created_at_ge` | string | No | Return items where createdAt is greater than or equal to the specified value. |
| `created_at_gt` | string | No | Return items where createdAt is greater than the specified value. |
| `created_at_le` | string | No | Return items where createdAt is less than or equal to the specified value. |
| `created_at_lt` | string | No | Return items where createdAt is less than the specified value. |
| `resource_name` | string | Yes | The name of the resource type to query (e.g., 'pronunciation-dictionary'). |
| `updated_at_ge` | string | No | Return items where updatedAt is greater than or equal to the specified value. |
| `updated_at_gt` | string | No | Return items where updatedAt is greater than the specified value. |
| `updated_at_le` | string | No | Return items where updatedAt is less than or equal to the specified value. |
| `updated_at_lt` | string | No | Return items where updatedAt is less than the specified value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Insight

**Slug:** `VAPI_PATCH_INSIGHT_INSIGHT`

Tool to update an existing insight configuration in VAPI. Use when you need to modify insight properties like name, queries, time range, or visualization settings. Supports all four insight types (bar, pie, line, text) with type-specific configurations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the insight to update |
| `name` | string | No | Display name for the insight |
| `type` | string ("bar" | "pie" | "line" | "text") | Yes | Type of insight visualization: 'bar' for bar chart, 'pie' for pie chart, 'line' for line chart, 'text' for text/numeric display |
| `formula` | object | No | Single formula object for text insights when using multiple queries |
| `groupBy` | string ("assistantId" | "workflowId" | "squadId" | "phoneNumberId" | "type" | "endedReason" | "campaignId") | No | Field to group results by. Use for breaking down data by specific dimensions. Can also use 'artifact.structuredOutputs[OutputID]' format |
| `queries` | array | Yes | Array of query definitions. Text insights with multiple queries require a formula. Other types support multiple queries |
| `formulas` | array | No | Array of formulas for computed values. Available for bar, pie, and line insights |
| `metadata` | object | No | Metadata for chart configuration (bar and line insights only). |
| `timeRange` | string | No | Time range for the insight data. Bar and line insights support 'step' field for granularity |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Phone Number

**Slug:** `VAPI_PHONE_NUMBER_CONTROLLER_CREATE`

Tool to create a phone number with VAPI. Use when you need to provision a new phone number for voice AI applications. Supports multiple providers (VAPI, Twilio, Vonage, Telnyx, BYO). Required parameters vary by provider.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Friendly name for the phone number for your reference |
| `number` | string | No | Phone number in E.164 format. Required for Twilio, Vonage, and Telnyx providers. Not used for VAPI provider |
| `sip_uri` | string | No | SIP URI for the phone number. Only applicable for VAPI provider |
| `provider` | string ("byo-phone-number" | "twilio" | "vonage" | "vapi" | "telnyx") | Yes | Phone number provider. Required for all phone number creations. Options: 'byo-phone-number' (bring your own), 'twilio', 'vonage', 'vapi', or 'telnyx' |
| `squad_id` | string | No | ID of the squad to associate with this phone number. Only one of assistantId, squadId, or workflowId can be set |
| `sms_enabled` | boolean | No | Enable SMS functionality for the phone number. Only applicable for Twilio provider |
| `workflow_id` | string | No | ID of the workflow to associate with this phone number. Only one of assistantId, squadId, or workflowId can be set |
| `assistant_id` | string | No | ID of the assistant to associate with this phone number. Only one of assistantId, squadId, or workflowId can be set |
| `credential_id` | string | No | Credential ID for authentication. Required for BYO (bring your own), Vonage, and Telnyx providers. Not used for VAPI or Twilio providers |
| `twilio_api_key` | string | No | Twilio API Key. Optional when using Twilio provider |
| `twilio_api_secret` | string | No | Twilio API Secret. Optional when using Twilio provider |
| `twilio_auth_token` | string | No | Twilio Auth Token for authentication. Optional when using Twilio provider |
| `twilio_account_sid` | string | No | Twilio Account SID. Required only when using Twilio provider |
| `number_desired_area_code` | string | No | Desired area code for the phone number when using VAPI provider to automatically provision a number |
| `number_e164_check_enabled` | boolean | No | Enable E.164 format validation for phone numbers. Only applicable for BYO provider |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Scorecards

**Slug:** `VAPI_SCORECARD_CONTROLLER_GET_PAGINATED`

Tool to retrieve a paginated list of scorecards from Vapi. Use when you need to list or search scorecards with optional filtering by creation/update timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Filter by scorecard identifier. |
| `page` | integer | No | Page number to return. Defaults to 1. |
| `limit` | integer | No | Maximum number of items to return. Defaults to 100. |
| `sortOrder` | string ("ASC" | "DESC") | No | Sort order for pagination. Defaults to 'DESC'. |
| `createdAtGe` | string | No | Return items where createdAt is greater than or equal to the specified value. Use ISO 8601 datetime format. |
| `createdAtGt` | string | No | Return items where createdAt is greater than the specified value. Use ISO 8601 datetime format. |
| `createdAtLe` | string | No | Return items where createdAt is less than or equal to the specified value. Use ISO 8601 datetime format. |
| `createdAtLt` | string | No | Return items where createdAt is less than the specified value. Use ISO 8601 datetime format. |
| `updatedAtGe` | string | No | Return items where updatedAt is greater than or equal to the specified value. Use ISO 8601 datetime format. |
| `updatedAtGt` | string | No | Return items where updatedAt is greater than the specified value. Use ISO 8601 datetime format. |
| `updatedAtLe` | string | No | Return items where updatedAt is less than or equal to the specified value. Use ISO 8601 datetime format. |
| `updatedAtLt` | string | No | Return items where updatedAt is less than the specified value. Use ISO 8601 datetime format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Session

**Slug:** `VAPI_SESSION_CONTROLLER_CREATE`

Tool to create a new session in Vapi. Use when you need to establish a persistent conversation context that can span multiple chats. Sessions automatically expire after 24 hours.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the session for easy reference. Maximum length is 40 characters. |
| `assistant` | object | No | Inline assistant configuration for session creation. |
| `assistantId` | string | No | ID of a pre-configured assistant to use. Provide either assistantId or assistant object. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sessions

**Slug:** `VAPI_SESSION_CONTROLLER_FIND_ALL_PAGINATED`

Tool to retrieve a paginated list of sessions from VAPI. Use when you need to list sessions with optional filtering by session ID, name, assistant, squad, or workflow. Supports pagination, sorting, and timestamp-based filtering.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Unique identifier for the session to filter by |
| `name` | string | No | Name of the session to filter by |
| `page` | integer | No | Page number for results; defaults to 1 |
| `limit` | integer | No | Maximum items to return; defaults to 100 |
| `squadId` | string | No | ID of the squad to filter sessions by |
| `sortOrder` | string ("ASC" | "DESC") | No | Sort order (ASC/DESC); defaults to DESC |
| `workflowId` | string | No | ID of the workflow to filter sessions by |
| `assistantId` | string | No | ID of the assistant to filter sessions by |
| `createdAtGe` | string | No | Items where createdAt is greater than or equal to value. Use ISO 8601 datetime format |
| `createdAtGt` | string | No | Items where createdAt is greater than specified value. Use ISO 8601 datetime format |
| `createdAtLe` | string | No | Items where createdAt is less than or equal to value. Use ISO 8601 datetime format |
| `createdAtLt` | string | No | Items where createdAt is less than specified value. Use ISO 8601 datetime format |
| `updatedAtGe` | string | No | Items where updatedAt is greater than or equal to value. Use ISO 8601 datetime format |
| `updatedAtGt` | string | No | Items where updatedAt is greater than specified value. Use ISO 8601 datetime format |
| `updatedAtLe` | string | No | Items where updatedAt is less than or equal to value. Use ISO 8601 datetime format |
| `updatedAtLt` | string | No | Items where updatedAt is less than specified value. Use ISO 8601 datetime format |
| `assistantIdAny` | string | No | Filter by multiple assistant IDs. Provide as comma-separated values |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Tool

**Slug:** `VAPI_TOOL_CONTROLLER_FIND_ONE`

Tool to fetch tool details by ID. Use when you have a tool ID and need full tool configuration including type, messages, function definitions, and server settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the tool to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Test Code Tool Execution

**Slug:** `VAPI_TOOL_CONTROLLER_TEST_CODE_EXECUTION`

Tool to test TypeScript code execution in Vapi's code tool environment. Use when validating code before deploying it as a tool.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | TypeScript code to execute. The code should return a result object. Can access 'args' for parameters and 'env' for environment variables. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Tool

**Slug:** `VAPI_TOOL_CONTROLLER_UPDATE`

Tool to update an existing Vapi tool configuration. Use when you need to modify tool properties such as function definitions, server settings, messages, or other tool-specific parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the tool to update |
| `url` | string | No | URL endpoint for apiRequest tools |
| `type` | string | No | Type of tool: function, apiRequest, dtmf, endCall, transferCall, handoff, bash, computer, textEditor, query, google.calendar.event.create, google.sheets.row.append, slack.message.send, sms, mcp, or gohighlevel variants |
| `async` | boolean | No | Whether the tool execution is asynchronous |
| `method` | string | No | HTTP method for apiRequest tools: GET, POST, PATCH, PUT, DELETE |
| `server` | object | No | Server configuration for tool requests including url, timeout, headers, and credentials |
| `function` | object | No | Function definition for function-type tools. |
| `messages` | array | No | Array of message objects for different tool states: ToolMessageStart, ToolMessageComplete, ToolMessageFailed, ToolMessageDelayed |
| `backoffPlan` | object | No | Retry logic configuration with type, maxRetries, and baseDelaySeconds |
| `destinations` | array | No | Transfer destinations for transferCall tools |
| `rejectionPlan` | object | No | Conditions determining when the tool should be rejected or not executed |
| `variableExtractionPlan` | object | No | Schema and aliases for extracting variables from the call for use in the tool |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Phone Number

**Slug:** `VAPI_UPDATE_PHONE_NUMBER`

Tool to update an existing phone number configuration in VAPI. Use when you need to modify phone number settings such as name, associated assistant/workflow, or provider-specific configurations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the phone number to update. This is the phone number ID returned from VAPI. |
| `name` | string | No | The name or label for the phone number to help identify it. |
| `hooks` | array | No | List of webhook configurations to receive events for this phone number. |
| `number` | string | No | The actual phone number in E.164 format (e.g., +14155551234). |
| `server` | object | No | Server configuration for handling phone number events. |
| `sip_uri` | string | No | SIP URI for SIP-based phone numbers. |
| `squad_id` | string | No | The ID of the squad to associate with this phone number. Alternative to assistant_id or workflow_id. |
| `sms_enabled` | boolean | No | Whether SMS is enabled for this phone number (Twilio provider only). |
| `workflow_id` | string | No | The ID of the workflow to associate with this phone number. Alternative to assistant_id. |
| `assistant_id` | string | No | The ID of the assistant to associate with this phone number. When calls are received, this assistant will handle them. |
| `credential_id` | string | No | The ID of the credential to use for this phone number (provider-specific). |
| `authentication` | object | No | Authentication configuration for SIP-based phone numbers. |
| `twilio_api_key` | string | No | Twilio API key (alternative to auth token). |
| `twilio_api_secret` | string | No | Twilio API secret (used with API key). |
| `twilio_auth_token` | string | No | Twilio authentication token (for Twilio provider). |
| `twilio_account_sid` | string | No | Twilio account SID (required for Twilio provider). |
| `fallback_destination` | object | No | Fallback destination configuration when the primary assistant/workflow is unavailable. |
| `number_e164_check_enabled` | boolean | No | Whether to enable E.164 format validation for the phone number. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload File

**Slug:** `VAPI_UPLOAD_FILE`

Tool to upload a file to Vapi Knowledge Base. Use when you need to add files for AI assistants to reference. Returns file metadata including ID, storage URLs, and processing status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | File to upload to Vapi Knowledge Base. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
