Create Tool

Creates a reusable tool that assistants can invoke during conversations.

Authentication

AuthorizationBearer
Authenticate server-side requests with a private Vapi API key. Create or copy a key from the [Vapi Dashboard](https://dashboard.vapi.ai) and send it in the `Authorization` header as `Bearer <token>`. Keep private API keys out of client-side code and public repositories.

Request

This endpoint expects an object.
apiRequestobjectRequired
Configuration used to create a reusable tool that sends HTTP requests to a configured API and can authenticate, retry failures, and extract variables from responses.
OR
dtmfobjectRequired
Configuration used to create a tool that lets an assistant send DTMF keypad tones during a call.
OR
endCallobjectRequired
Configuration used to create a tool that lets an assistant end the active call.
OR
functionobjectRequired

Configuration used to create a custom function tool that sends model-generated arguments to a server and returns the result to the assistant.

OR
transferCallobjectRequired
Configuration used to create a tool that transfers the active call to one of its configured destinations.
OR
handoffobjectRequired
Configuration used to create a tool that hands a conversation to another assistant, squad, or dynamically selected destination.
OR
bashobjectRequired
Configuration used to create a tool that executes shell commands in a configured environment.
OR
computerobjectRequired
Configuration used to create a tool that lets the model interact with a computer display through screen, pointer, and keyboard actions.
OR
textEditorobjectRequired
Configuration used to create a tool that reads and edits text files in a configured environment.
OR
queryobjectRequired
Configuration used to create a tool that searches configured knowledge bases and returns relevant content to the assistant.
OR
google.calendar.event.createobjectRequired
Configuration used to create a tool that adds events to a connected Google Calendar.
OR
google.sheets.row.appendobjectRequired
Configuration used to create a tool that appends rows to a connected Google Sheet.
OR
google.calendar.availability.checkobjectRequired
Configuration used to create a tool that checks availability in a connected Google Calendar.
OR
slack.message.sendobjectRequired
Configuration used to create a tool that lets an assistant send a message to Slack.
OR
smsobjectRequired
Configuration used to create a tool that lets an assistant send an SMS message during a call.
OR
mcpobjectRequired
Configuration used to create a tool that connects an assistant to a Model Context Protocol server and exposes its available tools.
OR
gohighlevel.calendar.availability.checkobjectRequired
Configuration used to create a tool that checks calendar availability in a connected GoHighLevel account.
OR
gohighlevel.calendar.event.createobjectRequired
Configuration used to create a tool that adds calendar events to a connected GoHighLevel account.
OR
gohighlevel.contact.createobjectRequired
Configuration used to create a tool that adds contacts to a connected GoHighLevel account.
OR
gohighlevel.contact.getobjectRequired
Configuration used to create a tool that retrieves contacts from a connected GoHighLevel account.
OR
sipRequestobjectRequired

Configuration used to create a tool that sends SIP INFO, MESSAGE, or NOTIFY requests with configured headers and body.

OR
voicemailobjectRequired

Configuration used to create a voicemail-detection tool with optional beep detection for supported calls.

Response

apiRequestobject
A reusable tool that sends HTTP requests to a configured API and can authenticate, retry failures, and extract variables from responses.
OR
codeobject
A reusable tool that executes TypeScript code with configured credentials, environment variables, and timeout.
OR
dtmfobject
A reusable tool that lets an assistant send DTMF keypad tones during a call.
OR
endCallobject
A reusable tool that lets an assistant end the active call.
OR
functionobject

A reusable custom function tool that sends model-generated arguments to a configured server and returns the result to the assistant.

OR
transferCallobject
A reusable tool that transfers the active call to one of its configured destinations.
OR
handoffobject
A reusable tool that hands a conversation to another assistant, squad, or dynamically selected destination.
OR
bashobject
A reusable tool that executes shell commands in a configured environment.
OR
computerobject
A reusable tool that lets the model interact with a computer display through screen, pointer, and keyboard actions.
OR
textEditorobject
A reusable tool that reads and edits text files in a configured environment.
OR
queryobject
A reusable tool that searches configured knowledge bases and returns relevant content to the assistant.
OR
google.calendar.event.createobject
A reusable tool that adds events to a connected Google Calendar.
OR
google.sheets.row.appendobject
A reusable tool that appends rows to a connected Google Sheet.
OR
google.calendar.availability.checkobject
A reusable tool that checks availability in a connected Google Calendar.
OR
slack.message.sendobject
A reusable tool that lets an assistant send a message to Slack.
OR
smsobject
A reusable tool that lets an assistant send an SMS message during a call.
OR
mcpobject
A reusable tool that connects an assistant to a Model Context Protocol server and exposes its available tools.
OR
gohighlevel.calendar.availability.checkobject
A reusable tool that checks calendar availability in a connected GoHighLevel account.
OR
gohighlevel.calendar.event.createobject
A reusable tool that adds calendar events to a connected GoHighLevel account.
OR
gohighlevel.contact.createobject
A reusable tool that adds contacts to a connected GoHighLevel account.
OR
gohighlevel.contact.getobject
A reusable tool that retrieves contacts from a connected GoHighLevel account.
OR
sipRequestobject

A reusable tool that sends SIP INFO, MESSAGE, or NOTIFY requests with configured headers and body.

OR
voicemailobject

A reusable voicemail-detection tool with optional beep detection for supported calls.