Vapi Integration for AI Agents

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Vapi MCP or direct API to create voice agents, manage conversations, deploy workflows, and analyze call interactions through natural language.
Vapi Logo
Gradient Top
Gradient Middle
Gradient Bottom
divider

Try Vapi now

Enter a prompt below to test the integration in our Tool Router playground. You'll be redirected to sign in and try it live.

Supported Tools

Tools
Update AssistantTool to update an existing Vapi assistant configuration.
List CallsTool to list calls from Vapi.
Delete ChatTool to delete a chat by its ID from Vapi.
Get ChatTool to fetch chat details by ID.
Create Analytics QueriesTool to create and execute analytics queries on VAPI data.
Create AssistantTool to create a new Vapi assistant with specified transcriber, voice, and AI model configurations.
Create EvalTool to create an eval for testing conversation flows.
Create OpenAI ChatTool to create an OpenAI-compatible chat using the Vapi API.
Create Phone NumberTool to create a phone number with Vapi.
Create Monitoring PolicyTool to create a monitoring policy in VAPI.
Create Provider ResourceTool to create an 11Labs pronunciation dictionary resource.
Create ScorecardTool to create a scorecard for observability and evaluation.
Delete CallTool to delete a call by its unique identifier.
Delete EvalTool to delete an eval by ID.
Delete Phone NumberTool to delete a phone number from Vapi.
Get EvalTool to retrieve an eval by its ID.
Delete Eval RunTool to delete an eval run by its ID from Vapi.
Update EvalTool to update an existing eval in Vapi.
Get AssistantTool to retrieve a specific assistant by ID from Vapi.
Get CallTool to fetch call details by ID.
Get FileTool to retrieve a file by its ID from Vapi.
Get InsightsTool to retrieve insights from Vapi.
List Monitoring PoliciesTool to retrieve monitoring policies from Vapi.
Get Observability ScorecardTool to list observability scorecards with optional filtering and pagination.
List Provider ResourcesTool to list provider resources from Vapi.
List Structured OutputsTool to list structured outputs with optional filtering.
Get InsightsTool to retrieve insights from VAPI.
List AssistantsTool to list all assistants in your VAPI organization.
List ChatsTool to retrieve a list of chat conversations from VAPI.
List EvalsTool to retrieve a paginated list of evals from Vapi.
List Provider ResourcesTool to retrieve provider resources from Vapi (e.
Update InsightTool to update an existing insight configuration in VAPI.
Create Phone NumberTool to create a phone number with VAPI.
List ScorecardsTool to retrieve a paginated list of scorecards from Vapi.
Create SessionTool to create a new session in Vapi.
List SessionsTool to retrieve a paginated list of sessions from VAPI.
List Structured OutputsTool to list structured outputs with optional filtering and pagination.
Get ToolTool to fetch tool details by ID.
Test Code Tool ExecutionTool to test TypeScript code execution in Vapi's code tool environment.
Update ToolTool to update an existing Vapi tool configuration.
Update Phone NumberTool to update an existing phone number configuration in VAPI.
Upload FileTool to upload a file to Vapi Knowledge Base.
Python
TypeScript

Install Composio

python
pip install composio claude-agent-sdk
Install the Composio SDK for Python or TypeScript

Initialize Client and Create Tool Router Session

python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
Import and initialize the Composio client, then create a Tool Router session for Vapi

Connect to AI Agent

python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Vapi tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Start a new voice agent session with the welcome script.')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
Use the MCP server with your AI agent (Anthropic Claude or Mastra)

Why Use Composio?

AI Native Vapi Integration

  • Supports both Vapi MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Vapi data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Vapi access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Vapi
  • Scoped, least privilege access to Vapi resources
  • Full audit trail of agent actions to support review and compliance

Frequently Asked Questions

Do I need my own developer credentials to use Vapi with Composio?

Yes, Vapi requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. Learn more.

What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

Used by agents from

Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai

Never worry about agent reliability

We handle tool reliability, observability, and security so you never have to second-guess an agent action.