Amazon Connect Emergency Notification System

Emergency Notification?

There are a number of use cases for an application that can process a list of contacts to be notified by voice message of an impending event.  The event may be an emergency or  a notification of a community activity of interest to the list subscribers.   Even an appointment reminder falls into this category, so it is not necessary to have an actual ’emergency’ to have a requirement to mass notify a subscriber or customer group.

Basic Functional Spec

We had need of a “campaign dialer” like a solution and we found that all the parts we needed were available in AWS and Amazon Connect.   We hammered out a basic functional statement that had the following features:

  • The application requires the admin to authenticate;
  • A facility exists to record a new message to be played by the dialer;
  • The Dialer had to be able to simultaneously dial a large number of list members by contact group code;
  • The called individuals could enter a response code  to enable a transfer or follow up action (press 1 to transfer to an agent, Press 2 to reschedule,  etc.)
  • All contacts would be coded as notified even if they hung up, to eliminate redials.
  • A facility exists to reset the database in preparation of a new campaign.

The resulting solution contained the following modules:

  • Dialer Setup Module: (Authorization to use the notification system; Menu to reset database,  record new outbound voice message and initiate outbound campaign
  • DynamoDB table to contain the subscriber or customer list with associated fields to support the application (subscriber name, zip code, result code, etc.)
  • Lambda functions to read/write subscriber database and record audio to prompt file
  • Administrator notification of campaign dialer status through SNS

The solution is coded with four contact flows that enable group alerts to be sent simultaneously.  The AWS services used include Amazon Connect, DynamoDB, Lambda, Kinesis and optionally SNS. Depending on your contact center soft limits, the dialer will contact a minimum of 50 subscribers per phone call.  The following video details the configuration and the entire application is available in the DrVoIP.com store including the lambda functions and sample DB configurations.

 

 

Agent Step-by-Step Guide

Amazon Connect Agent Scripts?

We have been very impressed with Amazon Connect’s growing move into an embedded CRM.  Customer Profiles and Cases are powerful capabilities that are now integrated in the “pay only for what you use” cloud based contact center.  Recently, Amazon has added “step-by-step” Agent guides!  This powerful new functionality brings “one call” customer problem resolution from concept to reality.    It offers a unified experience for contact center agents to access the tools they need to address customer calls effectively.  Each phone call can generate  a screen pop of information resources.   These information or action resources can be tailored  for each queue.  This sample screen shot illustrates what might be presented to an Agent in an Airline who might handle reservations and claims for lost luggage!

Step-by-Step Agent Guides

Using the existing contact flow designer, you can configure “cards” (picture above”) that prompt the agent through how best to handle a customer request.  You can create detailed views, forms and confirmations that kick off back end actions!  No longer is it necessary to open a separate  browser tab to update your CRM, this can all be handled by the back end functions lunched from the guides.

Give us a call to setup a demo or to discuss how this amazing new set of productivity solutions can assist in achieving your contact center vision! – DrVoIP@DrVoIP.

WTF is a DNIS Map?

Route by DNIS?

A common call center request is to provide a custom greetings or route a call to a Customer Service Queue (aka CSQ) based on the number the caller dialed.   DNIS or “dialed number information service” is usually the solution to this request.   Typically you create a database table in which the index is the DNIS.  In this way we can pull back all the information we need to greet and route the caller.  The solution consists of mapping a DNIS number to a contact flow that has a lambda function that looks up the greeting and routing details in the database referenced the function.DNIS MAP

Assign the incoming DNIS number, actually all incoming numbers should hit this contact flow, and we do the usual setup.  Turn on logging which is very useful during testing and you can turn it off later to save a few pennies.  Set up recording, preferred voice and then invoke the lambda function that will retrieve the desired greeting and routing information.  It is a good practice to set the contact attributes so that you can easily reference the returned variables in subsequent contact flows and to make them available for the CTR records and potential screen pops.

Contact Attributes

Clicking on the “Set Contact Attributes”  call flow step in this example we get the following:

Contact Attributes You can see that the lambda function is pulling back two variables from the associated database tables: queueId and flowId.   in the above contact flow, after we set the contact values, obtained from an “External” database  we”transfer to flow”.   The external flowId points to the flow we want this DNIS to be used for follow on call handling.

The flow will eventually transfer to a queue, which we obtained from the same “External” database. Like the flowId, the queueId is now a “user defined” value. No reason you could skip the “set contact attributes” step and just use the $,External.flowId but by the assignment and the use of $.Attributes.flowId we associate the value with the CTR and make it more easily available for screen pops etc.

(see the blog on should I route to a queue or route to a flow?)

Additionally we could also pull back any other information we might want that would change based on the number the caller dialed. For example a customer greeting.   Did the call the Kin-sue Knife help line or the Hotel reservation line?   Maybe this is an Executive suite application in which the operator has to answer “thank you for calling <yourcompanyname>.

Advanced DNIS Routing

It may be that we want to route the caller to an IVR Menu of options based on the DNIS. You can easily handle this by the flow you route the caller to, but do you really want to do the newbie “copy and save as” to repeat the same contact flow for each DNIS?   There is now reason why the database can point to a generic IVR flow.  The generic IVR menu would have menu options that are variables that might be named “optionOne”, “optionTwo” etc.   These options would be defined in the database and in this way, each DNIS could point to the same IVR based contact flow but the menu prompt and all the options would be obtained via the lambda function from the referenced database.

This solution along with the Lambda function and Video tutorial is also available in our online store!

As always we would be glad to assist with this solution just click or call! – DrVoIP@DrVoIP.com

 

 

 

 

Adding Video to your Amazon Connect Contact Center

Why Video?

If a picture is worth a thousand words then a video is an encyclopedia of information!   I remember a team building exercise in communications in which all the team mates sat with their back to the grease board at the front of the room.  Each team mate  had a blank sheet of paper and a pen on their desktop.   Another team member drew a simple share on the grease board and then described it verbally to the rest of the team.  Instructions included how to orient the paper and a verbal map of how to replicate the grease board drawing was narrated.   It was amazing how many different versions of the illustration were created by the team with verbal descriptions from the team artist!  No two alike!

So now put yourself in a technical support contact center listening to your caller describing how they have the yellow cable plugged into the thing next to the other thing?   How more effective would it be if the help desk technician could see the wifi router the caller was trying to install.    One call resolution time would be reduced,  average holding time would be reduced and SLA’s would improve as agents spend less time listening to caller descriptions and more time seeing issues enabling them to handle more calls and solve more problems more quickly.

Mobile Video Chat!

Enabling a link on the company website that opens a chat session with a customer service representative in your call center has always been possible with Amazon Connect.   Now with the aid of AWS Chime, you can escalate a keyboard chat to a video call complete with audio!  You can also push the chat link out to IOS and Android devices, making it possible for mobile video solutions.    Insurance companies could see real time accident reports.    Contractors could quote jobs more quickly, reducing time by eliminating site visits in favor of  video ‘meet ups”.   Telemedicine is also a rich vertical for video in the call center.

Video for Amazon Connect Contact Centers

Integrating video into your Amazon Connect contact center is relatively straight forward.   The solution makes use of a custom CCP, Chime SDK and a bit of serverless code on the back end.    Agents are alerted to an incoming request through the Amazon Connect chat facility using LEX to orchestrate the dialog and gather preliminary data from the caller.  Once the chat is connected between the caller and the agent, both have buttons to escalate to video.

REQUEST  A DEMO

If you would like a demo of this functionality, send us a request and we will send you a link. DrVoIP@DrVoIP.com

 

 

 

 

 

 

 

Amazon Connect Call Center Frequently Asked Questions!

We offer an illustrated Detailed Planning guide for outlining the issues you need to should consider if you are designing a new Amazon powered Call Center.   Here you will find answers to the most often asked questions about AWS services in general and Amazon Connect Call Center in particular!

  1. DrVoIP Amazon Connect for the Business Manager

    1. What makes up a Basic Amazon Connect Call Center?
    2. Amazon Connect Discover Questions for Call Center Planning
    3. Amazon Connect Planning Questions
    4. Amazon Connect Historical Reporting Options
    5. The ROI and TCO when using the Dextr Dashboard
    6. Amazon Connect Check List
    7. Amazon Reporting Elements
    8. Understanding Amazon Connect Billing
    9. Amazon Connect & Dextr.Cloud Agent Dashboard
    10. Dextr Dashboard offers Historical Reporting 
    11. Three Minute Video Overview of the Dextr Dashboard for Amazon Connect 
    12. What are “soft limitations” on new accounts?
    13. Advanced Post Call Survey strategies 
    14. Speech Analytics now a standard part of Amazon Connect and Dextr!
    15. Enable Agent to leave pre-recorded messages when reaching Voice Mail on outbound dial

    DrVoIP Amazon Connect for the Technical Manager

    1. Amazon Connect Basic Configuration Tutorial
    2. Amazon Connect Custom integration Tools
    3. Amazon Connect Configuration “tips and tricks”
    4. Tech Tip – Understanding LEX BOT Versioning and Alias 
    5. Deep Call Back from Queue without losing your place in Queue 
    6. Simple, Cheap and useful Voice Mail Solution 
    7. Is Today a Holiday Check?
    8. Amazon Connect “Forced Release” Options 
    9. Amazon Connect building prompts with Polly
    10. Building Conversational LEX Solutions
    11. Amazon Connect Call Back from Queue Options
    12. Email Routing in Amazon Connect
    13. What are “Soft Limits”
    14. Building Custom CCP for CRM Integrations
    15. Custom CCP example using start/stop/resume voice recording
    16. Custom CCP to enable Agents to change their outbound Caller ID 
    17. SMS Inbound request for call back 

    DrVoIP YouTube Channel – Complete Amazon Connect Configuration training!

Summary

We have yet to find a Call Center requirement we could not implement with Amazon Connect and the every growing library of Amazon Web Service solutions!  If you can imagine it, we can implement it.   Let’s put our heads together and construct a call center that meets and exceeds your call center requirements!   We deliver on time, on budge with the highest customer satisfaction scores!

Contact DrVoIP@DrVoIP.com or call and ask LEX for the Doctor and we will send you a copy of our design and planning guide.

Amazon Connect – Start/Stop/Pause/Resume voice recording?

Recording and Analytics

While configuring Amazon Connect contact flows you will find a “SET Recording and Analytics?  step that you can make use of to set the voice recording behavior.   When you set the recording behavior you select recording only one channel or both the Customer and the Agent.

LENS Speech Analytics

In addition to setting the recording behavior you can switch on LENS a transcription and comprehension service.  This service is typical of call centers as they manage to improve Agent performance and customer satisfaction.   You also make a choice between post call transcriptions or real time subscriptions that can be used to alert supervisors to a real time need for interaction.

 

Start/Stop/Pause/Resume

 

Often for reasons of compliance  HIPA or PIC for example you might want to turn off voice recording while personal data, like credit card information, is being provide.   To do this, it will be necessary to create an extension to the CCP to enable the buttons need to effect the feature.    The clip below reviews a customized CCP we created to handle several features including the start/stop recording API as published.

Give us a call and let us help you with this requirement!  DrVoIP@DrVoIP.com 

 

Amazon Connect – Play Pre-Recorded messages to remote Voice Mail?

Recorded Message Use Case

In an outbound  call center an agent may make several hundred phone calls each and every working day.     When the person they dialed does not answer and the call is forwarded to voice mail, the Agent leaves a message requesting a call back indicating who to call and at what number?    The message is most likely very similar for each called party, requiring the Agent to be enthusiastic and engaging for each message left!

Is there a better way?

There is a cheap and dirty way to do this!   Each Amazon Connect Instance has a “Default Outbound” contact flow.   This contact flow is used for all outbound calls even if you do not specify it.  In fact you cant specify it, or an alternative.  Usually in contact flows, you can do a “save as” on any of the sample or default contact flows and then reference them in your own contact flow designs.   The Default Outbound contact flow however can not easily be used n this way.

What you can do is modify the outbound contact flow and add a “set disconnect” step in that contact flow.    This step is activated when the Agent hangs up and the outbound line is still up.   In this use case, the “set disconnect flow” point to a simple contact flow that has  “play prompt” which contains the message you want to leave in the called parties voice mail box.  The agent, hearing the call has been forwarded to a voice mail, simply hangs up!  The contact flow then plays the prompt asking for a call back!  Cheap but very workable!   (This is a video clip that reviews this configuration).

Note: The Lambda function in this configuration is to support a different function, that of selecting the Caller ID the agent wants to display to the called party.  You can see the details of that configuration at this link.

How about multiple message play options?

What about enabling the Agent to select from multiple messages?  Can each Agent have their own pre-recorded messages? The use case would be the same as configuration as above, but with a couple of changes.  The first change is we need to create a custom CCP that would have the buttons we need to indicate which message the Agent wants published to the called party.  This might be individual buttons or it might be a drop down list of available numbers.    Secondly, we would need a lambda function to retrieve the messages from a Dynamodb table prepared for this purpose.

The following video reviews how this configuration might work with a customized CCP.

Give us a call or email DrVoIP@DrVoIP.com if we can help you with this function!

 

Amazon Connect – Setting Caller ID and Name for Outbound dial by Agents

Amazon Connect Caller ID Name and Number basics!

Historically, the only caller ID you can send, is that of a phone number that actually appears on your Amazon Connect instance.  This has now been modified and AWS will let you send the CID of a number you can prove you own.   Lets assume you want to send the CID of your company’s main number when agents make an outbound call.  Open a ticket with AWS support, include a copy of the phone bill proving you own the number, and they will let you display that number in your outbound CID.

The following are strategies for selecting the desired CID on outbound calls.

 

Routing Profile impact on Caller ID

Each Routing Profile associates a User or Agent, with the Queues that they should be a part of.  A Routing profile may contain one or more Queues which can also be used to determine the priority in which calls should be answered by an Agent.  Assume that an Agent is a member of a routing profile that contains both Technical Support and Customer Service Queues.   Given two inbound calls, one for each Queue, which call  should be presented to the Agent?   This is determined by routing profiles priorities!   Also note that the Routing Profile indicates which Queue – read Caller ID – should be used when an Agent who is a member of that routing profiles makes an outbound call.

Dynamic Caller ID Strategy #1

It is possible to set the Caller ID by editing the ‘Default Outbound” contact flow that is called for each outbound call that is dialed.   This Contact Flow determines what the recording status is, names a possible disconnect flow and it also indicates the caller ID to be used for this call.  This is set by the Call Phone Number step in the contact flow.   You can hard code a number here and it will over ride the settings established in the Queue and Routing Profile configurations.

Dynamic Call ID Strategy #2

How can we set the caller ID on a call by call basis?  Is there a way for an Agent to set the Caller ID each time they make an outbound call?  The simple answer is yes.   You will need to create a Custom CCP, a Lambda function and a Dynamodb table. AWS publishes an API for dynamically setting the caller ID that will help create the configuration, but you will still need to create a modified soft phone or CCP.

 

The above video shows how this might work in a real world application.   The Agent is presented with a drop down list of all the numbers that are attached to the Amazon Connect Contact Center.  The Agent selects the desired number and places the outbound call.     Give us a call or email DrVoIP@DrVoIP.com if you need some help getting this designed and deployed!

URGENT NOTE on WIRELESS CARRIER CALLER ID,

Each outbound call is controlled by several factors:  First each queue has a setting that enables you to select an existing number for Caller ID.  It also enables you to display a Name.  The name however, must be set in a National database and to do this, you will need to open a technical support request with AWS.  They will manage the database update but you will need to provide the following details:

1) It is important to note that the calling name has the restrictions: no special characters, and will appear in all capital letters. Given that, please provide: a) Up to 15-Character desired Calling Name to be displayed (limit on wireline is 15) b) Up to 25-Character desired Calling Name to be displayed (limit on wireless is 25)

