How to configure Voice Agents

How to configure Voice Agents

Scroll Export Button

This document provides description of Voice Agent feature, setup instructions, use cases and overview of how you can benefit from using Voice Agent for x-bees and Collaboration 7.

Developer documentation: https://docs.wildix.com/.

Created: April 2025

Updated: September 2026

Permalink: https://wildix.atlassian.net/wiki/x/AQBWS

Introduction

Voice Agent is a powerful tool that allows automated responses and routes customers' and your team’s queries via voice AI assistance. Voice Agents can be added via the Voice Agent integration in WMS. There are several Voice Agent integration types:

  • Generative AI let you create highly interactive and intelligent voice agent without any coding expertise. By providing specific instructions, the AI model generates dynamic, context-aware responses that enhance user engagement. You can also create easily incorporate custom functions to interact with third-party servers, allowing your bot to perform actions like fetching real-time data, updating records, or triggering external processes during a conversation. This option doesn’t require coding experience.

  • Webhooks and AWS SQS allow you to take full control over your voice agent sessions. These options are ideal if your voice agent requires custom handling of conversations; you can build a service to analyze events and generate responses.

  • Dialogflow CX is a versatile AI platform, which is great at handling natural language and managing conversations, even when they get a bit complicated. It is good for automating customer interactions, handling queries, and passing customers to agents when needed, especially in cases where you have clear predefined use cases of customer interactions, where the scenarios of communication with customers are generally the same.

Voice agents support the following langauges:

  • Arabic

  • Catalan

  • Danish

  • Dutch

  • English (British)

  • English (US)

  • French

  • German

  • Italian

  • Portuguese

  • Spanish

  • Swedish

  • Swiss German

Requirements 

Use Cases

Voice agents can be used in a variety of ways. Here are some examples: 

  • Shop assistance: assisting in finding products, checking availability, or making recommendations based on their interests.

  • Order processing and tracking: helping to place orders and provide updates on delivery status.

  • Call centers: handling routine calls and reducing wait times, so that human agents can focus on more complex issues.

  • Customer service: answering common questions of the customers, providing account information, or helping with troubleshooting over the phone.

  • Language support: communicating with customers in multiple languages to address queries of a more diverse audience.

  • Collecting feedback: gathering customer reviews or feedback through voice interactions to improve services.

Step 1. Create Voice Agent

Note: It is possible to create up to 100 Voice agents per organization.

To create a voice agent, proceed with the following steps:

  • Navigate to WMS -> PBX -> Integrations -> Cloud integrations

  • In the AI section, choose Voice Agents

integrations-voice-bots.jpg
  • Click Add new agent:

add-new-agent.png
  • Enter voice agent name

  • Choose category or add a new one

  • Select the integration type for processing events:

    • Generative AI

    • Webhook

    • AWS SQS

    • Dialogflow CX

  • Enter First message (optional)

  • Fill out the necessary fields depending on the selected integration type (see instructions below)

voice-bot-name-message.png
  • Add Variables: Variables allow to add dynamic data

Note: Use the {{varname}} syntax to use variables in messages and instructions.

add-variables.png

Capabilities

  1. In the Capabilities section, click Add Capability -> choose the necessary option:

add-capability.png
  1. The capability gets dispayed on the right, where you can configure its settings (e.g. enter description, choose Pipeline):

hangup-tool.png
  1. Click Add to add the capability to the AI Voice Agent:

add-button-capability.png

Capabilites allow a voice agent to execute specific tasks during a call as well as access knowledge bases and other AI options. By integrating tools, you can align your voice agents with your existing workflow. See the list of available tools below:

Delegate

Allows to delegate user requests to specialised voice agents for more accurate and efficient processing. Acting as a router, the main voice agent identifies the type of request and directs it to the appropriate expert voice agent, ensuring precise handling of areas like scheduling, support, or sales.

Hangup

Allows the voice agent to end the call once the conversation has concluded, or if the user explicitly requests to end it. By setting a custom Description, you can help the voice agent determine when to end the call, ensuring a smoother more natural user experience.

Wait

