Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

This glossary includes the most commonly used x-hoppers terms and features and their descriptionsdocument provides description of Voice Bots feature, setup instructions, use cases and overview of how you can benefit from using Voice Assistant.

Created: November 2024

Updated: December 2024

Permalink: https://x-hoppers.atlassian.net/wiki/x/DAD8B

Table of Contents
minLevel1
maxLevel6
outlinefalse
stylenone
typelist
printabletrue

...

Voice Bots is a poweful tool that allows automated responses and routes customers' and your team’s queries via bot assistance. There are several Voice Bot integration types:

  • Generative AI let you create highly interactive and intelligent Voice Bots 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 bot sessions. These options are ideal if your voice bot requires custom handling of conversations; you can build a service to analyze events and generate responses.

  • Dialogflow CX is aversatile 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.

  • OpenAI Assistant connects your Voice Bot to OpenAI’s language models, which lets to handle complex conversations and provide natural responses to user queries. With OpenAI’s advanced AI capabilities, your Voice Bot can understand context, manage dialogues, and deliver personalized interactions.

Use Cases

Voice Bots 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.

Voice Bot Creation

Info

It is possible to set create up to ____ 100 Voice Bots per organization.

...

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

...

  • Click Add New Voicebot:

...

  • Enter Voice Bot name

  • Enter First message (optional)

  • Select the integration type for processing events:

    • Generative AI

    • Webhook

    • AWS SQS

    • Dialogflow CX

    • OpenAI Assistant

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

...

  • Add Tools:
    Tools allow a Voice Bot to execute specific tasks during a call. By integrating tools, you can align your Voice Bots with your existing workflow. See the list of available tools below:

    • Transfer: allows to transfer a call to an agent or route via Dialplan

    • Delegate: gives possibility to delegate user’s request to another Voice Bot

    • Hangup: allows the Voice Bot to end a call by himself it the call is considered finished

    • Wait: allows to analyze the the user’s response and wait for more input if the response was incomplete

    • Third-party Function: gives possibility to integrate Voice Bot with various API options

To add a tool:

  1. Click Add Tool -> choose the necessary option:

...

  1. Fill out the necessary details:

...

  • Configure Advanced Configuration:

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

    • 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 Bot reaches the silence timeout, you need to specify:

      • Context: the Dialplan procedure

      • Extension: extension to which the call should be transferred

...

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

    voice-bot-additional-configuration.pngImage Removed

...

  • Click Add to save your Voice Bot

Types of Voice Bots

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 Bot performance and reliability. Prompt engineering is an iterative process, so based on user feedback, you can refine your prompts for even better Voice Bot efficiency.

...

  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.

...

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

...

Note

Important: The endpoint should be publicly accessible with a valid HTTPS certificate, accept HTTP POST requests with JSON payloads, respond with codes from 200 to 299 as quickly as possible, and handle multiple identical calls in case of retries due to network or server failures (up to 3 times).

AWS SQS

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

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

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

...

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-hoppers 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 Bot to the specific Dialogflow CX agent that you’ve configured in Google Cloud.

...

OpenAI Assistant

If you configure OpenAI Assistant as integration type, you need to fill out the following fields to enable the connection between x-hoppers and OpenAI's API:

  1. API Key: enter the unique identifier that allows to grant access to the OpenAI API, which lets to send requests and receive responses from the Assistant

  2. Assistant ID: fill out the unique identifier of a specific OpenAI Assistant you created.

...

...

Manage Voice Bots

The Voice Bots that you have created are displayed in WMS -> PBX -> Integrations -> Cloud integrations -> Voice Bots section. You can see the Voice Bot name, Bot ID, and Integration type.

...

Edit a Voice Bot

  1. To edit a Voice Bot, click on the Edit (pencil) icon:

...

  1. Make the necessary changes and click Save:

...

Delete a Voice Bot

  1. To delete a Voice Bot, click on the Delete icon:

...

  1. On the screen that pops up, type the word “delete” and click Delete:

...

Dialplan Configuration

Set Voice Bot in a Dialplan

  • Set a language which the Voice Bot will use: add Set application -> Language -> select the language

Info