2) Name of business, city and state (if city and state are left blank, there are circumstances when the NPANXX of the dialing number will appear instead)

3) Type of business (technology, government, utility, etc.)

4) Type of usage for the phone number (survey, customer service, etc.)

Support will alert you when the CNAME has been associated with your selected number.  Please bear in mind CNAM services is a best effort service and the limitations are on the carrier side not Amazon Connect. AWS (nor can any other vendor)  cannot guarantee on the wireless network that the call will propagate since the wireless carriers at this time control the propagation of the CLI name on the B Number (end user receiving the call ). As for wirelines, CNAM will work well, meaning a call made to a wireline device, the CNAM name will propagate.

In order for wireless consumers to see the correct caller name on their device, they will need to be subscribed to the caller name app of their carrier. While personal and business landline phones have caller name as a default, the wireless industry requires the user to opt-in or subscribe to their carrier caller name service in order to see the caller name on their display. Below are links for the major wireless carriers and the details on how to subscribe to Caller Name on your mobile device. Note that T-Mobile now offers this service for free, no subscription required, however the user still needs to manually opt-in/download the Scam Shield app.

Verizon Call Filter levels:

  • Subscribers with Call Filter Plus – Caller Naming enabled as a paid service.
  • Caller Name expected to display. Subscribers with base Call Filter – Caller Naming not enabled, however Verizon works to “promote” Caller Name, for emergency numbers, like COVID numbers.
  • Subscribers with no Call Filter – Caller Naming not enabled. Verizon unable to provide/promote Caller name. Number only expected as the display

 

 

 

 

 

 

 

 

 