Allows the voice agent to bypass its response and wait for the next user input, if it detects that the user has not fully completed their statement. This ensures that the bot does not interrupt or misinterpret partial information, leading to a smoother conversation flow.

By setting a custom Description, you can guide the voice agent to make more effective decisions regarding when to wait for additional user input. This ensures that the bot remains silent until all information has been provided by the user, reducing the chances of miscommunication or incomplete responses.

Example:

  • If the user pauses while giving an address, wait for them to finish before responding.

  • If there’s background noise or the user is interrupted, wait for them to resume speaking.

Transfer

Allows the voice agent to hand over the call to specific extensions in the Dialplan. This is particularly useful when complex inquiries require human intervention for better customer satisfaction. 

Description:
The description feature enables your voice agent to determine the appropriate moments to transfer calls. To enhance the bot's decision-making, it's essential to accurately set the description by including comprehensive information about the case.

Example:

  • If the caller requests to speak with a representative or expresses frustration, transfer the call to a human agent

  • For billing inquiries, transfer the call to the billing department queue

  • If the caller provides account information that cannot be verified, transfer them to the security verification IVR

When the option Generate a reply as instructed and transfer the call after playback is selected, you can provide specific instructions that guide the model on what to say to the caller before initiating the transfer. The transfer will be executed immediately after the generated response is played back to the user, and the user will not have the option to cancel the transfer.

Example:

  • Reply "I’ll transfer you to a representative now. Please hold while I connect you."

  • Reply "I’m transferring you to our billing department. Please stay on the line."

Third-party Function

Note:

  • The option was deprecated and replaced with Wilma Tools → Webhook feature.

  • Current third-party functions in existing Voice Agents continue to work. But in case you need to edit/update them, you need to replace them with Webhook tools:

  1. Create a new Webhook tool within Wilma tools

  2. Add the Webhook tool to the Voice Agent

  3. Remove the old third-party function from the Voice Agent

In case of importing Voice Agent which includes third-party function, you can convert it to Wilma Tool. To do this:

  1. Click on the Third-party function in the imported agent

third-party-function-imported-agent.png
  1. Click Convert to Wilma Tool

convert-to-wilma-tool-button.png
  1. Confirm the conversion by clicking Convert

confirm-conversion.png

Knowledge Bases

The Knowledge Base allows you to collect and search information from different sources, such as files, Confluence pages, and Google Drive folders. See more details in the documentation How to Set up Knowledge Base in WMS.

  • In the window that opens up when you click Add capability, navigate to the Knowledge Bases section:

add-tool-knowledge-bases.png
  • Select the knowledge base and click on it. The following window pop-up, where you can add instructions, choose Search Strategy (Hybrid, Semantic, or Text), adjust Threshold (High, Optimal, Low), and define Search Limits to improve the accuracy of AI Voice Agent responses. Search limit defines the number of search results (possible values are from 1 to 50). Once done, click Add:

knowledge-base-settings.png

 

  • The knowledge base gets added to the Capabilities list:

knowledge-base-added.png

Wilma Tools

Wilma Tools includes a set of tools for AI Agents, e.g. sending message, SMS, email, setting up Webhook, etc. which can extend their functionality.

To add Wilma Tool to a Voice Agent:

  • Navigate to the section below Knowledge Bases section (if available). The available Wilma Tools are displayed split into the relevant categories

wilma-tools-in-voice-agent.png
  • Select the necessary tool and click on it. On the window that opens up, enter the Start message and configure the variables if required

start-message.png
  • Click Add to have the tool added under the Capabilities section

Calendar

Calendar function lets AI Voice agent handle calendar tasks like scheduling, updating, or canceling events. For instructions how to set up Calendar tool, check out the guide How to Set Up Wilma Tools.

To add a calendar function:

  1. Navigate to the Calendar section within Cabalities list:

calendar-section.png
  1. Choose the calendar function you wish to add and click on it

  2. On the window that pops up, enter the Start Message:

