> ## Documentation Index
> Fetch the complete documentation index at: https://www.vobiz.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Vobiz n8n integration

> Add the verified Vobiz node to n8n to place and answer calls, start workflows on call, WhatsApp and KYC events, and pull call records and recordings - no code required.

[n8n](https://n8n.io) is a workflow automation platform. The **Vobiz** node brings Vobiz voice and WhatsApp into your n8n workflows: place calls that speak a message, answer calls on your Vobiz numbers, start a workflow the moment a call is answered or ends, send and receive WhatsApp messages, pull call records and recordings, and manage sub-accounts - without writing code or running a server of your own.

The node is a **verified community node**: n8n has reviewed and approved it, so it appears in n8n's nodes panel with a verified badge.

> [!TIP]
>
> **Package:** [`@vobiz-ai/n8n-nodes-vobiz`](https://www.npmjs.com/package/@vobiz-ai/n8n-nodes-vobiz) · **Source code:** [vobiz-ai/Vobiz-n8n-nodes](https://github.com/vobiz-ai/Vobiz-n8n-nodes)

## What you'll build

By the end of this guide, you'll have:

* the Vobiz node installed in n8n and connected to your Vobiz account;
* a workflow that **calls a phone number and speaks a message**;
* your Vobiz number **answering incoming calls** from n8n, with a message, call forwarding, a key-press menu or voicemail.

From there, you can add WhatsApp, call records, recordings and sub-accounts to any workflow.

## What's in the Vobiz node

| Node | Type | Use it to |
| - | - | - |
| **Vobiz** | Action (17 actions) | Make calls; get call records and summaries; get and download recordings; send WhatsApp messages; create and manage sub-accounts, give them numbers, and run their KYC |
| **Vobiz Trigger** | Trigger (instant) | Start a workflow from one of three **Sources**: **Calls** (a call is answered or ends, a key is pressed, a forwarded call finishes, a voicemail is recorded), **WhatsApp** (a message arrives, or a message you sent is delivered, read or fails) or **Sub-Account KYC** (a customer sub-account's KYC passes, fails or expires) |

The **Vobiz** node can also be used as a tool by n8n's **AI Agent** node. To start from a template instead of an empty workflow, see [Ready-made workflows](#ready-made-workflows).

## Prerequisites

* **Vobiz account** → sign up at [vobiz.ai](https://www.vobiz.ai), as shown in [Set up your accounts](#set-up-your-accounts)
* **Vobiz phone number** - the caller ID for your calls, and the number that answers incoming calls → [Buy a phone number](https://www.vobiz.ai/docs/buy-a-phone-number.md)
* **Your Auth ID and Auth Token** - on the Vobiz Console **Dashboard**, under **API credentials**
* **n8n account** - [n8n Cloud](https://n8n.io) or self-hosted n8n. Installing the node needs the **Owner** or **Admin** role in n8n.
* **Self-hosted n8n only:** n8n must be reachable from the internet over HTTPS, so Vobiz can send call events to it.
* **WhatsApp only:** a WhatsApp channel on your Vobiz account → [WhatsApp prerequisites](https://www.vobiz.ai/docs/whatsapp/getting-started/prerequisites.md)

## Set up your accounts

You need a Vobiz account for calls and numbers, and an n8n account to build the workflows. Skip a step if you already have that account.

Step 1: Create your Vobiz account

Go to [vobiz.ai](https://www.vobiz.ai) and click **Try for free** at the top right (or **Get started free**), then create your account.

![The vobiz.ai home page, with Try for free at the top right and Get started free next to Book a demo](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/vobiz-website.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=9bae2777444b11d489692cb2ab525427)

Step 2: Open the Vobiz Console

Once you're signed in, the [Vobiz Console](https://console.vobiz.ai) opens on the **Dashboard**. Your Auth ID and Auth Token are further down this page, under **API credentials**: you'll copy them in [Connect your Vobiz account](#connect-your-vobiz-account).

![The Vobiz Console Dashboard after signing in, with the sidebar and the Quick actions: Buy number, Create application, Create endpoint and Add funds](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/vobiz-console-dashboard.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=6ee10c6994272c552330ed38bad76d95)

> [!NOTE]
>
> If the Console shows **You're on a trial account**, click **Add funds** to unlock all features. You also need a [Vobiz phone number](https://www.vobiz.ai/docs/buy-a-phone-number.md) to call from.

Step 3: Create your n8n account

Go to [n8n.io](https://n8n.io) and click **Get started** to create an n8n Cloud account. Already running n8n yourself? Skip to [Install as a community node](#install-as-a-community-node).

![The n8n.io home page, with Sign in and Get started at the top right](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/n8n-website.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=8a5083bd7239b5a13abf457d452ee82f)

Step 4: Open your n8n instance

After you sign up, the n8n Cloud dashboard shows your instance on its **Overview** page. Click **Open instance**.

![The n8n Cloud dashboard Overview page, with the instance card and its Settings and Open instance buttons, credits, version and recent activity](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/n8n-cloud-overview.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=e40d57cbd40d1d8b5770c674e72bb1ab)

![The instance card on the n8n Cloud Overview page, with the Open instance button on the right](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/n8n-cloud-open-instance.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=b272fffee2dad5683a25708337ebc01d)

## Install the Vobiz node

These steps use n8n Cloud. On self-hosted n8n, [install it as a community node](#install-as-a-community-node).

Step 1: Create a workflow

Your instance opens on its home page. Click **+** at the top of the left sidebar, next to the n8n logo, then select **New workflow**.

![The n8n home page, with the + button at the top of the left sidebar, next to the n8n logo](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/n8n-home.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=2c5045dff4a8c220d4907f2d98b23203)

Step 2: Search for Vobiz

**1. Open the nodes panel**

The new workflow opens with the **What triggers this workflow?** panel on the right. If it's closed, click **Add first step…** on the canvas.

**2. Search for Vobiz**

Type `Vobiz` in **Search nodes…**. **Vobiz** appears with a verified badge next to its name. Select it.

![A new workflow with Add first step on the canvas and the What triggers this workflow? panel open, with an empty Search nodes box](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/trigger-panel.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=5ee57b11bc485bbc3db59bde2fd800c0)

![The nodes panel searched for Vobiz, showing the Vobiz node with its verified badge and the description: Starts the workflow when a call is answered or ends, a WhatsApp message arrives, or a sub-account's KYC changes](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/search-vobiz.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=e97c0cc0c793a78f47a97ad3677b72d2)

Step 3: Install the node

**1. Click Install node**

The **Node details** panel opens. Click **Install node**. n8n installs the Vobiz package for your whole n8n instance, and the button changes to **Installed**.

**2. See what's in it**

The panel lists the Vobiz **Triggers** (5) and **Actions** (17), grouped by resource, such as **Call actions** and **Call record actions**. Actions run after another node in the workflow, such as a trigger or n8n's **Schedule Trigger**.

![The Vobiz Node details panel showing Installed and the Verified label, the five triggers (On call answered, On call ended, On forward finished, On key pressed, On voicemail recorded), and the first actions: Make a call, Get a call record, Get many call records and Get a call summary](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/vobiz-node-details.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=eaf22e805fc620c2ab51f4b33bc64635)

> [!NOTE]
>
> **Only an Owner or Admin can install the node.** With the **Member** role, the panel shows *Please contact an administrator to install this community node*: ask your n8n owner to install it. Once it's installed, everyone in your n8n can use it.

Step 4: Add the Vobiz Trigger

Under **Triggers**, select **On call answered**. n8n adds a **Vobiz Trigger** to the canvas, with **Calls** as its source. The red warning icon means the node doesn't have a credential yet: you add one in the next section.

![The workflow canvas with a Vobiz Trigger node, subtitled Calls, showing a red warning icon](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/vobiz-trigger-on-canvas.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=6912d3ede6c0949b1fc564ebb0dd9fa2)

> [!TIP]
>
> **The Vobiz node is installed.** Next, [connect it to your Vobiz account](#connect-your-vobiz-account).

### Install as a community node

A community node is an n8n node published on npm instead of built into n8n. The Vobiz node's npm package is `@vobiz-ai/n8n-nodes-vobiz`. On self-hosted n8n, install it by that name. You need the **Owner** or **Admin** role.

Step 1: Open Community nodes

In the left sidebar, click **Settings**, then **Community nodes**. Click **Install** (**Install a community node** if none are installed yet).

Step 2: Install the package

**1. Enter the package name**

In **npm Package Name**, enter `@vobiz-ai/n8n-nodes-vobiz`.

**2. Accept the notice**

Tick **I understand the risks of installing unverified code from a public source.**

**3. Install**

Click **Install**.

![The Install community nodes window, with the npm Package Name field, the I understand the risks of installing unverified code from a public source checkbox and the Install button](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/community-node-install.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=945998816c505fa8e9330d535e72db7d)

Step 3: Check that it's installed

**Community nodes** lists `@vobiz-ai/n8n-nodes-vobiz` with its 2 nodes, **Vobiz** and **Vobiz Trigger**.

![The Community nodes page listing @vobiz-ai/n8n-nodes-vobiz, with 2 nodes: Vobiz, Vobiz Trigger](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/community-nodes-list.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=a9667f948cd7540706ccde5cce6d4499)

Step 4: Add it to a workflow

In a workflow, search for `Vobiz` in the nodes panel and select **Vobiz**. **Node details** shows **Installed** and **Via npm**. Select **On call answered**, then [connect your Vobiz account](#connect-your-vobiz-account).

![The Vobiz Node details panel showing Installed and Via npm, the five triggers, 17 actions and package version 0.3.1](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/vobiz-node-details-npm.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=f309f61d0cbfa3bea36b68612a5b2b77)

## Connect your Vobiz account

The Vobiz node signs in to Vobiz with your **Auth ID** and **Auth Token**. You save them once in n8n as a **Vobiz API** credential, and every Vobiz node can use it.

Step 1: Open the credential window

**1. Open the trigger**

Double-click the **Vobiz Trigger** on the canvas to open its settings.

**2. Click Connect to Vobiz**

Under **Credential**, click **Connect to Vobiz**. Until you do, **Answer Incoming Calls On Names or IDs** shows *Set up credential to see options*.

![The Vobiz Trigger settings: Credential with a Connect to Vobiz button, Source set to Calls, Trigger On set to Call Answered, Require Vobiz Signature on, the default Message, Voice set to Woman, Language set to English (US) and Then set to Hang Up](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/vobiz-trigger-settings.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=e36ba55023db670387daeac1307e67ba)

The **Vobiz account** window opens, with empty **Auth ID** and **Auth Token** fields:

![The Vobiz account credential window (Vobiz API), with empty Auth ID and Auth Token fields, API URL set to https://api.vobiz.ai and Allowed HTTP Request Domains set to All](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/credential-empty.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=5434c9eafde994712a09cc786c0b5839)

Step 2: Copy your Auth ID and Auth Token

**1. Open API credentials**

In the [Vobiz Console](https://console.vobiz.ai), open **Dashboard** and scroll down to **API credentials**.

**2. Copy both values**

Click the copy icon next to **Auth ID** (it starts with `MA_`), then the one next to **Auth Token**. The eye icon shows the Auth Token.

![The API credentials card on the Vobiz Console Dashboard, with the Auth ID (blurred here), the hidden Auth Token, and a copy button next to each](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/vobiz-console-api-credentials.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=fe9c26608f43f6d5a104ca1bf56a49ae)

> [!WARNING]
>
> Treat your Auth Token like a password: anyone with both values can act on your account. Paste it only into the n8n credential, never into a node's fields or a workflow you share.

Step 3: Paste them into n8n and save

**1. Paste your credentials**

Back in the **Vobiz account** window, paste your **Auth ID** and **Auth Token**. Leave **API URL** as `https://api.vobiz.ai`, and **Allowed HTTP Request Domains** as it is.

**2. Save**

Click **Save**. n8n checks the credential with Vobiz straight away and shows **Connection tested successfully**.

![The Vobiz account credential window with the Auth ID (blurred here) and the Auth Token filled in, and the Save button at the top right](https://mintcdn.com/vobizai/71-pUQ1uaZpXHMpp/images/n8n/credential-filled.png?fit=max\&auto=format\&n=71-pUQ1uaZpXHMpp\&q=85\&s=3cd7d1e73aff76abeff3841c69b59f23)

| Field | Value |
| - | - |
| Auth ID | Your account Auth ID, for example `MA_XXXXXXXX` |
| Auth Token | Your account Auth Token |
| API URL | `https://api.vobiz.ai` - leave it as it is unless Vobiz support asks you to change it |

> [!NOTE]
>
> n8n keeps the credential in its encrypted credential store and sends it only to Vobiz, as the `X-Auth-ID` and `X-Auth-Token` headers. To work as a [sub-account](https://www.vobiz.ai/docs/sub-accounts.md), create another **Vobiz API** credential with that sub-account's Auth ID (`SA_…`) and Auth Token.

> [!TIP]
>
> **Your Vobiz account is connected.** You can pick this credential on any Vobiz node.

## Ready-made workflows

Import one of these 20 workflows instead of building it node by node. Each file uses placeholders only, such as `+91XXXXXXXXXX` for phone numbers, and carries no credentials. A **Setup** note inside each workflow says what to fill in.

Step 1: Import the workflow

**1. Copy the link**

In the tables below, right-click **JSON** in the **Download** column and copy the link address.

**2. Import it into n8n**

In n8n, create a new workflow, click the **⋯** menu at the top right, then **Import** → **From URL**, and paste the link. To use a downloaded file instead, choose **Import** → **From file**.

> [!TIP]
>
> You can also open the file in your browser, copy all of it, and paste it onto the n8n canvas with **Ctrl+V** (**Cmd+V** on a Mac).

Step 2: Fill in the placeholders and publish

**1. Follow the Setup note**

Pick your **Vobiz** credential on each Vobiz node, connect any other app the workflow uses, choose your numbers, and replace the placeholders.

**2. Publish**

Click **Publish**.

> [!NOTE]
>
> **Workflows that make calls include their own Vobiz Trigger, named Answer the call.** Open it, copy its **Production URL** from **Webhook URLs**, and paste it into **Answer URL** on the node that makes the call.

> [!WARNING]
>
> Workflows that make calls place real calls, billed to your Vobiz account. Test with your own number first.

### Simple and medium

| Workflow | What it does | Also needs | Download |
| - | - | - | - |
| **Answer calls with a greeting** | Answers calls to your number with a message, then hangs up. | - | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/01-answer-calls-with-a-greeting.json) |
| **Forward calls to your team** | Greets the caller and rings your team together; the caller can leave a voicemail if nobody answers. | - | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/02-forward-calls-to-your-team.json) |
| **Phone menu (IVR)** | Press 1 for sales, 2 for support, 3 for opening hours, 4 to leave a message. | - | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/03-phone-menu.json) |
| **Make a call that speaks a message** | Calls a number and reads out your message when they answer. | - | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/04-make-a-call-that-speaks-a-message.json) |
| **Voice OTP call** | Your app sends a phone number and a code; Vobiz calls and reads the code out twice. | - | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/05-voice-otp-call.json) |
| **Appointment reminder calls** | Every morning, calls everyone in a Google Sheet whose appointment is tomorrow. | Google Sheets | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/06-appointment-reminder-calls.json) |
| **Call back website leads** | A lead fills in a form; Vobiz calls your agent, then connects them to the lead. | - | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/07-call-back-website-leads.json) |
| **WhatsApp when a call is not answered** | When someone doesn't pick up your call, sends them a WhatsApp template. | A WhatsApp channel | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/08-whatsapp-when-a-call-is-not-answered.json) |
| **Voicemail to email** | Callers leave a voicemail; you get it by email with the recording attached. | Gmail | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/09-voicemail-to-email.json) |
| **Slack alert for missed forwarded calls** | Forwards calls to an agent and posts in Slack when nobody answers. | Slack | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/10-slack-alert-for-missed-forwarded-calls.json) |
| **Log every call to Google Sheets** | Every 15 minutes, adds new calls on your account to a Google Sheet. | Google Sheets | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/11-log-every-call-to-google-sheets.json) |
| **Daily call report to Slack** | Every evening, posts the day's calls, answer rate, talk time and cost in Slack. | Slack | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/12-daily-call-report-to-slack.json) |
| **Back up call recordings to Google Drive** | Every hour, saves new call recordings to Google Drive. | Google Drive | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/13-back-up-call-recordings-to-google-drive.json) |
| **WhatsApp auto-reply** | Replies to every WhatsApp message you receive. | A WhatsApp channel | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/14-whatsapp-auto-reply.json) |

### Advanced

| Workflow | What it does | Also needs | Download |
| - | - | - | - |
| **Order confirmation call (press 1 or 2)** | Calls each new order's customer: press 1 to confirm, 2 to cancel; your store gets the answer. | Your store's API | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/15-order-confirmation-call.json) |
| **Calling campaign with results in Google Sheets** | Calls a list from Google Sheets one by one, then logs each call's result to another sheet. | Google Sheets | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/16-calling-campaign-with-results-in-google-sheets.json) |
| **Alert escalation calls** | Calls your on-call engineer when an alert fires, and calls a backup if they don't answer. | A monitoring tool that can send webhooks | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/17-alert-escalation-calls.json) |
| **AI voicemail summary in Slack** | Transcribes each voicemail with OpenAI and posts a short summary in Slack. | OpenAI, Slack | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/18-ai-voicemail-summary.json) |
| **AI chat with your call data** | Ask questions like "how many calls did we miss yesterday?"; an AI agent answers using Vobiz as a tool. | OpenAI | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/19-ai-chat-with-your-call-data.json) |
| **Customer onboarding with sub-account and KYC** | A sign-up form creates a customer sub-account and emails the KYC link; when KYC passes, it gives them a number. | Gmail | [JSON](https://vobiz.ai/docs/assets/n8n-workflows/20-customer-onboarding-with-kyc.json) |

## Make your first call

When a call is answered, Vobiz asks a web address - the **Answer URL** - what to do next. The **Vobiz Trigger** with **Source: Calls** is that address: it replies with your message in VobizXML, so you don't write XML or run a server.

```text theme={null}
Make a call (Vobiz node) → Vobiz calls the number
→ the person answers
→ Vobiz asks the Answer URL (your Vobiz Trigger) what to do
→ Vobiz speaks your message
```

You set up the trigger once, then use its address on every call.

Step 1: Set up the Vobiz Trigger

**1. Open the trigger**

Open the **Vobiz Trigger** you added in [Install the Vobiz node](#install-the-vobiz-node). Its **Source** is **Calls**, and **Trigger On** is **Call Answered**. In another workflow, add one the same way: search for `Vobiz`, select **Vobiz**, and under **Triggers** select **On call answered**.

**2. Write the message**

In **Message**, enter what the person hears when they answer, for example `This is a reminder that your appointment is tomorrow at 10 am.` Choose a **Voice** and a **Language**.

**3. Choose what happens next**

Leave **Then** on **Hang Up**: the call ends after the message.

**4. Publish the workflow**

Click **Publish** at the top right. Vobiz can reach the trigger only while its workflow is published.

The trigger's main settings:

| Setting | What it does |
| - | - |
| **Trigger On** | The call events that start this workflow: **Call Answered** (default), **Call Ended**, **Forward Finished**, **Key Pressed** and **Voicemail Recorded**. See [Start workflows from call events](#start-workflows-from-call-events). |
| **Require Vobiz Signature** | On by default. Refuses requests that Vobiz didn't sign, so nobody who learns the trigger's address can start your workflow with made-up calls. |
| **Answer Incoming Calls On Names or IDs** | The Vobiz numbers whose incoming calls this trigger answers. See [Answer incoming calls](#answer-incoming-calls). |
| **Message** | What to say when the call is answered. Default: *Hello! This is a call from Vobiz. Thank you, goodbye.* Leave it empty to say nothing. |
| **Voice** | **Woman** (default) or **Man**. Not every language has both voices; Vobiz uses the one it has. |
| **Language** | The language and accent the message is read in: 16 options, such as English (US) (default), English (UK), French, German and Spanish. |
| **Then** | What happens after the message: **Hang Up** (default), **Forward to a Number**, **Ask to Press a Key (Menu)** or **Record a Voicemail**. |
| **Options** | **Custom XML** (replace the message with your own [VobizXML](https://www.vobiz.ai/docs/xml/overview/how-it-works.md)), **Pause Before Speaking (Seconds)**, **Play Audio After Message** and **Repeat Message**. |

Step 2: Copy the Production URL

Open the trigger, expand **Webhook URLs**, select **Production URL** and copy the address. It contains `/webhook/`, not `/webhook-test/`.

> [!WARNING]
>
> Use the **Production URL**, not the **Test URL**. The Test URL answers only while n8n is listening for a test event, so a call pointed at it rings and then goes silent.

Step 3: Add Make a call

**1. Start a second workflow**

Create another workflow and start it with any trigger: **Trigger manually** to test, or a schedule, a form or a new Google Sheets row.

**2. Add Make a call**

Click **+**, search for `vobiz`, select **Vobiz**, and under **Actions** select **Make a call**.

**3. Fill in the call**

Select your credential, fill in the fields below, and paste the Production URL into **Answer URL**.

| Field | What to enter |
| - | - |
| **Resource** / **Operation** | **Call** / **Make** - set for you when you pick **Make a call** |
| **From Number** | One of your Vobiz numbers, from the list. The person you call sees it as the caller ID. |
| **To** | The number to call, with its country code, for example `+919876543210` |
| **Answer URL** | The trigger's **Production URL** from Step 2 |
| **Message** | Optional. Replaces the trigger's message for this call. Use an expression to personalise it, for example `Hi {{ $json.name }}, your appointment is tomorrow at 10.` |
| **Connect To** | Optional. Connects the person who answers to another number. See [A call between two people](#a-call-between-two-people). |

Under **Options**, you can also set:

| Option | Default | What it does |
| - | - | - |
| **Ring Timeout (Seconds)** | `45` | How long the phone rings before Vobiz gives up (5–120) |
| **Time Limit (Seconds)** | `3600` | The longest the call can last once it's answered |
| **Hang Up on Voicemail** | Off | Hangs up when an answering machine or voicemail picks up. Vobiz listens for up to 5 seconds and can mistake a person who stays silent for a machine. |
| **Caller Name** | - | The name shown to the person you call, where their phone supports it (up to 50 characters) |
| **Send Digits** | - | Keypad presses to send once the call connects, for example `1w2` to reach an extension. `w` is a half-second pause and `W` a one-second pause. |
| **Hangup URL** | - | An address Vobiz notifies when the call ends. Leave it empty when the Answer URL is a Vobiz Trigger: the trigger is told automatically. |
| **Answer Method** | `POST` | How Vobiz calls the Answer URL. Keep `POST` for a Vobiz Trigger. |

Step 4: Place the call

Click **Execute step**. The phone in **To** rings, and when it's answered, Vobiz speaks your message. The node's output has Vobiz's reply, with the call's `call_uuid`.

> [!WARNING]
>
> **Make a call places a real call, billed to your Vobiz account.** Test with your own phone number first. Don't turn on **Retry On Fail** for this node: if a request is retried, the same call can be placed twice.

> [!TIP]
>
> **Outbound calling works!** Your n8n workflows can now call any number from your Vobiz number and speak a message.

### A call between two people

n8n can't talk on a call itself, so Vobiz rings two phones and connects them: first the one in **To**, then the one in **Connect To**.

1. Point **Answer URL** at your Vobiz Trigger's **Production URL**, as above.
2. Put your own phone (or your agent's) in **To**, and the person to talk to in **Connect To**. Both can come from your data, such as `{{ $json.phone }}` from a sheet or CRM row. To ring several numbers, separate them with commas: they all ring, and the first to answer is connected.
3. Leave **Message** empty to connect straight away, or set one, such as *Connecting you to Asha*, to hear it first.

When the first phone answers, Vobiz rings the second, showing your Vobiz number, and connects them. If the second phone doesn't answer, the first hears the trigger's **No Answer Message**, or can leave a voicemail if **If Nobody Answers the Forwarded Call** is **Record a Voicemail**. Each connected phone is billed as its own call.

## Answer incoming calls

The same Vobiz Trigger can answer calls to your Vobiz numbers.

```text theme={null}
Caller dials your Vobiz number
→ Vobiz asks the Vobiz Trigger what to do
→ the caller hears your message
→ Then: hang up, forward, menu or voicemail
```

Step 1: Choose your numbers

In the Vobiz Trigger (**Source: Calls**), open **Answer Incoming Calls On Names or IDs** and select one or more numbers. Each number in the list shows its state:

| Label | Meaning |
| - | - |
| **not linked** | Free. The trigger can answer its calls. |
| **on a SIP trunk** | Its calls go to a [SIP trunk](https://www.vobiz.ai/docs/trunks.md). The trigger won't take it. |
| **used by …** | Linked to another Vobiz application, such as a CRM integration. The trigger won't take it. |

> [!NOTE]
>
> **Your existing setups are safe.** The trigger only takes numbers that aren't linked to anything else, and changes nothing in your account when it refuses one. To use a linked number here, detach it in the [Vobiz Console](https://console.vobiz.ai) first.

Step 2: Choose what callers get

Set the **Message**, then choose **Then**:

| Then | What the caller gets | Settings it adds |
| - | - | - |
| **Hang Up** | The message, then the call ends. | - |
| **Forward to a Number** | Connected to a number, such as an agent's phone. Separate several numbers with commas: they ring together, and the first to answer gets the call. | **Forward To**; **If Nobody Answers the Forwarded Call** (**Say a Message and Hang Up** or **Record a Voicemail**); **Forward Options**: **Caller ID**, **Ring For (Seconds)** |
| **Ask to Press a Key (Menu)** | The message as a menu, such as *Press 1 for sales, 2 for our opening hours*. Each key can forward the call, say a message or take a voicemail. A wrong key plays the menu once more. | **Menu Choices** (keys 0–9 and **Star**, each with an **Action**); **Menu Options**: **No Key Message**, **Wait for a Key (Seconds)**, **Wrong Key Message** |
| **Record a Voicemail** | A beep, then a recording (up to 2 minutes by default; the caller can press # to finish), then a thank-you. | **Voicemail Options**: **Maximum Length (Seconds)**, **Stop After Silence (Seconds)**, **Thank You Message** |

Step 3: Publish the workflow

Click **Publish**. The trigger creates a Vobiz application for its address, named `n8n-call-answered-…`, and links your numbers to it. When you unpublish the workflow, it removes the application and releases the numbers.

> [!NOTE]
>
> Menus, forwarding and voicemail need the workflow to be **published**: Vobiz sends the key pressed, the forwarding result and the recording to the trigger's Production URL.

Step 4: Test it

Call your Vobiz number from any phone. You hear the message, then whatever you chose in **Then**.

> [!TIP]
>
> **Inbound calling works!** Calls to your Vobiz number are now answered by your n8n workflow.

## Start workflows from call events

Choose the events in the trigger's **Trigger On**. Tick several to handle them in one workflow, and use an **If** or **Switch** node on `event` to branch.

| Trigger On | When it fires | Main fields in the output |
| - | - | - |
| **Call Answered** | Someone picks up | `event` (`call.answered`), `call_uuid`, `from`, `to`, `direction`, `message`, `then` |
| **Call Ended** | The call finishes, answered or not. It fires the moment the call ends. | `event` (`call.ended`), `call_uuid`, `from`, `to`, `answered`, `hangup_cause`, `duration`, `bill_duration`, `start_time`, `answer_time`, `end_time` |
| **Key Pressed** | The caller presses a key in the menu | `event` (`call.key_pressed`), `key`, `valid`, `action` |
| **Forward Finished** | A forwarded call ends: answered by the number, or not (busy, no answer) | `event` (`call.forward_finished`), `answered`, `dial_status`, `hangup_cause` |
| **Voicemail Recorded** | The caller leaves a voicemail | `event` (`call.voicemail_recorded`), `recording_id`, `duration` |

Every output also has a `vobiz` field with the full request Vobiz sent. To get a voicemail's audio, pass its `recording_id` to **Vobiz → Download a recording**.

> [!TIP]
>
> **Outgoing calls report their end too.** When **Make a call** uses a Vobiz Trigger as its Answer URL, it tells Vobiz to report the call's end to that trigger. Tick **Call Ended** in the trigger to log every call or follow up on missed ones.

## Act on every call on your account

The Vobiz Trigger fires for calls that go through it. To act on **every** call on your account - including calls on numbers used by other setups, such as a CRM integration - check Vobiz on a schedule:

**1. Schedule Trigger**

Add n8n's **Schedule Trigger**, for example every 5 minutes.

**2. Get many call records**

Add **Vobiz → Get many call records**. Set **Limit** above the number of calls you expect between checks.

**3. Remove Duplicates**

Add n8n's **Remove Duplicates** node with **Operation** *Remove Items Processed in Previous Executions* and **Value to Dedupe On** `{{ $json.uuid }}`, so each call is passed on only once. The first run passes on every call it finds.

For new recordings, use **Vobiz → Get many recordings** instead, dedupe on `{{ $json.recording_id }}`, then **Vobiz → Download a recording** to get the audio.

| | Schedule → Get many call records | Vobiz Trigger (Calls) |
| - | - | - |
| Which calls | Every call on the account | Calls it answers: on its numbers, or placed with it as the Answer URL |
| When it fires | At the next scheduled check | The moment the call is answered or ends |
| Changes in Vobiz | None | Its own application, and the numbers you choose |

Call records appear a few seconds after a call ends. See [Call detail records](https://www.vobiz.ai/docs/cdr.md) for the fields Vobiz returns.

## WhatsApp

Send a WhatsApp message

Add **Vobiz → Send a message** (**Resource** **WhatsApp Message**, **Operation** **Send**):

* **Channel** - your WhatsApp number on Vobiz, from the list.
* **To** - the customer's number, with its country code.
* **Message Type** - **Text** (default), **Image**, **Audio**, **Video**, **Document**, **Sticker** or **Template**. Media types take a **Media URL**; a **Template** takes the approved template and its **Body Variables**.

> [!WARNING]
>
> **WhatsApp's 24-hour rule:** you can send free-form messages only within 24 hours of the customer's last message. For a first message, or outside that window, send an approved **Template**. A free-form message sent outside the window is reported as `failed`.

Receive WhatsApp messages

Add a **Vobiz Trigger** and set **Source** to **WhatsApp**:

* **Trigger On** - **Message Received** (a customer messages you; the default) and/or **Message Status Changed** (a message you sent was sent, delivered, read or failed).
* **Channel** - optional. Limits the trigger to one WhatsApp number; leave it empty for every channel on the account.

The trigger registers itself with Vobiz when you publish the workflow and removes itself when you unpublish it. It checks every event against a signature made with a secret only this trigger knows, and refuses forged events. See [WhatsApp webhooks](https://www.vobiz.ai/docs/whatsapp/webhooks.md) for the events Vobiz sends.

## Sub-accounts and KYC

A [sub-account](https://www.vobiz.ai/docs/sub-accounts.md) is a separate account under yours, with its own Auth ID (`SA_…`), Auth Token, numbers and call records. Its usage is billed to your main account. Manage sub-accounts with your **main account's** credential (`MA_…`).

| Action | What it does |
| - | - |
| **Create a sub account** | Creates a sub-account for a customer, a team or a test environment. Its Auth Token is in this node's output only - Vobiz never shows it again. |
| **Get a sub account** / **Get many sub accounts** | Reads one or all sub-accounts |
| **Update a sub account** | Renames it, changes its permissions or rate limit, or switches it off. A switched-off sub-account keeps its numbers. |
| **Delete a sub account** | Deletes it permanently. Vobiz revokes its Auth ID and Auth Token at once. |
| **Assign a number to a sub account** / **Unassign a number from a sub account** | Gives one of your numbers to a sub-account, or takes it back. A number that had calls in the last 15 days stays with the sub-account until then. |
| **Start verification for a sub account** | Sends the customer the Vobiz KYC page, by email or as a link |
| **Get the verification status of a sub account** | Checks whether the customer has passed KYC and can make calls |

**KYC:** a **personal use** sub-account shares your KYC and can make calls at once. A **customer use** sub-account is for a customer who must be verified in their own name: it needs an email address, and it can't make calls until their KYC passes.

To hear about KYC results, add a **Vobiz Trigger** with **Source** set to **Sub-Account KYC**:

1. Choose the events in **Trigger On**: **KYC Started**, **Documents Submitted**, **KYC Completed**, **KYC Failed**, **Link Expired** or **Link Revoked**. **KYC Completed** and **KYC Failed** are selected by default.
2. Publish the workflow, open the trigger and copy its **Production URL**.
3. On **Start verification for a sub account**, paste it into **Options → Webhook URL**. Vobiz then reports that customer's KYC to the trigger.

Use your main account's credential in the trigger: Vobiz signs each KYC event with that account's Auth Token, and the trigger refuses events whose signature doesn't match. See [Sub-account KYC](https://www.vobiz.ai/docs/sub-accounts/onboarding-flow.md) for the full onboarding flow.

## All Vobiz actions

| Resource | Operation | In the nodes panel | What it does |
| - | - | - | - |
| Call | Make | Make a call | Calls a number from one of your Vobiz numbers and speaks a message, or connects two people |
| Call Record | Get | Get a call record | One finished call: numbers, times, duration, cost and how it ended |
| Call Record | Get Many | Get many call records | Call records, newest first, filtered by date, direction, number, minimum duration, hangup cause or campaign |
| Call Record | Get Summary | Get a call summary | Totals for a period: calls, answered calls, answer rate, minutes and cost |
| Recording | Get | Get a recording | One recording's details |
| Recording | Get Many | Get many recordings | Recordings for one call or all calls, optionally filtered by recording type |
| Recording | Download | Download a recording | The audio file as binary data, ready for Google Drive, Slack or email |
| WhatsApp Message | Send | Send a message | A text, image, audio, video, document or sticker, or an approved template with its variables |
| Sub-Account | Create | Create a sub account | A sub-account with its own Auth ID and Auth Token, shown once. See [Sub-accounts and KYC](#sub-accounts-and-kyc). |
| Sub-Account | Get | Get a sub account | One sub-account's details, without its Auth Token |
| Sub-Account | Get Many | Get many sub accounts | Your sub-accounts, optionally only the active ones |
| Sub-Account | Update | Update a sub account | Renames it, changes its permissions or rate limit, or switches it off |
| Sub-Account | Delete | Delete a sub account | Deletes it permanently and revokes its credentials |
| Sub-Account | Assign Number | Assign a number to a sub account | Gives one of your numbers to the sub-account |
| Sub-Account | Unassign Number | Unassign a number from a sub account | Takes a number back, once it has had no calls for 15 days |
| Sub-Account | Start KYC | Start verification for a sub account | Sends the customer the Vobiz KYC page, by email or as a link |
| Sub-Account | Get KYC Status | Get the verification status of a sub account | Whether the customer has passed KYC and can make calls |

> [!NOTE]
>
> Recordings are private: their links need your Vobiz credential. Use **Download a recording** to get the file rather than opening the link.

## Manage, update or remove the node

Installed packages are listed under **Settings → Community nodes**. You need the Owner or Admin role.

**1. Open Settings**

Click **Settings** at the bottom of the left sidebar.

**2. Open Community nodes**

Select **Community nodes**. The page lists `@vobiz-ai/n8n-nodes-vobiz` and its version.

* **Update:** when a new version is available, an **Update** button appears on the package. On n8n Cloud, n8n reviews each new version before it's offered.
* **Uninstall:** open the package's **Options** menu (three dots), select **Uninstall package** and confirm. Unpublish the workflows that use the Vobiz Trigger first, so it releases its numbers, its Vobiz application and its WhatsApp subscriptions.

## Security

* Your Auth ID and Auth Token stay in n8n's encrypted credential store and are sent only to Vobiz. **Download a recording** sends your credential only to Vobiz hosts.
* Call events to the Vobiz Trigger (**Calls**) are checked against Vobiz's `X-Vobiz-Signature-V3` (or V2) header, signed with your Auth Token. Forged events are refused, and so are unsigned ones while **Require Vobiz Signature** is on. See [Validating webhooks (callbacks)](https://www.vobiz.ai/docs/concepts/validating-callbacks.md).
* WhatsApp events are checked with a secret created for each subscription. Unsigned or forged events are refused.
* KYC events (**Sub-Account KYC**) are checked against Vobiz's `X-Vobiz-Signature` header, signed with your main account's Auth Token.
* A new sub-account's Auth Token appears only in the output of **Create a sub account**. n8n keeps it in that run's execution data, so save it to a credential and limit who can see executions.

## Troubleshooting

Vobiz doesn't appear in the nodes panel

* **You have the Member role:** only an Owner or Admin can install the node. Ask them to follow [Install the Vobiz node](#install-the-vobiz-node).
* **n8n Cloud:** check that **Verified community nodes** is on under **Instance settings** in the **Cloud console**.
* **Self-hosted n8n:** [install it as a community node](#install-as-a-community-node).

The call rings, then there's silence

* The **Answer URL** is the trigger's **Test URL**, or the trigger's workflow isn't published. Publish it and use the **Production URL**.
* For a menu or voicemail that goes silent after the message: the workflow isn't published, so Vobiz's follow-up gets no answer.
* If n8n's log says *a request was refused: it had no Vobiz signature*, your Vobiz account sends call events without a signature. Turn off **Require Vobiz Signature** on the trigger.

Triggers don't receive events

* **Self-hosted n8n needs a public address.** Vobiz sends events over the internet, so set `WEBHOOK_URL` to n8n's public HTTPS address ([n8n guide](https://docs.n8n.io/hosting/configuration/configuration-examples/webhook-url/)), then use the trigger's **Production URL**. This works automatically on n8n Cloud.
* **The public address changed** (for example, a tunnel that gets a new address on every restart): unpublish and publish your trigger workflows again, so Vobiz uses the new address.

Error messages

| You see | Why | Fix |
| - | - | - |
| `Vobiz did not accept the Auth ID or Auth Token` | The credential is wrong | Copy both again from **API credentials** on the [Vobiz Console](https://console.vobiz.ai) **Dashboard** |
| `Vobiz cannot reach an Answer URL on localhost` or `Vobiz cannot reach n8n on localhost` | n8n has no public address | Set `WEBHOOK_URL` to a public HTTPS address, then use the trigger's **Production URL** |
| `… already answers calls for the Vobiz application …` | That number is used by another setup | Choose a number marked **not linked** |
| `Your Vobiz balance is too low for this` | Your account balance | Top up in the [Vobiz Console](https://console.vobiz.ai) |
| `The template "…" is PENDING_REVIEW, not approved` | Meta hasn't approved the WhatsApp template yet | Wait for approval, or choose another template |
| `a request was refused: its Vobiz signature did not match` (in n8n's log) | The trigger's credential is for a different Vobiz account than the call, or `WEBHOOK_URL` isn't the address Vobiz calls | Use the credential of the account that owns the number, and set `WEBHOOK_URL` to n8n's public address |
| `"…" in Forward To is not a phone number with its country code` | A number in **Forward To** has no country code | Write it like `+919876543210` |
| `Sub-accounts are managed with the main account's credential` | The node uses a sub-account credential (`SA_…`) | Pick the main account's credential (`MA_…`) |
| `This sub-account does not belong to the account in this credential` | Another main account created the sub-account | Use the credential of the main account that created it |
| `Vobiz keeps +91… with the sub-account until …` | The number had a call in the last 15 days | Try again after that date |
| `This Vobiz Trigger is from version 0.2 or earlier, when it checked Vobiz on a schedule` | A workflow still has the old polling trigger | Replace it with **Schedule Trigger → Get many call records → Remove Duplicates**. See [Act on every call on your account](#act-on-every-call-on-your-account). |

> [!TIP]
>
> Still stuck? Open an issue on [GitHub](https://github.com/vobiz-ai/Vobiz-n8n-nodes/issues), or email [support@vobiz.ai](mailto:support@vobiz.ai) for account and billing questions.

## Next steps

* **Learn what Vobiz can say and do on a call:** [VobizXML](https://www.vobiz.ai/docs/xml/overview/how-it-works.md), for the trigger's **Custom XML** option.
* **Understand calls:** [Make a call](https://www.vobiz.ai/docs/call/make-call.md) in the Vobiz API reference describes the request **Make a call** sends.
* **Work with call data:** [Call detail records](https://www.vobiz.ai/docs/cdr.md) and [Recordings](https://www.vobiz.ai/docs/recording.md).
* **Set up WhatsApp:** [WhatsApp getting started](https://www.vobiz.ai/docs/whatsapp/getting-started/introduction.md).
* **Explore n8n:** [n8n's community node docs](https://docs.n8n.io/integrations/community-nodes/installation/).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.