I Built a Vapi Community Node for n8n—Now Officially Verified
I built n8n-nodes-vapiai because I was tired of rebuilding the same Vapi API requests and webhook handling in every n8n workflow. What began as a solution to my own problem is now an open-source community node that has passed n8n's automated and manual review process.
Update — July 2026: n8n-nodes-vapiai is now a verified n8n community node. It can be discovered and installed from the n8n nodes panel on supported n8n instances, including n8n Cloud workspaces that allow verified community nodes.
What Is the Vapi Community Node for n8n?
n8n-nodes-vapiai connects Vapi with n8n through native, structured node operations. Instead of manually configuring an HTTP Request node for every call to the Vapi API, you can select a resource and operation, fill in the relevant fields, and keep your Vapi credentials in n8n's credential system.
The package contains two nodes:
- Vapi: Performs operations against the Vapi REST API.
- Vapi Trigger: Receives Vapi server and client message events through an n8n webhook.
The package is MIT licensed, published on npm, and actively maintained in public on GitHub.
From an Open-Source Project to a Verified n8n Node
When I first published this article, verification was the next milestone. Since then, the package has completed both the automated checks and manual review required by n8n.
For users, the important result is trust and accessibility: n8n has reviewed and approved the community package, and the node can be installed directly from the editor where verified community nodes are supported. The verified label does not mean that Vapi or n8n maintains the package; I remain its independent maintainer. It means the package has been accepted into n8n's verified community-node ecosystem.
Getting there required more than implementing API endpoints. The package needed clear metadata and documentation, an MIT license, safe credential handling, reproducible builds, automated publishing, npm provenance, and code that met n8n's community-node requirements.
Seeing the verified indicator inside n8n made that work worthwhile. More importantly, it removed friction for people who want to use Vapi in their workflows without maintaining a collection of custom HTTP requests.
What the Node Supports Today
The current package exposes six Vapi resource groups.
Calls
Create outbound or batch calls, retrieve and filter calls, update supported fields, end active calls, and request call-data deletion for retention or compliance workflows.
Assistants
Create, retrieve, list, update, and delete assistants. Common settings are available as structured fields, while advanced model, voice, server, monitoring, analysis, hook, and artifact configuration can be supplied as JSON.
Phone Numbers
Provision or import phone numbers, retrieve and list them, update routing and webhook settings, and delete or release them. The node supports Vapi, Twilio, Telnyx, Vonage, and bring-your-own-number provider shapes, with JSON available for provider-specific configuration.
Squads
Create and manage squads for multi-assistant call routing. This is useful when a call must move between specialized assistants, such as front desk, sales, support, and billing agents.
Tools
Create, retrieve, list, update, and delete tools. The node includes support for common function, API request, code, call-control, query, MCP, Slack, SMS, Google, and GoHighLevel tool types. New or less common Vapi tool shapes can be passed through the raw JSON field.
Files
Upload files from n8n binary data, text content, or a URL, then retrieve, list, update, or delete them. These files can be referenced by assistants, tools, knowledge bases, and other Vapi resources.
Why I Added an Advanced Raw Body Field
Vapi evolves quickly, and a community node should not block users whenever the API introduces a new field. For that reason, create and update operations include an Advanced Raw Body (JSON) option.
The node builds the request from the structured UI fields first and merges the raw JSON last. A top-level value in the raw body therefore overrides the corresponding structured value. This gives beginners a guided interface while allowing advanced users to access newer or more specialized Vapi configuration without waiting for a package update.
For example, an outbound call can be created with fields in the UI or with a payload such as:
{
"assistantId": "your-assistant-id",
"phoneNumberId": "your-phone-number-id",
"customer": {
"number": "+91XXXXXXXXXX"
}
}
Using Vapi Events as n8n Triggers
The Vapi Trigger node exposes an n8n webhook URL that you add as a server URL in Vapi. It can listen for selected event types or forward all events with a normalized json.type value for routing through an IF or Switch node.
Common events include:
end-of-call-reportstatus-updatetranscriptconversation-updatetool-callstool-calls-resulttransfer-destination-requestassistant-requestknowledge-base-requestvoice-request
The trigger can also validate a shared secret header. I strongly recommend enabling this for production workflows so that unknown requests cannot activate a public webhook simply because they know its URL.
Webhook registration is intentionally manual: n8n generates the webhook URL, and you decide where to configure it in Vapi—at the organization, assistant, phone-number, or tool level.
A Practical Post-Call Automation
One of the most useful patterns begins with an end-of-call-report event:
- Vapi finishes a call and sends the report to the Vapi Trigger.
- n8n extracts the transcript and call metadata.
- An AI step summarizes the conversation or produces structured fields.
- n8n updates a CRM, spreadsheet, database, or help desk.
- The workflow sends a follow-up email, SMS, or internal notification.
The same workflow can branch by assistant ID, phone-number ID, call status, or custom metadata. This turns a phone conversation into structured business automation without polling Vapi or manually exporting data.
How to Install It
On an n8n instance that supports verified community nodes:
- Open a workflow and search for Vapi in the nodes panel.
- Open the Vapi node details.
- Select Install node.
- Create a Vapi API credential using an API key from the Vapi dashboard.
For a self-hosted instance, you can also install the package through Settings → Community Nodes using:
n8n-nodes-vapiai
Or install it directly with npm:
npm install n8n-nodes-vapiai
Only install community packages that you trust, and test workflows with non-production credentials and phone numbers before using them with real customers.
Community Node or HTTP Request Node?
n8n's HTTP Request node is excellent, and it remains the fastest option for an endpoint that the package does not yet support. A dedicated node becomes valuable when the integration is used repeatedly or shared with a team.
The community node provides:
- A reusable Vapi credential type instead of repeated authorization headers.
- Discoverable resources and operations.
- Guided input fields for common configuration.
- Consistent request and response handling.
- A dedicated trigger for Vapi webhook events.
- Raw JSON access when the guided fields are not enough.
For a one-off request, HTTP Request may be all you need. For a workflow that other people must understand, maintain, and reuse, the native node offers a cleaner interface and reduces configuration mistakes.
What I Learned
Building the API calls was only part of the work
A usable integration also needs naming, descriptions, sensible defaults, error handling, credentials, documentation, release automation, and a strategy for API changes. These details are what separate a working prototype from a package other people can rely on.
A guided UI and raw JSON work better together
Trying to expose every possible API field creates an overwhelming interface. Supporting only a few fields makes the node too restrictive. Structured inputs for common cases plus raw JSON for advanced configuration turned out to be the right balance.
Verification is a milestone, not the finish line
The verified status makes the node easier to trust and install, but maintenance continues. Vapi will add and change API capabilities, n8n will evolve its node framework, and users will find edge cases I did not anticipate. Issues and pull requests remain an important part of the project.
What Comes Next
My next priorities are to keep the node aligned with Vapi's API, improve the guided fields for common voice-agent configurations, expand examples, and make production patterns such as webhook security, call-data retention, and error handling easier to follow.
If you use the node, I would genuinely appreciate feedback. Tell me what you are building, report problems, or open a pull request:
- GitHub: github.com/ajit-kihor/n8n-nodes-vapiai
- npm: npmjs.com/package/n8n-nodes-vapiai
- Vapi documentation: docs.vapi.ai
- n8n community-node documentation: docs.n8n.io/integrations/community-nodes
This started as a way to avoid repeating HTTP and webhook setup. Becoming a verified n8n community node is a meaningful milestone, but the best outcome is seeing other builders use it to create voice AI automations of their own.

Ajit Kihor
AI Agent Developer & Automation Engineer
I build high-performance AI agents and business automations using n8n, Zapier, and custom LLM workflows.
More Articles
The Three Open Source Tools That Are Actually Running My Business in 2026
OpenCode, Paperclip, and Hermes Agent are not just developer toys. Together they form a full-stack autonomous workflow that I now run my work through every single day.
n8n vs Zapier: Choosing the Right Automation Tool
An honest comparison of n8n and Zapier based on real-world projects, including when to use each and how to combine them.
Claude Code and Claude Cowork: Two Tools, One New Era of Work
Anthropic has shipped two agentic products rewriting how people work. Claude Code puts an AI software engineer in your terminal. Claude Cowork puts one on your desktop.
I've Been Using WinBid.io for Months. Here's Why It Changed How My Agency Bids on Upwork.
WinBid.io is an AI-powered job scoring tool for Upwork that helps freelancers and agencies stop wasting connects on the wrong jobs. Here is how to install it, use the dashboard, and actually win more.