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

 

 

 

 

 

 

 

Building an “Appointment Reminder and Phone Tree” using Amazon Connect!

The Phone Tree Concept

Phone Tree’s are have a wide range of use cases from emergency notification alerts, to social function meeting announcements and even appointment reminders!   The generic functionality of this “Phone Tree” application, however, is similar in each use case.  Generally, we want to place an outbound phone call to numbers that are in a database, play a recorded announcement, prompt and collect digits, update the contact list and even allow the caller to be transferred to a live agent, BOT or message center.

Example Application: meeting alert and dinner reservation!

In this example we want to contact all the members of the club and inform that that a dinner meeting is planned for a specific data and time.   We want to know how many members will attend both the dinner and the meeting.   The recorded announcement might be something like ‘The White Hat Hacker club will meet this Friday evening at the clubhouse at 7PM.  Dinner will be served at 6PM and a reservation is required.  Please press 1 if you are planning to attend the meeting and the dinner, press 2 if you are attending the meeting only, or press 3 to indicate you will not be in attendance at this meeting”.     We also want to report the results of this survey to the meeting management via an email when all contacts have been notified.

This functionality could easily become an appointment reminder for a medical clinic.  The clinic wants to alert all patients that have an appointment for tomorrow to be reminded of that appointment.  This would use the same Phone Tree application and work the same, but the message might be a bit different: “This is Doctor VoIP’s office reminding you that you have an appointment tomorrow. Please press 1 to confirm the appointment or Press 2 to speak with a scheduling co-ordinator”.

Basic Configuration elements:

