This example demonstrates how to build an outbound workflow that returns abandoned calls on a priority basis according to customer status. This workflow makes use of the delay activity, populates custom variables with a specific format type, demonstrates enhanced email activity by adding attachments, and sends custom variable information to agents via enhanced screen pop.
Consider the following scenario:
Problem: A busy order desk is having trouble keeping up with customer requests. As a result, they are dealing with a high number of abandoned calls. Their customers are sorted into three priority levels: gold, silver, and bronze. Gold member callers are considered the highest priority and the order desk is obligated to return their calls expediently in order to meet service level agreements. Each day a SQL table is populated with all of the abandoned calls from the previous day including the customer’s priority levels. All gold customers must be called back.
Solution: The following outbound workflow is configured to search for customer numbers based on priority level, thus ensuring gold-level customer calls are returned expediently. In addition, customers are given options that can expedite call handling, resulting in a more efficient use of agent resources. For example, if callers are offered choices, besides the option of connecting with an agent, of being sent a PDF of their order status or listening to a message describing their balance and due date, some caller’s needs would be satisfied without having to speak to an agent. If callers choose to speak to an agent, specific caller information, for example, their status is delivered to the agent via a screen pop display when the agent connects to the call.
The following table depicts the final, post-configuration version of the Outbound workflow example described here.
The first step in creating this workflow is to determine the source from where you will retrieve the numbers to call back. Typically the outbound call list is stored in a SQL database or an Excel spreadsheet. In this example, the following table was created in a SQL database. The example SQL database used in this sample workflow is named abandoned_caller. (See the following table.)
We recommend following standard database design practices when setting up your database. The example database referred to in this document is for demonstration purposes only.
ID | [Level] | CallerID | UserName | Balance | |
---|---|---|---|---|---|
100 | Gold | 3001 | Dave | 21.32 | [email protected] |
101 | Silver | 6132221212 | James | 201.55 | [email protected] |
102 | Bronze | 6135990000 | Curtis | 30 | [email protected] |
ID | LastBill | DueDate | Processing | Contacted | FailedAttempt |
---|---|---|---|---|---|
100 | \\share\bills\100bill.docx | April 20, 2012 | 0 | false | NULL |
101 | \\share\bills\100bill.docx | September 1, 2012 | 0 | false | NULL |
102 | \\share\bills\100bill.docx | Dec 12, 2012 | 0 | false | NULL |
The SQL data types used for this example are shown in the following figure.
The columns Processing and Contacted are added to the table to assist with call processing, as follows. The outbound workflow executes in an always-run fashion. If there are records present in the database and outbound ports are available, calls will be executed constantly. The processing column is used to flag a call as in progress. When a call is in progress, it means that the outbound port is currently calling that number. After the outbound workflow has completed, the contacted column is set to true. This process ensures callers, once contacted, are not called back.
A FailedAttempt column is added to indicate the reason the attempt to call failed, for example, due to No Answer, Destination Busy, or Invalid Destination. The following figure displays an example of failed attempts as they display in the workflow.
You must configure a database provider to supply outbound call records to the Outbound workflow. This example uses a Microsoft SQL server as a data provider and names the data provider Abandon DB. See "Adding a Microsoft SQL server as a data provider".
Outbound workflows and IVR Routing callbacks are both executed by the existing MiContact Center Outbound Router Service. Outbound port 5020 IP are used to process outbound workflows and IVR Routing callbacks.
Refer to the procedure "Adding extensions" and add the appropriate number of outbound ports. If you have any questions regarding the number of ports you require, contact the Systems Engineering Team.
Before creating the workflow, define the variables that it will use. For this example, we have created the following variables from the above SQL database example table. Ensure the 'Send to Agent’s Desktop' check box is selected if you want customer-relevant database information to be available in a screen pop display for agents upon call receipt. (See the following figure.)
Now that you have populated the table in the SQL database with abandoned interaction information, added a database provider and outbound ports, and created applicable variables, you can create the outbound workflow
To make the workflow active, select the Always run check box. When you no longer want the workflow to be active, deselect this option.
The first steps in configuring the outbound workflow for use with abandoned interactions are to add a Query activity, a Make Call activity, and a Hang Up activity. The Make Call activity is used to place calls to external phone numbers that are typically stored in a data source, such as a SQL database or an Excel spreadsheet. The Query activity is used to retrieve the numbers from the database that are then stored in a variable which is accessed by the Make Call activity when dialing. The Make Call activity determines the location of the media server and provides the correct formatting for the external phone number before placing the call. In this example, the query looks for gold-level customers that require a return call.
SELECT top 1 * from dbo.abandoned_caller where level = ‘gold’ and processing = ‘0’ and contacted = ‘False’
UPDATE dbo.abandoned_caller set processing = 1 where id in (select top 1 id from dbo.abandoned_caller where level = ‘gold’ and processing = ‘0’)
The following figure displays steps 5-7.
See the following figure.
Outbound dialing digits must be programmed in YourSite Explorer for the media server upon which the outbound ports reside. This is configured in YourSiteMedia serversLocation tab.
If the query is successful, the outbound number variable will populate. The caller is then offered the option to speak with an agent, receive an email with account details, or listen to a message that includes their account balance and due date. If the query is unsuccessful, for example, if you are set up to call back gold-level callers and there are none available in the SQL database table, the failure branch is followed
In the Success branch of the Make Call activity three actions are performed: Delay, Menu, and Query. (See the following figure.)
The Delay action is used to give the customer time to answer the phone and greet the caller. The delay value is set in seconds.
The customer will be able to select 1 to speak to an agent, 2 to receive an email containing their most recent account information, or 3 to hear a message regarding their account balance and due date.
See the following figure.
For more information, see "Configuring the SMTP Server".
To ensure the email is sent to the customer, use the variables that were populated previously with the query action.
See the following figure.
The Prompt window opens.
You will configure the activity to play two custom .wav files and two prompts. The customer will hear their account balance and due date, based on the variables you associate with the prompts.
See the following figure.
In this example, the OB_Balance variable is set as type ‘Date Time’ and the variable OB_Balance is set as type ‘Dollars’. These variables have an associated format type. The variable type ‘Date Time’ must be formatted to suit the variable populated from the database query. The available options display in the following figure.
The balance due variable (OB_Balance) can have either Currency Format selected. The currency format is only used when writing data to a database.
This query updates the SQL table to indicate that the call has been completed, ensuring that number is not called again.
Adding this subroutine is recommended in order to help error proof the workflow.
After configuring the outbound workflow, associate it to a port. An outbound workflow cannot be associated to a hunt group. See "Associating workflows to devices".