Amazon Connect Transfer to Queue or Transfer to Flow?

When to Transfer to Flow and Why?

A typical call flow might have a caller reach an IVR Call Tree that offers options to reach different departments and workgroups in your company.   “Thank you for calling, Press 1 for Sales, Press 2 for Customer Service and Press 3 for Administration” as boring as it might sound, is a typical call tree self navigation audio instruction prompt.  Let’s assume the caller presses 1 for sales,  do you “transfer to flow” or “transfer to queue”?

Transfer to Flow?

A flow enables  you to string together a number of setup options that customize the callers experience and enable different call handling options.  For example, you may want to reset LENS, change recording behavior, change voicing, set contact attributes and set the queue hold flow.   These options would not be available if your set the working queue and then transfer to queue from the main IVR menu, robbing you of the opportunity to establish a unique caller experience.

 

Transfer to Queue

You will notice that within the Customer Queue flow, there is not option to transfer to another flow!   There is an option, however, to transfer to another  queue.  You will also notice that this is one of the times you can transfer to queue without first setting the queue!    Assume you have a caller in the “customer service” queue hold flow and periodically you offer them the the option to transfer to another queue.  More likely, you may have a loop in the wait time that after an extended time transfers the caller to a “high priority” queue.

Generally, you will always transfer to flow and only use transfer to queue within the main contact flow or the queue hold flow!