To get his application working we are using two major contact flows, a dynamoDB table containing the numbers to be dialed and three lambda functions.  The lambda functions include the outbound dialer API, the reset database and the update database functions.   The contact flows are used to validate the credentials of the dialer administrator, reset the database for fresh calls and to initialize the dialer function.  The second contact flow is the contact flow that plays the outbound announcement, prompts and collects digits and then updates the database.

  • DynamoDB Table – Minimally the table contains the number to be dialed and the status code.  The dialer looks through the table list for entries that have a status code of zero.   The table is updated with a new code based on the digits collected from the caller, or it marks the table with a status code of 3 to indicate the caller was contacted but did not enter any digits.
  • Lambda dialer function ( DrVoIP-InitiateOutboundCampaign)  (i.e.  – reads the database and once the caller is dialed, transfers the caller to the contact flow that plays the announcement and collects the responses.
  • Update database function – each phone call requires the database status code to be updated,
  • Reset the database to zero  function – Sometimes the list may be used more than once.  For this reason we want to clear the current status code before initializing the dialer. Clearing the database resets all entries to a status code of zero.
  • Contact flow Authorize Dialer – this is a simple contact flow that first asks the caller to input their ID number and PIN.  This is done to validate the caller is authorized to initialize the dialer.  Once validated, the application asks the caller to press 1 to initialize the database to zero or press 2 to initialize the dialer.   Pressing 1 launches the reset database function to mark all entries with a zero status code.  Press initializes the dialer and enables all entries with a status code of Zero to be contacted.
  • Contact flow Announcement – this simple contact flow plays the announcement to the called party and prompts them to enter a digits in response.   The digit is used by the update database function to set the status code equal to the digit entered by the caller.
  • SNS – Simple Notification System is used to send a summary of the dialer results to anyone subscribed to the SNS notification.  In this application we are using SNS to send an email to the meeting managers with a count of dinner reservations!

Improvements?

The application described above, works well and gets the job done!  Sweet and simple, but what can we do to improve this application?   Currently the outgoing announcement is hard coded in a ‘Play Prompt’ contact flow step.   We have the option of enabling this to be a contact attribute that reads in a new prompt each time!  Optionally, we could implement a “record to file” solution enabling someone to call in to the authorization contact flow and record a new announcement!

The dialer database is also manually maintained.  It would be useful to enable either the table to be uploaded or to have a web administration interface so that folks do not have to have access to the AWS Management console to make use of the application.   If you are using a CRM package, it might be better to have linkage to an external database.

 

Give us a call and we can implement this application or talk about building you a modified version!  – DrVoIP

 

 

 

 

 

 

 

 

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 – 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.

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/

 

 

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 following 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!

 

 

 

 

 

 

What exactly is a Contact Trace Record?

Exactly what  is a CTR?

Amazon Connect creates a “contact trace record” with a unique “contact ID” for each phone call in or out of the contact center.   Older legacy telephone folks would call this a SMDR or CDR (station message detail record or call detail record) but Amazon calls it a CTR.  The end result is the same, it is a record of the details of every call made or received into the system.    From within Amazon Connect you can search for these contact records through the dashboard in 14 day increments and review the details of each record.   Amazon keeps the CTRs for 24 months in a secret location that you can not access and for which no API currently exists!    You have two options:  First, search for them using the dashboard in 14 day increments  or setup a kinesis stream and a consumer to send CTR records to an S3 bucket or some other data lake for later review.   The basic CTR is ugly but it does have a great deal of useful data and all the more reason to make it more easily accessible!  Even if you were to save the CTR records you would then need to write a custom report generator to take this data and make it human readable to fit your reporting goals!

Dextr has an Activity screen that captures all of this information and makes it available in human readable format!

 

 

Amazon Connect CRM Integrations and Custom Phone (CCP)

Call Center Integration

It is rare to find a call center that does not have an integration requirement.  Sometimes the integration is with a popular CRM package like SalesForce, ZoHo, FreshDesk or SugarCRM.   Sometimes the integration request is for some internal Intra-net accessible database unique to the client and their work process.  In all cases, we still have to have an Agent interface to manipulate the telephone and that is where building a customized CCP or softphone interface becomes necessary.    There are multiple ways to do this, but the simplest way is to create a marriage of the data sources in a single webpage served up by a simple website. basic Integration Concepts

The most popular requests are to “pop” a customer record on incoming phone call.  Which Customer record?  Well we can take the incoming caller ID, the number dialed (i.e. DNIS) or prompt the caller to enter some information that could be used to uniquely identify the caller.  Caller ID can be helpful, but more times than note it is wrong.   The contact record in your database might list the callers main company phone number, but they are calling using their cell phone or a DID number within the internals of the company.  For this reason it is always more accurate to prompt the caller to enter an account number, or ticket number.  The system would capture that number in an Amazon Connect Call Center deployment, as a “contact attribute’ which can travel around the system as kind of a “post it” note.  This note could be seen by all who interact with the caller and an agent could even update the information.  Ultimately all of the telephony related information could then be transfered to the CRM system.

What is an API?

How is the information transferred to the CRM?  Again that will depend on the CRM platform provider.  Most of the popular CRM platforms have an ‘application programming interface” that enables third party applications to perform some level of CRUD or create, read, update and delete contact records.   These API’s are generally of the RESTful variety, a webhook that enables an application invoking the API to POST or GET some information streaming between the two applications.

Why a Custom CCP?

Generally, we want all the information the agent requires to manage the callers experience, immediately available and in a single display.  Most moder systems are Browser based and that interface is basically a WebPage.   In the case of Amazon Connect we can create a simple static website that lives in an Amazon S3 bucket to handle this “marriage”.   Below is an example of a custom CCP softphone for Amazon Connect.   The website hosting this page draws from Amazon Connect and could be configured with a note filed for example.   The Agent would see a lot of information about the caller when the call is presented to the Agent and the note field would enable them to add information about the phone call.  Drop down lists, “disposition codes” and other related document artifacts could be added, all saved and available for further processing.  Even though it has many moving parts, this is the simplest of the integration solutions.

Stepping up the Integration

In the simple integration, we would have a secondary process act on the updated information.  We would create some Lambda functions to note the update and the move the content to the CRM through the API of that platform.   Optionally, we can get more sophisticated and have a much more dynamic and “pretty” user interface.  When we start getting into dynamic websites, we move to a more complex environment than a static S3 bucket can provide.   Most likely we would  have to create a full blown web server, built out on an EC2 instance and you can always spend more money on making the user interface dynamic, flashy and friendly!  That is where a good “front end” developer comes into play.  As a group of  node.js developers we focus on the back end connectivity, but always eager to improve the user interface.

At the end of the day, you have to assign budget to functionality.   Getting a basic working integration between your call center and your business process CRM or internal Intranet datastore is one set of issues.  Stepping up the integration to enable more dynamic, colorful, helpful and friendly user interface is another set of issues.  Lastly, this all has to be maintained as a “living and breathing” entity that requires constant care and feeding.    So make sure you budge for ongoing support!

Summary

AWS has an amazing library of technology and infrastructure solutions that can be harnessed to meet the requirements of anything you can envision.     We welcome the opportunity to guide you through your integration journey!  Give us a call and together we can figure out what is the best strategy to move your enterprise and call center to the next level. – DrVoIP@DrVoIP.com

 

 

 

 

 

Amazon Connect “Auto Post Call Customer Survey”?

Most frequently asked Question about Amazon Connect this week!

At a time when we are buried building “work at home” solutions a question has surfaced as being the most asked question of the week!  Can you write a script that provides “after call” customer evaluations?   The challenge with after call surveys is that they need to be automated with no Agent transfer required.  Why would an Agent transfer an obviously unhappy customer to a post call survey?  The only callers the Agent will transfer are callers who are obviously happy with the manner in which the Agent handled the call.   The requirement is that after the Agent hangs up, the customer previously selected for a survey, is automatically transferred to the survey solution!  (Special thanks to Gordon Campbell Dextr.Cloud CSO for bringing this issue to the table)!

Can we automate the after call survey?

The fact is, using Amazon Connect it is very possible to automate the after call survey.   We have created a solution in which some percentage of inbound callers are auto magically transferred to the post call survey dialog.   The solution can be very simple or implemented with more complex options.  In any case the solution will most certainly involve several other services from the AWS pantheon of technology infrastructure solutions:

  1. Clearly you need an Amazon Connect Instance configured with the DrVoIP Post Call Survey script
  2. A decision needs to be made as to how many calls should be transferred to the survey as a percentage of the total call volume.  From 1-100% are possible.
  3. A decision needs to be made as to the customer answer collection technology.  Are we going to use LEX as a Speech Bot to collect the callers survey response, or is a good old “press 0-9” input acceptable?
  4. The actual survey questions have to be scripted and need to map to either a LEX Intent/Slot or a Touch Tone value.
  5. A lambda function(s) will need to be created to write the results to a database.
  6. A database for the results needs to be available to host the responses by caller.  Left to our own design we would make use of DynamoDB but you can make use of any database you prefer.
  7. A report generation and administration resource needs to be created.

As it turns out the automation of the post call survey transfer was solved and we can do this with little modification, if any, to your Amazon Connect existing contact flow scripts.   The above list, however, determines how much time and effort is required to do provide this facility.   In fact, some folks already have a survey solution and the only requirement is to transfer the caller to that solution.    If we have to create a solution then the complexity of the solution is determined by the answers to the questions and decisions posted above.  For example, using LEX is certainly a real possibility with real benefits. Speaking is always better than hunting and pecking a touch tone input device.   Reading and writing to a database is also not that demanding of a task, though it does  take some time to create reusable functions that are not restricted by the number of questions asked.

The Report Generator!

Actually, the last item is the big expense.  You can have a simple and utilitarian GUI interface to setup the survey questions and report the results.  Using S3 and simple static HTML interface works just fine, but is not as fancy as having a GUI with all the latest flashing and dynamically changing “on click” options.

Survey Options

We have been able to randomize the questions asked, which is a nice feature.   Noting if the caller has already taken the survey in a previous call is also doable.  We are always learning new requirements and when we think we have heard them all, someone comes up with another request!    We actually enjoy the “stump the vendor” game, so please do not hesitate to ask us for features that you dream up!   Post Call automated customer surveys  are most certainly within the scope of what you can do with Amazon Connect!  Just give us a call and we can scope it out in no time!  – DrVoIP@DrVoIP.com

 

 

Amazon Connect Configuration – Tutorial Video!

Basic Amazon Connect Configuration Guide

If you are interested in learning how to configure Amazon Connect, this guide will walk you through the complete call center configuration!  The guide will be in three parts. Part 1 will cover Basic configuration and has over 1 hour and 30 minutes of instructional content.   You can also download “DrVoIP Amazon Connect Quick Start Contact Flows” that will be used in the tutorial and will also be of assistance in the design of your own call center.

DrVoIP Amazon Connect Quick Start Tutorial Contact Flows

Amazon Connect Advanced Concepts

Part 2  below covers  Advanced configuration options including building a couple of “dialers”,  Lambda functions and DynamoDB database applications.  We will look at contact attributes and  the role they play in apple  integration.  We will also take a look at SSML for text to speech, building a “dial by name” directory.

 

Part 3 will continue with the Dialer overview and trouble shooting tips.

 

Amazon Connect – Can Agents log in and out of individual Queues?

Agents in Multiple Queues

One of the more requested features among call center managers is to freely move Agents in and out of customer service queues!   In Amazon Connect, routing profiles associate agents with queues.  If Agent Gandalf DeGrey is a member of the Technical Support team and also a member of the Customer Service team he would most likely belong to a call profile aptly named “TechSupport&CustomerService” (Voice and Chat).

Queue Priority

Call Profiles not only associate the agent with the queues that they engage customers through, but they also enable you to set the priority of each queue.  If Gandalf is able to server both queues and both queues have callers waiting for an Agent, which caller will Gandalf be presented with when he again becomes Available?   The answer to this is based on the priority established in the routing profile for each queue in the profile.   It may be that Gandalf is particularly skilled in the area of Technical Support and it has been determined that he should answer these call request first and only handle customer service calls when the Tech Support queue is empty.   This is handled by configure the routing profile in such a way as to favor technical support callers.

Call Profile or User settings determine Priority?

So do we set the priority based on the user or in the routing profile?   The fact is that the call routing profile determines the priority of calls processed by the users configured in that call profile.  This is a powerful tool that enables a great deal of options in the configuration of call handling goals.   Contact centers are living dynamic  entities that change the level of demand by the hour, the day of the week and external events of the day!  There is not a staff for-casting solution that can cover the impact of the days events on a call center.  For that reason, we need a way to dynamically reconfigure our work force to meet the demands of the day.

Can you move an Agent between Queues?

We created the Dextr dashboard feature set to enable options that most call center managers demand.  Being able to move an agent between queues to reconfigure the call center to meet the demands of the day is most certainly an essential management tool!   The Dextr dashboard for Amazon Connect enables you to quickly reconfigure your agent pools easily with a few key strokes by those with the required permissions.    The Dextr dashboard has a user management TAB and enables you to easily move users between queues!

Creating Matching routing profiles

In this example, Gandalf  is in the “TechSupport&CustomerService” (Voice and Chat) profile that enables him to handle calls for both Technical Support and Customer Service.  Events of the day are such that we need Gandalf to service only Technical Support callers.  To enable this, there would be a Technical Support call profile that only serves callers to that queue.  Agents that are assigned to this call profile will be fully dedicated to the Technical Support Queue.

To effect this change, click the User TAB and select the agent management wants to reconfigure.

 

 

Then select the the call profile you want to assign that agent to and save your change.

 

The DexterDashboard enables the call centers most required features available to Contact Center supervisors.   Head over to https://DexterDashboard.com and sign up for a free trial of 15000 minutes of usage.  Try before you buy and pay only for what you use1   Tell them DrVoIP sent you!