Note:

  • The following languages are supported:

    • English (British), English (US), French, Italian

    • Spanish, Dutch, German, Arabic, Catalan, Danish, Swedish, Portuguese - starting from WMS 6.09.20241106.2

    • Swiss German - starting from WMS 6.09.20241211.2

  • Arabic (ar), Swedish (se) are not present in the drop-down list, but you can enter them manually, for example:

setting-language-manually.pngImage Added
  • Basque and Estonian languages are not supported.  

  • Add the Voice Bot application and choose the necessary Voice Bot from the list:

...

Note

Note: Voice bot cannot be started in case the call was answered with opus codec. To avoid such a scenario, you can set alaw/ ulaw codecs in Dialplan: add Set application -> Codecs -> alaw, ulaw:

set-alaw,ulaw-codecs.pngImage Added

Choose speaker

Info

Note: The support starts from WMS 6.09.20241129.1.

You can change the default speaker by adding the following applications before the Voice Bot application in the Dialplan:

  1. Set application -> choose the parameter Language - > choose language

  2. Set application -> choose the parameter TTS Voice - > select speaker: 

...

Traces

...

In Traces section you can see a table with the following information: Session ID, Voice Bot name, Caller, Duration of the call, date and language:

...

Clicking on a session in Traces, you can view events of the session:

...

Voice Bots API

You can find Voice Bots API here: https://docs.wildix.com/api-reference/rest/wim/voicebots/#/

Use Case: Using Voice Bots with Chat Bots

You can enhance your experience of using Voice Bot feature by combining it with Chat Bots (you can find Chat Bots documentation here: https://wildix.atlassian.net/wiki/x/4APOAQ ). For example, you can set up Voice Bot that would gather information from a customer and send it to the conversation with managers via a Chat Bot:

Step 1. Create a Chat Bot

  1. Go to WMS -> PBX -> Integrations -> Cloud integrations

  2. Select Chat Bots and click Add new Chatbot

  3. Enter a name for your chatbot

  4. Select the Webhook integration type for processing chat events

  5. Fill out the Target field

  6. Enable Allow users to find the bot using search checkbox to let users interact with the bot

  7. Click Add to save and activate your chatbot

...

After creating the bot, click on Manage API keys to create API key:

  1. Click Create new API Key

  2. Enter a name for identification

  3. Click Create and copy the secret using the Click to reveal button. You will need the secret when configuring Voice Bot.

...

Step 2. Create a conversation

Create a conversation in x-bees where you need to add the Chat Bot you’ve created as well as the managers who should receive the notifications.

Also, make sure to copy conversation ID, which will be required during Voice Bot creation:

...

Step 3. Create Voice Bot

Configure Voice Bot of Generative AI integration type.

In our example, we’ve used the following text as the First Message:
Hello! Do you have any complaints or suggestions regarding Wildix products?

And added the following instructions:

You are a customer care agent that collects all the complaints and suggestions about Wildix products. Try to understand with which product customer is having problems or has a suggestion. Carefully collect all the details. Then pass them to the manager in the chat.
Share with the manager any emotions or sentiments the customer had if any. Ask the customer their name before passing the information to the manager and remember to pass the customer's name as well. Hang up after saying thank you and good-bye if the customer says they have nothing else to add.

voice-bot-generative-ai-example.pngImage Added

In Tools section, add Hangup and Third-party Function options:

...

We’ve used the following parameters in the Parameters section of Third-party Function section:

Code Block
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The message to the manager containing all the details about complains and suggestions collected from a customer"
    }
  },
  "required": [
    "text"
  ]
}

In Integration section, in the URL field (1) next to the POST Method, entered the following data:

Code Block
https://api.x-bees.com/v2/conversations/channels/{Conversation_ID}/messages

Where {Conversation_ID} is the ID of the conversation from Step 2.

Click Add authorization and enter the Secret from Step 1 into the Bearer field (2):

...

Click Save to save the changes.

Step 4. Configure Dialplan

Set up Voice Bot in the Dialplan:

...

When calling the number set in the Dialplan, the call is answered by Voice Bot, which gathers the required information and send it to the conversation:

...