---
title: "Vapi Integration"
description: "Run voice AI operations on Vapi with 47 actions: agents place and analyze phone calls, build assistants and multi-assistant squads, provision phone numbers, manage tools and knowledge files, drive outbound calling campaigns, and pull call cost and duration analytics."
url: https://flowrunner.ai/integrations/vapi
date_modified: 2026-08-07T17:20:23-07:00
---

# Vapi

[AI](https://flowrunner.ai/integrations/category/ai-llms)

Run voice AI operations on Vapi with 47 actions: agents place and analyze phone calls, build assistants and multi-assistant squads, provision phone numbers, manage tools and knowledge files, drive outbound calling campaigns, and pull call cost and duration analytics.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 47 actions · API key · available

[Vapi website](https://vapi.ai/) · [Platform Documentation](https://docs.vapi.ai/) · Capability data verified 2026-08-12

1.  Qualified leads land as new rows in the call sheet
2.  Agent reads numbers, time zones, and context fields for each lead
3.  Agent resolves the assistant with List Assistants and confirms the script and voice version
4.  Agent stages the batch with dial windows set per time zone via Earliest At and Latest At
5.  Launch summary posted to the sales manager: list size, assistant, calling window
6.  Manager approves; agent runs Create Call per lead and collects each transcript, recording, and analysis with Get Call as calls complete

## What This Integration Enables

A phone call is the least reversible act in the automation stack: once a customer's phone rings, it happened. That is why this integration treats Vapi as two distinct surfaces. The conversation belongs to Vapi's voice assistants. Everything around the conversation belongs to the workflow: who gets called, when, with which assistant and script version, and what happens to the transcript, recording, and structured analysis afterward. Agents build and maintain assistants, provision and route phone numbers, compose multi-assistant squads that hand live calls between triage and specialists, run the same assistants over text through chats and sessions, manage knowledge files, and aggregate cost and duration analytics with Run Analytics Query.

The launch decision is never the agent's. Dial lists, scripts, and campaigns clear a [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) gate before the first ring, and a person keeps the power to stop a running campaign mid-flight.

### Without FlowRunner

**Follow-up calls wait for reps**: Leads cool in the queue until someone has an hour to dial

**No record of what was said**: Call outcomes live in rep shorthand, if they get logged at all

**Calling lists run unchecked**: Whoever uploads the list decides who gets dialed, and when

### With FlowRunner

**Every lead dialed inside its window**: Calls schedule themselves per time zone and land while interest is warm

**Transcript, recording, analysis per call**: Get Call returns the full artifact for every conversation

**A person owns every launch**: No batch dials until a manager approves the list, the script, and the window

## Use Case Scenarios

### Lead follow-up that dials itself, after sign-off

New qualified leads land in [Google Sheets](https://flowrunner.ai/integrations/google-sheets). The agent stages the batch: numbers validated, dial windows set per time zone, assistant and script confirmed. The sales manager approves the launch summary, and Create Call dials each lead inside its window. As calls complete, Get Call returns the transcript, recording, and analysis; the agent writes the summary and success evaluation onto the matching deal in [HubSpot](https://flowrunner.ai/integrations/hubspot) and posts the day's recap with recording links to [Slack](https://flowrunner.ai/integrations/slack). Reps spend their time on the conversations flagged worth a human callback.

### Inbound triage that hands off like a team

The agent provisions a number with Create Phone Number and routes inbound calls to a squad built with Create Squad: a triage assistant up front, billing and technical assistants behind it, hand-off destinations defined per member. After hours, Update Phone Number re-points the number to a voicemail-taking assistant, and the morning flow files each overnight call's transcript and recording into the helpdesk. Callers get answered on the first ring; the routing logic lives in one governed place instead of a phone tree nobody remembers how to edit.

### A campaign with a working brake

For a renewal outreach push, the agent stages Create Campaign with the customer list, the dialing number, and a schedule window, and holds for approval. Once launched, it watches Get Campaign counters as calls progress. When the voicemail rate spikes or a script problem surfaces in early transcripts, the operations lead pulls the cord: Update Campaign with Status set to Ended stops dialing immediately, calls already placed stay in history, and the post-mortem runs on Run Analytics Query aggregates rather than guesswork.

## Human-in-Loop Highlight

Create Campaign is the highest-consequence action on this connector: it dials an entire customer list, and a placed call cannot be un-placed. So a campaign launch is structured as a staged decision. The agent assembles everything a manager needs to judge it: customer count, the exact assistant and script version, the dialing number, the schedule window. Then it asks: "Renewal campaign ready: 412 customers, assistant 'Renewals v3', dialing from the main outbound number between 10:00 and 16:00 local. Launch, edit the list, or hold?" Nothing dials until the answer. And approval is not abdication: the manager holds the [digital andon cord](https://flowrunner.ai/concepts/digital-andon-cord) for the whole run, because Update Campaign with Status set to Ended stops a live campaign the moment early transcripts look wrong.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

47 actions

### Calls

7

-   **Create Call** Starts or schedules an outbound call from a Vapi number to one customer or a fan-out list, using a saved assistant, transient configuration, or squad. Routed through launch approval in FlowRunner workflows.
-   **List Calls** Lists calls with filtering by assistant, number, and time window, including status, cost, and artifacts.
-   **Get Call** Retrieves a call's full record: status, cost breakdown, ended reason, transcript, recording URLs, and structured analysis.
-   **Update Call** Updates a call's name label.
-   **Delete Call** Deletes a call record and its data. Cannot be undone.
-   **Get Call Recording** Downloads a call's recording in stereo, mono, or per-channel form into FlowRunner file storage.
-   **Get Call Logs** Downloads the raw line-by-line runtime trace of a call, for debugging assistant behavior.

### Assistants

5

-   **Create Assistant** Creates a saved voice assistant with model, voice, transcriber, first message, and webhook configuration.
-   **List Assistants** Lists saved assistants with their configurations, newest first.
-   **Get Assistant** Retrieves an assistant's complete configuration, the pre-launch script check.
-   **Update Assistant** Updates an assistant; model-related fields replace the whole model object, so updates include provider and model.
-   **Delete Assistant** Permanently deletes an assistant. Numbers and squads referencing it must be re-pointed.

### Phone Numbers

5

-   **Create Phone Number** Provisions a free US number or imports one from Twilio, Vonage, Telnyx, or a SIP trunk, with inbound routing to an assistant, squad, or workflow.
-   **List Phone Numbers** Lists the organization's numbers with provider, routing, and status.
-   **Get Phone Number** Retrieves a number's full configuration.
-   **Update Phone Number** Re-points a number's inbound routing or webhook server, the after-hours switch.
-   **Delete Phone Number** Removes a number; Vapi free numbers are released. Cannot be undone.

### Tools

5

-   **Create Tool** Creates a reusable tool assistants call mid-conversation: server functions, direct API requests, transfers, SMS, and more.
-   **List Tools** Lists the organization's tools with types and configuration.
-   **Get Tool** Retrieves a tool's full configuration.
-   **Update Tool** Updates a tool's configuration; its type is fixed.
-   **Delete Tool** Permanently deletes a tool; assistants referencing it lose access.

### Squads

5

-   **Create Squad** Creates an ordered group of assistants that hand a live call between each other, with per-member transfer destinations.
-   **List Squads** Lists squads with members and hand-off destinations.
-   **Get Squad** Retrieves a squad's full member list and overrides.
-   **Update Squad** Updates a squad's name or members; the member list is replaced whole.
-   **Delete Squad** Permanently deletes a squad. Numbers routing to it must be re-pointed.

### Chats and Sessions

9

-   **Create Chat** Sends a text message to an assistant and returns its reply, the same assistant over text instead of voice.
-   **List Chats** Lists text chats with filtering by assistant, squad, or session.
-   **Get Chat** Retrieves a chat with its full message history and cost.
-   **Delete Chat** Deletes a chat and its history. Cannot be undone.
-   **Create Session** Creates a persistent conversation context shared across chats, so the assistant remembers the whole exchange.
-   **List Sessions** Lists sessions with filtering by assistant or squad.
-   **Get Session** Retrieves a session's status and accumulated messages.
-   **Update Session** Renames a session or closes it by setting status to Completed.
-   **Delete Session** Deletes a session and its stored context. Cannot be undone.

### Files

5

-   **Upload File** Uploads a document from FlowRunner file storage to Vapi for knowledge bases and Query tools; Vapi parses the text automatically.
-   **List Files** Lists uploaded files with parse status and metadata.
-   **Get File** Retrieves a file's parse status and URLs.
-   **Rename File** Renames a file without changing its content or ID.
-   **Delete File** Permanently deletes a file; knowledge bases referencing it lose it.

### Campaigns

5

-   **Create Campaign** Creates an outbound calling campaign over a customer list with a schedule window. Staged for human launch approval in FlowRunner workflows.
-   **List Campaigns** Lists campaigns with per-status call counters.
-   **Get Campaign** Retrieves a campaign's status, list, schedule, and live counters, the monitoring surface during a run.
-   **Update Campaign** Updates a campaign; setting Status to Ended stops a running campaign immediately. The brake.
-   **Delete Campaign** Permanently deletes a campaign's configuration; placed calls remain in history.

### Analytics

1

-   **Run Analytics Query** Runs aggregation queries over call data: counts, summed cost, average duration, grouped by assistant, status, or ended reason over a time range. The reporting layer for every calling program.

## Frequently Asked Questions

### What can FlowRunner do with Vapi?

FlowRunner agents can run Create Call, List Calls, and Get Call in Vapi, plus 44 more actions.

### Does connecting Vapi to FlowRunner require OAuth?

No. Vapi connects to FlowRunner with an API key, no OAuth flow required.

### Can Vapi trigger a FlowRunner workflow automatically?

Vapi doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Vapi?** This integration exposes Vapi to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/vapi. Site index: https://flowrunner.ai/llms.txt
