Composer
Composer is currently in Alpha. Features and behavior may change as we iterate based on user feedback.
Overview
Composer is Vapi’s intelligent assistant that helps you build and configure voice AI agents through natural conversation. Instead of manually configuring settings and writing prompts, describe what you want to build and Composer handles the technical setup.
Composer understands voice agent architecture and Vapi’s capabilities. It can create agents, configure phone numbers, set up integrations, troubleshoot issues, and answer questions about Vapi features.
Why use Composer:
- Faster development: Build agents in minutes instead of hours by describing your use case
- Best practices built in: Composer applies Vapi best practices automatically
- Lower barrier to entry: No need to learn every API parameter or configuration option
- Troubleshooting support: Composer can diagnose issues and suggest fixes
Get started
Open Composer
Log into your Vapi dashboard and click the Composer option in the navigation, or use the chat widget.
Describe what you want to build
Tell Composer what you need in plain language. The more context you provide, the better the result.
Effective prompts:
- “Help me build a restaurant reservation agent”
- “I need to set up a phone number for my agent”
- “Create an agent that can answer questions about my business”
- “My agent isn’t transferring calls correctly, can you help?”
What Composer can do
Capabilities
- Create and configure assistants
- Set up phone numbers
- Configure integrations and webhooks
- Update agent prompts and settings
- Troubleshoot technical issues
- Create and run simulations, and generate a test suite for an assistant
- Answer questions about Vapi features
- Recommend best practices for your use case
Limitations
- Cannot delete resources: Composer cannot delete assistants, tools, phone numbers, or any other resources. This is an intentional safety measure. Use the dashboard sidebar to delete resources manually. Composer can discard your own unpublished assistant or tool draft, which never changes the live resource.
- Cannot access external systems: Composer operates within Vapi and cannot reach your CRM, database, or other third-party systems directly.
- Cannot make business logic decisions: You provide the domain knowledge; Composer handles the technical configuration.
- Cannot test every behavior: Generated suites run in chat, so they can’t check voice-only behavior such as pronunciation. They also skip some handoffs and transfers. Test these with real calls.
- Cannot deploy to production automatically: You control when and how changes go live.
Common use cases
Build a new agent from scratch
What you say:
“I want to build an agent for my dental office that can schedule appointments and answer common questions about our services.”
What Composer does:
- Asks about your specific requirements (hours, services, appointment types)
- Creates an agent with an appropriate system prompt
- Configures necessary tools (calendar integration, knowledge base)
- Sets up phone number configuration
- Provides testing guidance
Your part:
- Answer Composer’s questions about your business
- Provide specific details (office hours, services offered, etc.)
- Test the agent and provide feedback
Example conversation:
Set up a phone number
What you say:
“I need to connect a phone number to my agent.”
What Composer does:
- Asks if you want to purchase a new number or import an existing one
- Helps you select an area code or region
- Configures the number to work with your agent
- Provides the phone number for testing
If you need a specific area code for local presence, mention it upfront. If you’re porting an existing number, have your account details from your current provider ready.
Troubleshoot issues
What you say:
“My agent keeps dropping calls when trying to transfer.”
What Composer does:
- Asks diagnostic questions (when does it happen, what number, etc.)
- Checks your agent configuration
- Identifies the issue (incorrect transfer format, missing permissions, etc.)
- Fixes the configuration or guides you through the fix
Common issues Composer can help with:
- Call transfers not working
- Agent not responding correctly to specific inputs
- Phone number routing problems
- Integration failures (calendar, CRM, etc.)
- Voice quality or latency issues
- Prompt behavior not matching expectations
Integrate with external systems
What you say:
“I want my agent to check availability in our calendar before booking appointments.”
What Composer does:
- Explains integration options (API webhooks, direct integrations)
- Helps configure the integration endpoint
- Sets up the agent to call your API with the right parameters
- Provides example requests/responses for testing
Your part:
- Provide your API endpoint URL
- Share authentication details (API keys, etc.)
- Describe the expected request/response format
- Test the integration with real scenarios
Popular integrations: Google Calendar, Calendly, Salesforce, HubSpot, booking systems, knowledge bases, and custom APIs.
Generate tests for an assistant
Ask Composer to generate tests for an assistant, for example “Generate a test suite for my dental office agent.” Composer reads the assistant’s prompt and tools and drafts a list of testable requirements. Once you agree on them, it builds a simulation suite that covers them.
Review the requirements
Composer drafts a numbered list of Test requirements. Each one is a behavior a simulated caller could trigger. Composer tags a requirement Assumption when the prompt implies it without stating it. It tags a requirement Can’t be simulated when a chat simulation can’t check it, such as pronunciation or the exact wording of the first message. It also asks up to three open questions when an answer would change a requirement.
Accept or change them
Select Generate coverage to accept the draft, or describe the changes you want in the chat. Composer revises the draft and asks you to review it again. It never generates a suite from requirements you haven’t agreed to.
Review the suite
Composer generates the suite and shows it on a card. The card shows:
- Each simulation. A simulation covers one caller goal, and the requirements it covers become its success criteria.
- How many requirements are covered, and why any aren’t.
- Handoffs and transfers the suite doesn’t test, marked Not tested, with the reason.
- The tools each simulation mocks.
Every tool in the assistant’s tool list that would reach an external system is mocked by default. Tools that only a hook calls aren’t mocked.
Run the suite
Select Run suite on the card, or ask Composer to run it. The suite runs once, in chat, against the assistant it was generated for. Composer doesn’t wait for the run. Follow progress and results on the runs page. When the run ends, ask Composer about the results.
After generating a suite, ask Composer to change it in the same conversation:
- Remove simulations: Removed simulations are unlinked from the suite, not deleted.
- Rewrite a simulation: Describe the change, for example “make the caller refuse to give a date of birth.”
- Retry failed simulations: When some simulations couldn’t be generated, Composer offers to try them again.
Composer saves the agreed requirements with the suite, and every edit works from them. If you change the requirements later, Composer builds a new suite. The existing suite doesn’t change. It remains in your account until you delete it from the dashboard.
One passing run shows the assistant can succeed, not that it will every time. Run five or more iterations before you trust the pass rate. Ask Composer to run more, or rerun the suite with more Iterations. See testing best practices.
Safety features
Composer includes safeguards to prevent accidental or irreversible changes to your account. You control how much Composer can do on its own with per-conversation approval modes.
Approval modes
You choose when Composer pauses for your approval, and the setting persists for that conversation:
- Ask before every change: Composer requests approval for all creates, updates, deletes, runs, and publishes.
- Ask before updates, deletes, runs, and publishing: Composer creates new resources on its own, but asks before changing, deleting, running, or publishing anything that already exists.
- Bypass approvals: Composer applies changes without pausing.
- Custom: set permissions for each resource and action individually.
Approval enforcement always happens on the server, and read operations never require approval.
Deletion
Composer does not delete resources. Delete assistants, tools, phone numbers, squads, and files from the dashboard yourself. When Composer removes a simulation from a suite it generated, the simulation is unlinked from the suite, not deleted.
How the approval flow works
Key details about approvals:
- Tokens expire after 10 minutes: if you don’t respond in time, Composer re-proposes the change.
- Each approval is specific: approval tokens are cryptographically bound to the exact change being made, so multiple changes each require individual approval.
- Read operations don’t require approval: Composer can freely read and list your resources.
Tips for best results
Be specific about your use case
Provide context about your industry, audience, and requirements upfront.
Iterate in stages
Build a basic working agent first, then layer on advanced features:
- Phase 1: Basic conversation flow
- Phase 2: Add integrations (calendar, CRM, knowledge base)
- Phase 3: Add advanced features (custom voices, complex routing)
Handle one task at a time
Keep conversations focused on a single objective for best results.
Ask Composer to explain
If you’re unsure about Vapi features or want to learn the API, ask directly:
- “What’s the best way to handle voicemail?”
- “Should I use function calling or server URL for my integration?”
- “Can you show me the API call you’re making to create this agent?”
Ask Composer for the full configuration of an agent it builds. Save it in version control to use as a template for similar agents.
Next steps
Now that you know how Composer works:
- Assistants quickstart: Learn the fundamentals of building voice agents manually
- Prompting guide: Write effective system prompts for your agents
- Tools overview: Understand the tools and integrations available to your agents
- Phone numbers: Set up phone numbers for your agents