Genesys Pure Engage and Mindful integration guide
The Mindful Callback integration with the Genesys Pure Engage platform utilizes reliable SIP-based communication without the need for custom development. The example integration presented in this guide allows the Genesys platform to send inbound calls to the Mindful Callback application for a callback offer, while maintaining user data and context for each call.
In this guide, we present configuration requirements for the following processes and components:
- Configuring DIDs for the contact center and high-priority holding queue
- Call routing by a single Genesys Queueing Strategy
- Establishing an offer threshold in Genesys Pure Engage based on the wait time
- Providing a callback offer in the Mindful Callback application.
- Retaining user data between Callback and Genesys
For further validation against additional integration options, please contact a Mindful representative.
This article is not intended as a configuration guide for a Genesys Pure Engage environment. For help with Pure Engage deployments and configuration, consult the official Genesys documentation.
This guide covers the on-premise Genesys Pure Engage platform. For information about integrating with the Genesys Pure Cloud platform, see the Genesys Pure Cloud and Mindful Callback integration guide.
When quoting the estimated wait time prior to offering a callback, it is a best practice to set an upper limit for the amount of time that can be quoted. For example, if the wait time exceeds 10 minutes, you might choose to say "...more than than 10 minutes from now" rather than quoting an exact time.
We recommend setting a minimum offer threshold based on the current estimated wait time to ensure that callback offers are not made when wait times are very low. You may also wish to check agent availability prior to sending calls to Mindful Callback.
Overview
This integration guide covers the following topics:
- Components and architecture
- Step 1: Configure your Mindful Callback account
- Step 2: Configure your SBC
- Step 3: Configure your Genesys environment
- Call flow diagram
- Optional: Consolidate return-call destinations
- Optional: Offer Second Chance Callback
Components and architecture
Definitions and acronyms
Term | Definition |
---|---|
DID | Direct Inward Dialing phone number |
SBC | Session Border Controller |
SIP Trunk | Virtual phone line that enables users or applications to make and receive calls |
SIP URI | SIP addressing scheme that determines where to send SIP calls |
UUI | User to User information about a call, passed in a SIP header |
Components and architecture
Mindful Callback component | Description |
---|---|
SIP Proxies | Send and receive SIP messaging |
RTP Proxies | Establish and maintain RTP streams |
Callback Application | Tracks callbacks and system configuration |
Management Interface | Provides a user interface for administrators |
Pure Engage component | Description |
---|---|
ORS/URS | Orchestration Server / Universal Routing Server. We used URS 8.1.4x in our example integration. |
Avaya SBCE | Session Border Controller for Enterprise. We used SBCE 8.0 in our example integration. |
SIP Server | We used SIP Server 8.1.1x in our example integration. |
IRD | Interaction Routing Designer is used to implement subroutines to handle call routing. |
Step 1: Configure your Mindful Callback account
Provision a phone number
Provision a phone number in your Mindful Callback Organization and assign it to a Call Target. The Genesys platform will route inbound calls to this number for callback treatment. This number can be dialed via SIP using the URI format +<DID>@<Callback SIP endpoint>:<port> or via the PSTN by using the DID without the leading plus (+) symbol.
Configure your Call Target
There are a few configurable settings in Callback that must be adjusted to integrate with the Pure Engage platform.
Dial Settings
Quick access: Call Targets > Your Call Target > General tab > Contact Center
- Callback Telephony Type: Set to SIP.
- Callback Number: Enter the address of the routing point on the Genesys SIP Switch where callbacks will be sent.
- Use the public IP address that is translated by your firewall to the external interface of the SBC.
- Use the SIP port of the SBC external interface.
Callback Strategy
Quick access: Call Targets > Your Call Target > General tab > Callback Strategy
Most of the Callback Strategy settings are not relevant to the integration, and they can be set however you would like. However, there is one notable exception when using the Customer First Callback Strategy.
When using Customer First, select the Wait for live Agent checkbox. This will prompt agents to press a digit to accept a callback, which provides an Agent Answer event to the Callback application. The Agent Answer events are used to assist in calculating an accurate Estimated Callback Time (ECBT).
Configure Metadata items
Before Mindful Callback can process data contained in SIP headers, each data point must be defined as a Metadata item.
Use the following image as a guide to configure the necessary metadata items. These items will be described in detail in the Genesys configuration section of this guide. Each Metadata item in this integration is prefixed with X-Genesys-, which is defined in the SIP Server Application Option named TServer/userdata-map-trans-prefix.
Quick access: Call Targets > Your Call Target > Metadata tab
Metadata items:
- X-Genesys-FirstName
- X-Genesys-LastName
- X-Genesys-Cloud
- X-Genesys-OriginalUUID
Configuration for all items:
- Type: SIP Header
- Max Length: 10
- Terminator: N/A
- Prompt: N/A
- Persist forever: Deselect to prevent unnecessary storage of data
You may wish to select the Persist Forever checkbox for the X-Genesys-OriginalUUID item to retain the data for reporting purposes.
Optional configuration
The Callback application supports SMS callback notifications, voice-to-messaging transitions, and proprietary drop-in web widgets to provide a digital callback offering.
Step 2: Configure your SBC
Mindful Callback integrations can function with different Session Border Controller (SBC) products regardless of the ACD platform used in your environment. We have instructions available to assist with SBC configuration.
We plan to add integration guides for more SBC products over time. Check back here for updates or let us know if you would like us to cover a specific SBC!
Step 3: Configure your Genesys environment
Several items will need to be configured or edited in your Genesys environment to complete the integration. The following steps and examples cover four additional tasks:
- Create Trunk DNs
- Configure a Routing Point
- Set SIP Server Application Options
- Configure Genesys routing
Create Trunk DNs
You will need to configure two Trunk DNs for this integration. Both DNs allow calls to pass through the SBC, with one DN allowing traffic to your telephony service provider and the other allowing traffic to the Mindful Callback application.
Quick access: Genesys Administrator > Switches > Your SIP Switch > DNs > Trunks
Open both of the following tabs for information on the two required Trunk DNs.
1. Normal Trunk DN to the SBC
Configure a normal Trunk DN for dialing out to your telephony service provider through the SBC. This Trunk DN will also be used to validate the SBC as an authorized device for incoming SIP requests.
Use the following image and table as a guide when configuring the TServer options for this Trunk.
TServer option | Value |
---|---|
contact | Enter the IP address of the SBC's internal interface. |
cpn | Enter the ANI that will be provided as the From address in a SIP INVITE. |
prefix | Calls received by SIP Server with the configured prefix will use this Trunk. |
refer-enabled | Set to false (this is recommended when inviting an endpoint outside of the network). |
Replace-prefix | Enter 1. When SIP Server receives a request to dial an external number with a 91 prefix, it will send an INVITE to the SBC without the leading 9. |
This trunk may already exist if your Genesys environment is configured to route inbound and outbound calls through your SBC.
2. Trunk DN to the SBC for Mindful Callback
Configure a second Trunk DN to allow calls to be dialed out through the SBC to the Mindful Callback application. The configuration of this Trunk DN is similar to the normal Trunk DN for your telephony service provider, with a few key differences.
Use the following image and table as a guide when configuring the TServer options for this Trunk.
TServer option | Value |
---|---|
contact | Enter the IP address of the SBC's internal interface. |
prefix | Calls received by SIP Server with the configured prefix will use this Trunk. Note that this Trunk is configured with a different prefix to differentiate it from the normal Trunk to the SBC. |
refer-enabled | Set to false (this is recommended when inviting an endpoint outside of the network). |
Replace-prefix | Enter +1. When SIP Server receives a request to dial an external number with a 91 prefix, it will send an INVITE to the SBC with a plus symbol (+) prefixed and without the leading 9. |
userdata-map-filter | Use this option to specify which pieces of Genesys userdata will be mapped to SIP headers. |
- The TServer/cpn option is not used for this Trunk. Not using cpn allows a caller's ANI to pass through the SBC to Mindful Callback.
- The Genesys userdata specified in the userdata-map-filter option will vary based on your environment.
Configure a Routing Point
Configure a single Routing Point for the entry DN that callers use to enter the Genesys environment. This Routing Point DN will be used by the Mindful Callback application to send callbacks to your Call Center.
Set SIP Server application options
TServer/userdata-map-trans-prefix
The SIP Server Application Option TServer/userdata-map-trans-prefix is null by default. We recommend setting the value to X-Genesys-. This is required if you use GVP as an IVR, but is still a best practice in other cases. The value of this option must match the prefixes configured for the Metadata items in the Mindful Callback user interface in a prior step.
Configure Genesys routing
In our example integration, we configured a single routing script in IRD to handle both inbound calls and callbacks received from Mindful Callback. Consult the sections that follow to view the details of the Queuing Strategy, Subroutine, and List Objects.
Queuing Strategy
|
List Object (Transaction)
Before setting up the subroutine to handle inbound calls and callbacks, you will need to configure List Objects (Transactions) to be referenced in the subroutine. The List Objects allow us to create a subroutine that can be loaded anywhere without changing the configuration.
List Objects can be configured in one of several places in the Genesys environment:
- IRD
- Configuration Manager
- Genesys Administrator
In our example configuration, we created a single List Object named CBCloud. The List Object includes two Items, vhtCreditCards and vhtMortgages, both representing a unique call type for an example Credit Card and Mortgage department. The following examples show the vhtCreditCards Item configured in IRD and Genesys Administrator.
Example #1: List Object in IRD
The following example shows the CBCloud List Object and the vhtCreditCards Item in IRD:
Example #2: List Object in Genesys Administrator
The following example shows the same configuration in Genesys Administrator:
In Genesys Configuration Manager or Genesys Administrator, the term Transactions is used instead of List Objects.
Subroutine
In our example integration, we used a single Subroutine, named vhtCloud, to handle both inbound calls and callbacks received from the Mindful Callback application. Use the following diagram and steps as a guide when configuring the Subroutine.
|
- Use a TRoute function block to request that the call be routed to the value of the v_Cloud_Number variable. This instructs Genesys SIP Server to route the call to the SBC using the Trunk matching the prefix of the number stored in v_Cloud_Number.
- If callback treatment is not enabled for the call type (meaning the value returned after checking the List Object was not y), then exit the Subroutine and queue the call to an agent skill as normal.
Important
If the Mindful Callback application utilizes Twilio trunks to receive inbound calls (default configuration), then the ANI of the call sent from the ACD environment to Mindful Callback must be in e164 format. The ANI must be prefaced with +1. If a custom range of DNs is used instead, e164 format is not required.
If the call coming into the subroutine is a callback:
- Attach a new KVP named Callback with a value of Yes. This KVP can be used for agent screen-pop data or historical reporting.
- Set the call priority to the value of the v_Callback_Priority variable passed into the Subroutine.
- Delete the Cloud KVP. This will prevent additional callback treatment if the call is transferred to another queue with Callback enabled.
The final step of all paths in the Subroutine returns the call to the Queueing Strategy.
Call Flow Diagram
Callback Call Targets use a complete phone number for the inbound call transfer. Each Call Target represents a queue/skill/group, such as Sales or Billing.
The call flow example uses three example Call Targets with the following phone numbers:
- Support Call Target: 111-111-1111
- Sales Call Target: 222-222-2222
- Billing Call Target: 333-333-3333
(Optional) Consolidate return-call destinations
Expand the content below to learn about best practices for return-call routing when the same group of agents are spread out among multiple queuing destinations.
Configure consolidated return-call destinations
This integration guide has assumed that each Call Target is configured with a Call Center Phone Number leading to a single group of agents in your call center. However, in some ACD environments, the same group of agents are spread out among multiple queuing destinations. Since a Call Target is intended to serve a particular agent group, there needs to be a way to deliver callbacks and return-to-hold calls to a single destination that can ultimate route calls throughout the entire agent group.
You can configure a Call Target to send calls to a Call Center Phone Number that leads to a shared disposition destination, then make further routing decisions based on data attached to the call. This form of queue consolidation allows you to route return calls among multiple destinations representing the same group of agents.
How it works
Using a consolidated callback destination requires custom data to be passed to Mindful Callback with inbound calls to identify their ultimate return destinations. This can be done in two ways:
- Send the destination to Callback via SIP Headers. This requires that you configure additional Metadata Items for each affected Call Target. Or...
- Post the destination to the Mindful Datastore application, using the customer's ANI as the data key. This method can be used even when calls are delivered via the PSTN rather than SIP.
In either case, Callback will re-attach the custom data to the return call (whether it is a callback or a customer returning to hold) and deliver the call to a single return-call disposition destination. From there, you can use the custom data to route the call to the appropriate agent groups.
We recommend using different universal return destinations for callbacks and callers who chose to hold. The choose-hold destination is only needed if the Callback Offer or the End of Day Handling > Return to Hold settings are enabled.
Example
Consider the following example. Let's say you have the same agent skill assigned to different queuing destinations labeled 111, 222, and 333. You have a single disposition destination for callbacks and another for return-to-hold calls. In this case, the routing path for a callback could look like this:
- You identify that a particular new inbound call should ultimately be delivered to 333, so you attach that destination number to the call as custom data when sending it to Callback for treatment.
- When the time comes, Callback delivers the return call (a callback in this case) with the destination number still attached.
- When the call arrives at the callback disposition destination on your ACD, additional routing logic ensures that the call ends up with agents at 333.
- The appropriate priority is set, and the call is delivered to an agent.
(Optional) Offer Second Chance Callback
Expand the content below to learn how to make additional callback offers in your holding queue after a customer has declined the initial offer.
Configure Second Chance Callback
Second Chance Callback is a best-practice methodology that can increase the take-rate of callback offers and lower the abandon rate in your call center's holding queues. With a few updates to your routing logic, you can provide additional callback offers to customers waiting on hold who have already declined an initial offer.
There are a variety of reasons that customers might appreciate a second chance to accept an offer of a callback. For example, perhaps something has come up that requires their attention and they can no longer wait on hold. Perhaps the quoted wait time was low when they declined the first offer but queue conditions have quickly changed and resulted in a longer hold time. Regardless of the scenario, Second Chance Callback ensures that customers have the callback option available when they need it.
Benefits
Our research shows positive results for call centers offering Second Chance Callback, including:
- Keeping customers in control with additional options while holding.
- Reducing abandoned calls in the holding queue by offering an alternative option.
- Fully controlling Second Chance offers in your ACD with no integration constraints.
- Adding another tool to address unexpected increases in hold time.
- No additional requirements for customers. They are not required to respond to Second Chance prompts, but can instead simply continue to wait on hold if they choose.
ACD configuration
Most configuration for Second Chance Callback is done on your ACD platform, so the technical implementation will vary based on your integration. In all integrations, the following logic must be introduced to interact with customers in the holding queue.
- Whether offers are made in your ACD or in Mindful Callback, the process begins with the first offer. If the initial offer is accepted, then a callback is registered and no Second Chance offer is needed.
- If the initial offer is not accepted, callers are routed to a holding queue.
- A timer begins in the holding queue. When the specified time expires, another callback offer is made.
- If the customer declines the Second Chance offer, then the timer is reset, and another offer will be made when it expires again.
- If the customer accepts the Second Chance offer, the call is sent to Mindful Callback for treatment.
You can add logic into the routing script to limit the total number of offers made per call.
Things You'll Need
If you wish to use a single Call Target for normal inbound calls and Second Chance calls, you will need:
- Two Phone Numbers provisioned for the same Call Target.
- The Return to Hold Call Target setting disabled. Offering a hold option in Mindful Callback after a customer has already chosen to leave the holding queue can negatively impact the customer experience.
If you wish to use separate Call Targets for normal inbound calls and Second Chance calls, you will need:
- Two Call Targets configured with the same Call Center Phone Number targeting the same group of agents.
- The Return to Hold setting disabled for the Second Chance Call Target. The setting can still be enabled for the normal inbound Call Target.
For either method, you will also need:
- The ability to capture DTMF input from customers in your holding queue.
- The ability to play audio prompts to customers in your holding queue based on a timer.
Mindful Callback configuration
There are two alternatives for preparing your Mindful Callback account for Second Chance Callback. Each alternative introduces its own advantages and drawbacks.
- Option 1 (best practice): Use separate Call Targets for normal inbound calls and Second Chance calls.
- Option 2: Use a single Call Target for both normal inbound calls and Second Chance calls.
Option 1 (best practice): Use separate Call Targets
This option uses the first Call Target to service normal inbound callback requests with a second Call Target dedicated to servicing Second Chance callback requests. For an initial offer, send the call to the first Call Target. For a Second Chance offer, send the call to the second Call Target. This option separates the two types of calls for ease of reporting and real-time analysis.
Advantages | Drawbacks |
---|---|
Call Detail reporting is more convenient. | ECBT is not combined between the two Call Targets. Therefore, ECBT on the normal inbound Call Target may be lower than it should be, since the call volume from the Second Chance Call Target is not included in the calculation. |
Real-time monitoring clearly distinguishes the two call types. | |
You can enable the Return to Hold option on the normal inbound Call Target while disabling it on the Second Chance Call Target. |
Option 2: Use a single Call Target
The second option uses a single Call Target to service both normal inbound callback requests and Second Chance requests. This method is easier to configure and maintain, but it introduces a few additional drawbacks to consider.
Advantages | Drawbacks |
---|---|
Configuration is simpler. | When a Second Chance ASAP callback is registered, it will be placed at the back of the virtual queue or waitlist. This can result in customers who accept Second Chance offers waiting longer than they would have if they remained in the holding queue. |
Return to Hold should not be offered by the Call Target. This can affect your offer strategy for normal inbound calls, which may not be intended. | |
Reporting on Second Chance interactions requires additional steps. | |
Real-time monitoring combines normal inbound callback requests and Second Chance requests together. |
Reporting on Second Chance Callback interactions
As noted in the lists of advantages and drawbacks, reporting on Second Chance interactions varies depending on whether you use one or two Call Targets.
Reporting with separate Call Targets
On the Metrics, Executive Summary, and Call Detail screens, use the Call Target filter to view data only for the Second Chance Call Target. This will exclude any data from initial offers and callers that chose to hold. If you offer Second Chance for multiple lines of business, you can add all of your Second Chance Call Targets into a shared Reporting Category to view all Second Chance interactions.
On the Callback Status screen, review real-time statistics for the Second Chance Call Target or use the Category filter to limit the view to only Second Chance Call Targets.
Reporting with a single Call Target
When using a single Call Target, additional configuration is required and the reporting capabilities are limited.
Preparation:
- Provision two Phone Numbers in the Mindful Callback user interface, and assign both Phone Numbers to the same Call Target.
- In your routing scripts, send normal inbound calls for callback treatment to the first Phone Number.
- Send Second Chance calls for treatment to the second Phone Number.
Reporting:
- On the Call Detail screen, export the reporting data to CSV. In the exported CSV file, the Call Target Phone Number to which each call was sent will be noted in the Source column.
- In the CSV file, filter the Source column for all records matching the Second Chance phone number. The remaining data will include only Second Chance interactions.
When using a single Call Target, the Callback Status, Metrics, and Executive Summary screens will combine Second Chance interactions with initial offers and callers that chose to hold.