Monitoring Voice Agent With Watson
IBM® Voice Agent with Watson™ enhances your call center operations by orchestrating Watson services and integrating them with the telephone network. As a critical piece of your solution, it’s important to know that Watson is ready to help when needed.
The Voice Agent (VA) has built-in capabilities that enable the collection of Call Detail Records (CDR) in an external storage service. This post will focus on setting up the event forwarding capability.
IBM Voice Agent with Watson: Enhances your call center operations by orchestrating Watson services and integrating them with the telephone network
IBM Watson Assistant: Allows you to build conversational interfaces into any application, device, or channel.
IBM Watson Text To Speech: Processes text and natural language to generate synthesized audio output.
IBM Watson Speech To Text: Converts the human voice into the written word
IBM Cloudant Database: A JSON document database to store Call Detail Records.
Voice Agent Event Forwarding
With all the services in place, the first thing to do is to configure the VA to forward CDR records to an IBM Cloudant database. In the Event Forwarding section of the Watson Voice Agent configuration, perform the following steps.
- Click the checkbox to Enable Event Forwarding
- Select the Cloudant service where the events will be stored
- Choose the Call Detail Records database
Configure Cloudant CDR Database
Next, you’ll need to build your monitoring query. It’s easiest to do this using the Cloudant dashboard which is accessible from within the Cloudant service in the IBM Cloud dashboard. There are two primary steps that you need to do: 1) Create a query Index, 2) Create a query.
While not required, it’s good to use a query index to ensure good performance when searching the database. In the Cloudant tooling, go to the database where the Voice Agent CDR events are stored. Add the following text to the index builder window and click the Create Index button
Using the query builder, create and test a query to search for CDR events — using the index created in the previous step.
This query returns all Virtual Agent messages that failed except for two specific codes which do not represent a service failure. The startTime field is in milliseconds.
This is just a sample query. Use the Watson Voice Agent system messages to tailor results specifically for the solution being monitored.
The last step is to build an automated script that executes the query and sends notifications based on established business rules. The query will be run against the CDR database using the Cloudant API.
Configure API Query:
Create a data file in JSON format that contains the query developed in the previous steps.
Cloudant API Querycurl "<CLOUDANT_EXTERNAL_ENDPOINT>/va-cdr-events/_find" \
-X POST \
-H "Content-Type: application/json" \
NOTE: If the VA_CDR_Events.json file is somewhere other than the directory from which the API command will run, use a fully qualified path name for the data parameter.
Build Monitoring Script
Finally, build an automated monitoring script that will run the query at regular intervals. This script will differ depending on the environment and business rules. A general health check might be to…
- Query CDR repository for VA failures in the last 10 minutes
- Alert on errors that have a count of 5 or more in current health check
- Alert on error codes detected 3 or more times on the current and previous health checks
- Flag error codes detected between 3 and 5 times
- Repeat process every 10 minutes
IBM® Voice Agent with Watson™ allows you to easily enable Watson AI for automated voice interactions over the telephone. Being able to retrieve and monitor the call detail records helps you ensure that the service is ready when customers call.
For help using and implementing Watson services, reach out to IBM Data and AI Expert Labs and Learning.