Inbound customer support

Build a banking customer support agent that can process inbound phone calls and assist with common banking issues.

Overview

Build a banking support agent with function tools, CSV knowledge bases, and voice test suites. The agent handles account verification, balance inquiries, and transaction history via phone calls.

Agent Capabilities:

  • Account lookup and verification via phone number
  • Balance and transaction history retrieval

What You’ll Build:

  • Retrieval tools and CSV knowledge bases for account/transaction data
  • Voice test suites for automated quality assurance
  • Inbound phone number configuration for 24/7 availability

Prerequisites

Scenario

We will be creating a customer support agent for VapiBank, a bank that wants to provide 24/7 support to consumers.


1. Create a Knowledge Base

3

Upload the spreadsheets

  • Click Choose file. Upload both accounts.csv and transactions.csv files.
  • Note the file IDs. We’ll need them later to create tools.

2. Create an Assistant

1

Open the Vapi Dashboard

Go to dashboard.vapi.ai and log in to your account.

3

Create a new assistant

  • Click Create Assistant.
  • Select Blank Template as your starting point.
  • Change assistant name to Tom.

3. Configure an Assistant

1

Update the introduction message

Update First Message to:

First Message
Hello, you've reached VapiBank customer support! My name is Tom, how may I assist you today?
2

Update the system prompt

Update System Prompt to:

System Prompt
# VapiBank - Phone Support Agent Prompt
## Identity & Purpose
You are **Tom**, VapiBank's friendly, 24x7 phone-support voice assistant. Do not introduce yourself after the first message.
You help customers with account inquiries:
1. **Check balance**
2. **View recent transactions**
## Data Sources
You have access to CSV files with account and transaction data:
- **accounts.csv**: `account_id, name, phone_last4, balance, card_status, email`
- **transactions.csv**: transaction history for all accounts
## Available Tools
1. **lookup_account** → verify customer identity using phone number
2. **get_balance** → returns current balance for verified account
3. **get_recent_transactions** → returns recent transaction history
## Conversation Flow
1. **Greeting**
> "Hello, you've reached VapiBank customer support! My name is Tom, how may I assist you today?"
2. **Account Verification**
* After caller provides phone digits → call **lookup_account**
* Read back the returned `name` for confirmation
* If no match after 2 tries → apologize and offer to transfer
3. **Handle Request**
Ask: "How can I help you today—check your balance or review recent transactions?"
**Balance** → call **get_balance** → read current balance
**Transactions** → call **get_recent_transactions** → summarize recent activity
4. **Close**
> "Is there anything else I can help you with today?"
If no → thank the caller and end the call
## Style & Tone
* Warm, concise, ≤ 30 words per reply
* One question at a time
* Repeat important numbers slowly and clearly
* Professional but friendly tone
## Edge Cases
* **No account match** → offer to transfer to human agent
* **Multiple requests** → handle each request, then ask if anything else needed
* **Technical issues** → apologize and offer callback or transfer
(Remember: only share account information with verified account holders.)
3

Configure LLM settings (optional)

Configure the LLM settings to your liking.

  • Select any provider and model you like (you will see cost and latency estimates).
  • You can configure the files available to the LLM as knowledge base.
  • You can specify the temperature and max tokens of the LLM.
4

Publish your assistant

Click Publish to save your changes.

5

Test your assistant

Click Talk to Assistant to test it out.


4. Add Tools to an Assistant

2

Create a tool for retrieving account balance

  • Click Create Tool.

  • Select Function as your tool type.

  • Change tool name to get_balance.

  • Add the following function description:

    Function Description
    Retrieve the balance for an account based on provided account holder name and last 4 digits of the phone number.
  • Scroll down to the Knowledge Bases section and add the following knowledge base:

    • Name: accounts
      Description: Use this to retrieve account information
      File IDs: <File ID of your accounts.csv file>
3

Create a tool for retrieving account transactions

  • Click Create Tool.

  • Select Function as your tool type.

  • Change tool name to get_recent_transactions.

  • Add the following function description:

    Function Description
    Return the three most recent transactions for a specific account.
  • Scroll down to the Knowledge Bases section and add the following knowledge bases:

    • Name: accounts
      Description: Use this to retrieve account information
      File IDs: <File ID of your accounts.csv file>

    • Name: transactions
      Description: Use this to retrieve transactions
      File IDs: <File ID of your transactions.csv file>

4

Create a tool for looking up account

  • Click Create Tool.

  • Select Function as your tool type.

  • Change tool name to lookup_account.

  • Add the following function description:

    Function Description
    Look up account based on provided name and last 4 digits of the phone number.
  • Scroll down to the Knowledge Bases section and add the following knowledge bases:

    • Name: accounts
      Description: Use this to retrieve account information
      File IDs: <File ID of your accounts.csv file>
5

Add tools to assistant

  • Click Assistants in the left sidebar.
  • Make sure Tom is selected in the list of assistants.
  • Scroll down until you see Tools accordion. Expand it.
  • In the expanded accordion, add get_balance and get_recent_transactions tools.
  • Click Publish to save your changes.
6

Add predefined functions to assistant

  • While we’re here, let’s give our assistant ability to hang up.
  • Expand the Predefined Functions accordion.
  • Toggle Enable End Call Function to On.
  • Here you can add a forwarding phone number to transfer the call to (in case assistant is unable to resolve the issue).
  • Click Publish to save your changes.

5. Assign a Phone Number to an Assistant

2

Create a new phone number

  • Click Create Phone Number.
  • Stick with Free Vapi Number.
  • Enter your preferred area code (e.g. 530).
3

Configure the phone number

  • Set the Phone Number Name to Vapi Support Hotline.
  • Under Inbound Settings find Assistant dropdown and select Tom from the list.
  • Changes are saved automatically.

6. Create a Test Suite for an Assistant

2

Create a new test suite

  • On the Test Suites page, click Create Test Suite.
  • Click on New Test Suite and change the name to Support Hotline Test Suite.
  • Set the Assistant to Bobby.
  • Set the Phone Number to Vapi Support Hotline.
  • Under Test Cases, click Generate Tests.
  • Use the following prompt to generate the test case:
Test Case Prompt
Test that the assistant can verify a customer account using phone number, retrieve their current balance, and provide recent transaction history.
  • Accept the generated test case.

7. Run the Test Suite on an Assistant

2

Run the test suite

  • Click on Support Hotline Test Suite in the list of test suites.
  • Click on Run Test Suite button.
  • Wait for the test suite to finish running.
  • You will see the results of the test suite in the Test Results section.

Next Steps

Just like that, you’ve built a 24/7 customer support hotline that can handle inbound calls, create support tickets, and run automated tests to ensure it’s working as expected.

Consider the reading the following guides to further enhance your assistant:

Need help? Chat with the team on our Discord or mention us on X/Twitter.