calendar-function-start-message.png
  1. Here you can modify variables. Depending on the calendar function chosen, there is a different list of variables. For most of them, it is recommended to leave the Auto mode. However, you can customize the following variables:

    • owner_email: Email of the user whose calendar will be modified

    • owner_name: name of the user whose calendar will be modified

    • description: event description

    • duration (create event function only): duration of the event. Note: in case you set a predefined option, make sure the duration corresponds to the duration options set in user’s Kite Calendar (x-bees / Collaboration 7 settings → Kite Settings → Calendar Settings → Duration)

    • reason (rescheduling/ cancelling event function only):

    • resource: the AI agent that created a calendar event. The variable allows you to track and distinguish the source of scheduled meetings.

    • summary: summary of the event

    • timezone: timezone of the scheduled event

When editing variables, the following options are available:

  • Auto: the Agent automatically decides how to fill out the variable (e.g. in case of owner_email - whose calendar to add the event to)

  • Guided: the option allows to you to enter instructions for the Agent (e.g. in case of owner_email you can enter instructions whose calendar to use, or you can even paste the emails of the users whose calendars should be used).

  • Predefined: the option makes the value static. For example, in case of choosing predefined value for owner_email, the Voice Agent will be able to modify only the calendar of the user whose email is entered in the predefined field.

calendar-function-variables.png
  1. Once done, click Add:

add-calendar-function.png

Capability Settings

Variable Processing Modes

When configuring variables for capabilities, the following processing modes are available:

  • Auto: The AI automatically detects or decides the value based on the variable name and context.

  • Guided: Allows you to provide specific instructions or additional context on how the agent should fill the variable.

  • Predefined: Sets a static, fixed value for the variable that does not change.

Pipeline

When adding a tool, you can modify its pipeline:

  • Blocking request: the Voice Agent waits for response from the system and uses response in the reply.

  • Blocking request guided: the Agent waits for response and uses instructions to generate a reply. You can enter the relevant reply instructions:

pipeline-blocking-request-guided.png

 

  • Async request: the Agent triggers the tool and continues the conversation immediately without waiting for a response ("fire and forget"). This is ideal for background tasks where the immediate reply doesn't depend on the tool's result.

  • Async request guided: the Agent replies without waiting for response from the system and uses the instructions that you indicate here to generate its reply:

async-request-guided.png

 

 

Analysis

You can also configure Analysis annotations for AI Voice agent capabilities to automatically add tags, log comments, capture capability variables, and record tool output, helping categorize, filter, and analyze conversations in Revenue Intelligence.

  1. Under Capabilities section, add or edit a supported capability

  2. In the capability configuration window, scroll to the Analysis section and click Add annotation

  3. Select the annotation type:

  • Tag – adds a tag to the call or conference for Revenue Intelligence analysis.

Note: Tags added through Analysis annotations can later be used to filter and categorize conversations in Revenue Intelligence.

  • Log comment – adds predefined text to the conversation timeline for users and Revenue Intelligence.

  • Log variables – records capability variable values for Revenue Intelligence and conversation details (Available only for capabilities that support variables).

  • Log result – records the tool output for Revenue Intelligence and conversation details.

ai-agent-capabilities-analysis.png

 

  1. Configure the annotation. The available settings depend on the selected annotation type:

  • Tag: you need to enter a tag from 3 to 50 characters using only English letters, numbers, hyphens (-), and underscores (_) and choose when the tag should be applied: when the tool succeeds or when it fails.

analysis-add-tag.png
  • Log comment: enter comment text from 1 to 200 characters, which will be added to the timeline when this tool runs:

analyze-log-comment.png
  • Log variable, Log result options log the tool’s variable or call output to Revenue Intelligence:

log-variables-log-result.png
  1. Сlick Add or Apply

  2. Click Save to save the AI agent configuration

Additional Settings

In the Additional Settings you can set up the following options:

  • Model: choose the preferred AI model for generating responses. If no model is selected, the system uses the default model.

voice-bot-model.png
  • Interruption Detection: if enabled, customers can interrupt the agent and the system will stop the playback of the voice agent's response. By default, the option is disabled.