Fun Fact: Brain Teaser Question:   What is the queue hold flow that the caller will be associated  with when they transfer from the “customer service” queue hold to the “high priority” queue using the transfer to queue flow step?

 

 

Dextr configures Amazon Connect Voice Call Recording by individual State Law!

To record or not to record, that is the question

It is very common to call into a contact center and he the warning message “You phone call may be recorded to improve customer service”.   Sometimes you might even hear “Press 1 if you do not want your call recorded”.    Each of the States has a law governing the recording of telephone calls.  In some states, only one party in the conversation must consent to recording.  In other states, both parties must consent to the recording.

One-Party Consent States

Alabama, Alaska, Arizona, Arkansas, Colorado, District of Columbia, Georgia, Hawaii, Idaho, Indiana, Iowa, Kansas, Kentucky, Louisiana, Main, Minnesota, Mississippi, Missouri, Nebraska, New Jersey, New Mexico, New York, North Carolina, North Dakota, Ohio, Oklahoma, Rhode Island, South Carolina, South Dakota, Tennessee, Texas, Utah, Virginia, West Virginia, Wisconsin, Wyoming.

All-Party Consent States

These states clearly or potentially require consent from all parties under some or all circumstances:

California, Connecticut, Delaware, Florida, Illinois, Maryland, Massachusetts, Michigan, Montana, Nevada, New Hampshire, Oregon, Pennsylvania,  Vermont, Washington

Note that in many states, consent requirements only apply in situations where the parties have a reasonable expectation of privacy (e.g. not in a public place). Further, what constitutes “consent” in a given jurisdiction can vary in terms of whether it must be express or can be implied based on the circumstances.

When and How to Control Contact Center Recordings?

Dextr will compare each incoming phone number, extract the area code and map the area code to the State that matches that area code.  Based on the state law, Dextr will reconfigure your recording to either be “Agent only” or “Agent and Customer”.  You have the option of playing  prompt to the caller that indicates the status of your recording.  This option can easily be applied to both inbound phone calls and outbound phone calls!

Save 80% on Amazon Connect Design and Deployments

We build Amazon Connect Call Centers, Chat Bots and Speech Recognition based customer experience management solutions.  We do this for a fixed price, on time and on budget using Dextr the omni-channel wrapper for Amazon Connect.  Dextr enables you to significantly reduce the cost of design and deployment!  Give us a call at 800-946-6127 or email us at CustomerCare@Dextr.cloud – DrVoIP