How can an Agent Originate an SMS message in Amazon Connect !

Pinpoint SMS

For some time now, you have been able to channel SMS messages through the Amazon Connect CHAT API, using Pinpoint services.  Typically, you would create a new project, enable SMS and then use SNS to trigger a lambda function to handle your SMS conversation.  Most recently, AWS has created Pinpoint SMS, a dashboard that enables you to directly integrate SMS services into your Amazon Connect instance, appearing like any other phone number.   This enables you to capture an SMS event directly to a contact flow eliminating the need to use SNS.

How to Originate an SMS in Amazon Connect?

Getting an inbound SMS message into the call center and routed to the next available agent in a specific queue has been a feature for some time.  As high lighed above, it is now even less complex as we can eliminate the use of SNS, enabling a contact flow to trigger the  lambda function that would handle the SMS session.   The real trick, however,  is how can an Agent originate an SMS message?   If an agent could originate an outbound SMS message, how would the return message be routed back to the agent who originally sent it?

Origination Options?

In this blog we will consider three different strategies that enable an Amazon Connect Agent the ability to ORIGINATE an outbound SMS message.  As noted above, responding to an inbound text message is well documented but originating an SMS message is a real challenge!  (Figuring out how to route the return message to the Agent that originated the message, is yet another challenge! )

  • Option 1 – User a TASK Template
  • Option 2 – Create an HTML Form
  • Option 3 – Create an Email to SMS solution

Each option is successively more complex to configure, each requiring additional AWS services including Lambda and ultimately DynamoDB tables.    Lets take these options one at a time and hopefully learn something as we attempt these different solutions and learn how to configure them.

Can an Agent Launch a Contact flow?

In order for an Agent to originate an SMS message, we needed to find away for an Agent to launch a Contact flow.   The contact flow can string together the steps we need to generate an outbound SMS.  We can turn on logging, trigger a lambda function, pass in the target phone number and message content and hand the message off to Pinpoint SMS for processing.   How can a agent launch a contact flow?  First we considered using a quick connect in which we could modify one of the default handlers to form the contact flow steps we required.  Unfortunately, with the exception of the External quick connect which had no call flow associated with it, the others required the Agent to have an active call before they could trigger the quick connect.  Drat! Foiled again!

Option 1 – Enter the TASK template!

We discovered that TASK templates might be a solution!  Creating a TASK template we found that we could add custom fields!  Yeah! So lets add a field for a phone number and one for message content! Also we might want to know which agent originated the message so we could route the return message back to that agent.   This started to feel like a real solution and but hen reality set in.  The good news was that you could assign the TASK to a contact flow!  This was very powerful, enabling the Agent to enter the phone and message and then send the TASK to the contact flow where we could invoke Lambda to handle the rest.   That is when the bad news surfaced!  There is no way to pass a custom field as a parameter that you could take advantage of in a “Set Contact Attribute” step.  Ah Snap!

Digging through the documentation we did find that there are only three variables (at the time of this bog) that can be passed as contact attributes.  These are the TASKid, the Name of the Task and the Description of the TASK.  So to solve our problem, we had to play with words such that NAME would now = phoneNumber and Description would now =the  messageContent.   This worked remarkably well and has become our current solution for enabling Agents to originate an outbound SMS message.

Click for Video on the DrVoIP channel!

The advantage of this solution is that you do not need to write any code other than the Lambda handler that your contact flow will invoke to send the outbound SMS through Pinpoint.  The entire solution uses existing Amazon Connect resources: Tasks, Contact Flows and the CHAT API behind the scenes.  The downside is the user interface is not intuitive and agents need to remember which field it the real phoneNumber and messageContent field.  It is not a workable solution if you are concerned about routing a return message to the Agent that originated the message.  If those are not concerns, then this is an effective and easy solution to implement.

Option 2 – Use an HTML form

Given the challenges of launching a contact flow, it might be easier to create a pop up HTML form.  When the Agent wants to originate an SMS message, they click a link that presents an HTML form.  The form has a field for the phone number of the recipient,  the message content.  The form also has a field for the Agent ID, which we will discuss further in part 2.    To enable this configuration we need to string together several AWS services:

  • Pinpoint SMS, which we assume you already have setup and handling inbound SMS to your call center instance!
  • We need to build a static website to host our HTML form.   The website will be built in an S3 bucket, in the same region and account as the Amazon Connect instance.
  • The HTML form needs to POST the form contents to an API Gateway.
  • Lastly, the Gateway needs to launch a lambda function to process the  request and provide a hand off to Pinpoint 2 way SMS.  Putting the api-gateway behind CloudFront as a subdomain defined in Route 53, can assure website security if you couple it with a cognito user group for authentication.

Option 3 – Create an Email to SMS solution

This is the most sophisticated of the three options, but is also the most powerful.  It also is the best solution for enabling a return message to be routed to the Agent that originated the message.   The configuration will require configuring a number of AWS services:

  • You will need access to your DNS records, or you will need to create a new domain in Route53, the AWS DNS service.
  • We will be creating a subdomain.  As our domain is DrVoIP.com our new subdomain will be SMS.DrVoIP.Com.
  • This subdomain will add a MX record in the appropriate DNS.   The MX record will point to an SMTP service, in this case using AWS Simple Email Services (SES).
  • SES will have an email receiving rule that will route any incoming email to this subdomain, to an SNS topic.
  • The SNS topic will trigger a Lambda function.
  • We need a Lambda function that will process the event and parse the recipient phone number, message content and the FROM field of the incoming email.  We will discuss the FROM field part 2 of this blog.

How to get the return message back to the originating Agent?

The next challenge was getting the return SMS message routed back to the Agent who originated the message to begin with.  As noted above, the CHAT stream does not provide a way of extracting attributes.   For example, lets assume your chat conversation asks the visitor (keyboard or SMS) what is the order number they are enquiring about?   We can overcome this with some clever event management and we will discuss this option in Part 2.

Routing a return SMS message to the Agent that originated the message, is a subject we will explore in Part 2 of this blog on Amazon Connect SMS channel management!

 

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.

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.

 

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

 

 

 

 

 

 

 

 

 

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