interruption-detectioon.png
  • Silence Timeout: set the timeout before a call is automatically ended due to inactivity and the action (hangup or transfer) that should be performed when the call ends.
    In case you choose to transfer the call after the voice agent reaches the silence timeout, you need to specify:

    • Context: the Dialplan procedure

    • Extension: extension to which the call should be transferred

silence-timeout.png
  • Maximum Duration: the maximum duration of a call in seconds and action (hangup or transfer) that should be performed when the call ends.

maximum-duration.png
  • ACL Group: you can assign an ACL Group to an AI Voice Agent, defining who can view the agent's recordings in analytics.

Note:

  • Only admins can assign a PBX ACL group to an AI Agent.

  • You can also configure ACL permissions to allow users to see call summaries transferred by AI Voice Agent while hiding transcription and Wilma buttons during active calls. To do so:

    • Go to WMS → Users → Groups → ACL permissions

    • Set "Can see transcription summary"

    • Set "Cannot see call recordings" and "Cannot use Wilma and AI Assistant"

acl-group.png
  • Click Add to save your voice agent and proceed with the Dialplan configuration (step 2 below).

Types of Voice Agents

Generative AI

When configuring Generative AI as the integration type, you need to create a clear and precise prompt with instructions for AI agents, which directly impacts voice agent's performance and reliability. Prompt engineering is an iterative process, so based on user feedback, you can refine your prompts for even better voice agent efficiency.

You can divide your system prompts into the distinct sections, each focusing on a specific element of the AI agent's behavior. For example:

  1. Identity: define who the AI agent is, outline its persona and role to set the context for interactions.

  2. Style: establish guidelines for the agent's communication style, including tone, language, and formality.

  3. Response Guidelines: specify preferences for the response format, including any limitations or requirements in terms of the response structure.

  4. Task and Goals: indicate the objectives the agent should achieve and outline the steps it should follow.

generative-ai-voice-bot.png

 

Starting from WMS 7.05.20251008.1, you can also include the following caller details to metadata:

  • User Name: allows to configure Voice Agent to turn to a caller by name

  • User Phone Number: gives the Voice Agent access to user phone number, useful for identifying existing customers, verifying accounts

  • User Email: provides the Voice Agent access to user email (if the information is available), useful for sending booking confirmations, follow-up information

  • User Company: gives Voice Agent access to user company (if available), useful for handling corporate accounts, event bookings, or offering business-specific services

  • Date & Time (dynamic value): allows Voice Agent to get information about the current date and time. With this option enabled, the bot can correctly interpret time-related expressions such as “now” (e.g., “Is an agent available now?”), “tomorrow” (e.g., “Can I book a meeting for tomorrow?”), “in two hours” (e.g., “Can I have a delivery in two hours”), or specific days of the week, etc.

How to use the feature:

  1. You need to add the required metadata (e.g. User Name) under the Instructions field by clicking Add context → choose the necessary option:

add-context-choose-option.png
  1. Make sure to reference it in the Instructions prompt depending on the context when it should be used, e.g.: “Please use the User Name metadata when greeting the user.”

generative-ai-metadata.png

Webhook

Specify the following fields, when configuring Webhook as the integration type:

  1. Target: enter the URL that the Webhook will use to send POST requests with the event payload.

  2. Secret: the secret ensures that only requests from Wildix system are accepted, preventing unauthorized access or potential security breaches. The secret key is included in the headers of each POST request sent by the Webhook. Your server should validate this key to ensure the request is legitimate before processing the event data

voice-bot-webhook (1).jpg

If you configure AWS SQS as integration type, you need to provide the following details to establish the connection with your AWS SQS queue:

  • Target: enter the URL of your SQS queue. This is where the events are sent, for example, https://sqs.amazonaws.com/11111/wildix-events-queue

  • Access Key ID: enter your AWS Access Key ID. It is used to sign the request that x-bees / Collaboration 7 sends to AWS SQS.

  • Secret Access Key: enter your AWS Secret Access Key, which is paired with your AWS Key to sign the requests securely.

aws-sqs-voice-bot.png

Dialogflow CX

