Creating Zoom Virtual Agent tools

Tools in Zoom Virtual Agent (ZVA) extend the capabilities of voice agents or chat agents by allowing them to interact with external systems such as CRMs or third-party platforms. They bridge the gap between natural language understanding and real-world functionality. Acting as “API connectors,” these tools allow your bot to pull or send data, for example, to look up a case or update a ticket. Through the Tool Library, you create new tools using either a no-code interface or JavaScript, define input and output parameters, map values to global or session variables, and reuse these tools across different skills and conversations within Zoom Virtual Agent.

A tool represents an API integration that allows your virtual agent to interact with external systems. It is reusable and can be attached to any Zoom Virtual Agent skill. Tools can perform data lookups (such as fetching customer cases from Zendesk), update information (like posting a new record to Salesforce), or execute custom logic using JavaScript. Each tool includes parameters, which are inputs required by the external API, and responses, which are outputs that can be used in your virtual agent’s dialogue.

Requirements for creating Zoom Virtual Agent tools

Table of Contents

How to create Zoom Virtual Agent tools

  1. Sign in to the Zoom web portal.
  2. In the navigation menu, click AI Studio then Tool Templates.
    You will see the following tabs:
  3. In the All tool types or Custom tab, click Add Tool.
  4. Select a tool type: API Call or Custom Script.
  5. Configure the setting for the selected tool type.
  6. Click Create.

API Call settings

The API Call tool enables Zoom Virtual Agent (ZVA) to interact with external systems by calling APIs to retrieve or update data in response to user queries. Admins can define the API call structure, configure input/output parameters, and instruct the LLM when and how to use it.

 

Example of CRM Lookup Tool (No-Code)

To create a CRM lookup tool:
  1. Enter the CRM API URL.
  2. Define input parameters. For example, query for phone number.
  3. Under Value Source, select how to populate each parameter:
Tip: When using Zoom Virtual Agent Voice with Zoom Contact Center (ZCC), mapping from global.system.engagement.ani automatically passes the caller’s phone number to the tool.

Custom script settings

The Custom Script tool allows admins to write and execute custom JavaScript logic to process user inputs, transform data, or integrate with systems where APIs may not be available or suitable. This gives agents flexible, tailored behavior beyond standard API calls.

 

Example of CRM Lookup Tool (JavaScript)

If you need more flexibility, choose the JavaScript option.

This allows you to:
async function main() {
  // API endpoint and token
  var baseUrl = "https://api.example.com/v1/";
  var token = var_get()["apiKey"];

  var http_request_config = {
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer " + token
    }
  };

  // Get parameters from ZVA
  var phoneNumber = var_get()["phoneNumber"];

  // Step 1: GET case by number
  var getUrl = baseUrl + "/case?phone=" + phoneNumber;
  
  try {
    var getResponse = await req.get(getUrl, http_request_config);
  } catch(error) {
    log.debug(`${error}`);
    return { "result": "lookup failed" }; //agentic return to agent
  }

  if (getResponse.status != 200) {
    log.debug(`Request ${getUrl} failed with status code ${getResponse.status}`)
    return { "result": "unable to find any cases for " +  phoneNumber}; //agentic return to agent
  } else {
    return getResponse.data;
  }
}

Example Response
[
    {
        "id": 5343,
        "status": "Open",
        "subject": "Refund request for order 3434",
        "priority": "High",
        "date_opened": "2025-11-04",
        "assigned_agent": "ally.agent@example.com"
    },
    {
        "id": 7423,
        "status": "Open",
        "subject": "Upgrade to premium plan",
        "priority": "Medium",
        "date_opened": "2025-11-05",
        "assigned_agent": "aaron.agent@example.com"
    }
]

How to use Zoom Virtual Agent tools in skills

  1. Sign in to the Zoom web portal.
  2. In the navigation menu, click AI Studio then Virtual Agents.
  3. Create or edit an existing voice agent or chat agent.
  4. In the Skills section, click Create skill.
  5. Add detailed instructions for the agent to follow. For example:

Best practices for creating Zoom Virtual Agent tools

note icon
This article applies to Zoom Virtual Agent voice and chat agent. If you are using Zoom Virtual Agent classic chatbot, refer to this documentation for setup and deployment instructions.