If you configure Dialogflow CX as the integration type, you need to fill out the following fields to establish the connection between x-bees / Collaboration 7 and your Dialogflow CX agent:

  • Private Key: click Upload and upload the private key file associated with your Google Cloud service account

  • Location: fill out the region where your Dialogflow CX agent is deployed (typically it is a region-specific identifier, for example, europe-west1, us-central1)

  • Language: indicate the language that your Dialogflow CX agent will use to understand and respond to user inputs. Make sure the language code matches the languages supported by your Dialogflow CX agent, e.g.:en for English

  • Agent ID: provide the unique identifier of your Dialogflow CX agent, links your voice agent to the specific Dialogflow CX agent that you’ve configured in Google Cloud.

voice-bot-dialogflowcx (1).jpg

Voice Agent custom dictionary

You can also add a custom dictionary for Voice Agents. To do so, create a Tech Support case in SFPC. You can view more details and instructions in the documentation: Submit a Case via Salesforce Partner Community

Step 2. Configure Dialplan

To add voice agent to a Dialplan, use the Voice Agent application. Before adding the voice agent, make sure to set alaw/ ulaw codecs, as voice agent cannot be started in case the call was answered with opus codec: 

  1. Add the Set application -> Codecs -> alaw, ulaw

  2. Then, add the Voice Bot application:

  • Choose the necessary Voice Bot

  • Select Language

  • Choose Voice 

  • Select the desired music on hold in the Background Sound dropdown menu

  • Check the Record Call With Agent option, to enable call recording

Note: Starting from WMS 7.04.20250929.2, it is possible to set custom ElevenLabs voice for Voice Agents. For this, in the Voice field, add a link to the preferred voice from ElevenLabs in the following format:

elevenlabs://voice-id?apiKey=api-key&languageCode=en

Where "voice-id" is the ID of the preferred voice from ElevenLabs and "api-key" is the ElevenLabs API Key.

  • To get "voice-id" in ElevenLabs, proceed to Voices (1) -> My Voices (2) -> click the three dots in front of the preferred voice -> click Copy Voice ID (3):

  • To get ElevenLabs API Key, proceed to the Developers tab (1) -> API Keys (2): 

elevenlabs-api-keys.png

You can either use an existing API Key or create a new one. 

  • In “languageCode=en” section, instead of “en” you can enter the preferred language

  • Add Welcome Message if required 

voice-bot-configuration.png

Note:

  • The following languages are supported: Arabic, Catalan, Danish, Dutch, English (British), English (US), Estonian, French, German, Italian, Portuguese, Spanish, Swedish, Swiss German, Turkish.

  • For some languages, it may not be possible to select a specific voice. In such cases, the default voice is used.

setting-language-manually.png
  • Basque language is not supported

Note: By default, the Voice Bot Dialplan application waits for Voicebot execution for 30 seconds before failing over to the next Dialplan entry. Starting from WMS 7.09.20260730.1, you can customize this timeout by setting a global variable:

  1. Go to WMS → Dialplan → General Settings

  2. In the Set dialplan variables field, add the following:

    VOICEBOTCONFIG_TIMEOUT=20

    (Where 20 is the number of seconds for the timeout).

  3. Click Save to apply the changes.

Manage Voice Agents

The voice agents that you have created are displayed in WMS -> PBX -> Integrations -> Cloud integrations -> Voice Agents section, split by categories. In case Voice Agent does not have any category, it is displayed under the Default category. You can see the AI Agent name and Integration type.

voice-ai-agents-list.png

Edit a Voice Agent

  1. To edit a voice agent, click on it and click Edit:

voice-bot-edit.png
  1. Make the necessary changes and click Save.

Clone a Voice Agent

The option allows to clone the Voice Agent configuration. To clone the voice agent, open the necessary voice agent and click Clone:

clone-voice-agent.png

A page with a new voice agent with the same settings opens. Make any changes if required, change the name (otherwise you may not be able to create a voice agent with the same name as the existing one) and click Save:

cloned-agent.png

Export Voice Agent

The option allows to export the voice agent settings.

  • Click Export

export-voice-agent.png
  • The following window opens. Click Copy to copy the voice agent settings and close the window