Advanced Post Call Survey using Amazon Connect and LENS!

Post Call Survey configurations

Configuring a post call survey in Amazon Connect is very straight forward and many others have outlined strategies for doing such a configuration.    The usual strategy typically prompts the caller to enter a “digit” from 1 to 5 to rate a particular agent or service.   Then, if the caller has not yet hung up, you prompt them with yet another question and so forth until you either exhaust the patience of the caller of tire of asking to many questions.

The answers are typically stored as contract attributes that become part of the contact record for that phone call.  Then an outside report generator would have to be created to read the data and provide a human readable summary of survey results.  Typically creating the administrative interface and reporting facilities take more time an effort that creating the post call survey!   The good news is this is a workable strategy and can get the job done, it is dirt cheap and easy to do!

Why not use Sentiment Analysis?

Why exhaust the caller with 20 questions?  There is a better way and it is more effective strategy that provides even more details about the customers experience while interacting with your call center team.   Using the same facilities that we described in our previous blog on voice mail transcription options, you can now use LENS to provide a deeper understanding of the customer experience.  Creating a post call survey using these tools enables you to “hear” the customers voice if you like,  transcribe the voice and use sentiment analysis to better grade both agent performance and customer satisfaction.

Enter Media Streaming!

In the following call flow, we can provide a post call question and enable the caller to freely speak their experience which is recorded. The recording can be free form, allowing the caller to use a stream of conscience approach to outline their experience.  This is powerful because you can, if you chose to, hear spoken nuances that easily identify frustration and other indicators of how people really feel about their call center experience.

If you are insistent and really want to ask individual questions, you can loop through steps 1 through 4 asking a different question at step 1 each time.  The entire recording is saved with a contact record ID that associates the recording with a specific contact trace record.  By setting the recording and analytics behavior when you set the recording, you now enable LENS to kick in and add that extra level of analysis that only comprehension and sentiment analysis can provide.

Let us know if we can provide any assistance in getting this setup in your connect instance.  Just open a ticket with  and we will get you “connected”. – DrVoIP








Direct Extension Dialing and queue based Voice Mail for Amazon Connect!

Call Center with PBX like features?

One of the most requested features folks deploying Amazon Connect typically ask for is the ability to directly dial an extension to reach a specific agent or team member.   Clearly Amazon Connect is not a PBX system, it is a call center!  It is possible, however,  to give your Call Center instance qualities that enable PBX like functions including voice mail, Extension dialing and even queue based voice mail.   In a world with geographically dispersed workgroups and most folks using cell phones anyway, a cloud based solution based on Amazon Connect is ideal, practical and easy to administer.

Dial by Name Option

Why we still use DTMF Call Trees in the 21st Century is a mystery to me.   AWS provides speech recognition technology that enables you to replace the old world “Press 1 for this and Press 2 for that” with “So glad you called, I can route your call if you tell me the name of a team member or a function like sales or customer service”.    This interface is an improved customer experience in several dimensions.  It enables “hands free” interactions for mobile users,  is more natural and experientially compatible to human communications.

Dynamic Configurations

Every resource in the Amazon Connect instance including prompts, queues, flows and even agents have a unique identification number.  This number, or ARN,  can be used in contact flows to check the status of a particular user for example.  They can also be used to dynamically configure a contact flow with end points that change on a call by call basis.  An incoming call, for example, can invoke a lambda function that is used to look up the ‘dialed number” in an external database and bring back queue details that can be used to dynamically populate the details of the contact flow.   Rather than create a separate contact flow for “sales”, “customer service and “technical support” why not use the same contact flow, reconfigured based on either the callers self navigation choice or the DNIS the caller dialed?   It takes nothing more than a simple dynamoDB table to quickly define the various required flow parameters and an “invoke lambda” function to greatly simplify the other wise complex world of “cut and paste” contact flows.

Agent ID

Each Agent in a call center instance has an ARN that uniquely identifies that user.  This ARN when defined in an external database that also specifies an extension number, cell phone, user name and even a custom prompt can be configured to create very powerful contact flows.  A caller can either ask LEX for a particular user, or you can prompt the caller to enter the agents extension number.   We prefer asking LEX for the user names as it eliminates publishing a directory of extension numbers.  In either case, lambda might convert name to extension number, look up the contact flow details in the database, indexed by the extension number and  “set contact attributes” step with the details needed to populate the rest of the contact flow.

Is Billy Bob available?

Once we have the individual name and extension number of the user we are looking for, we can use the details returned by the lambda function “getQueueDetails” from the DynamoDB table “QueueDetails” to populate and set “check staffing” step.  If the user is available we can send the caller to that user.  If they are not available, we can offer options like “try someone else” or “leave a voice message”.  Voice messages can be sent as wav files, transcribed as text and even sent as SMS messages!    For users that might actually be field sales or support personnel, we can pull back their “cell phone number” from the same database table on the original lambda invocation and pass the call to an external number as yet another option.

Configure Queues as Users?

Using the same resources described above, we can take voice messages for customer service queues.   The “manage users” directory in the contact center administrator portal contains the first name, last name, login and email address of each users.  By adding a queue name as a user in your configuration you can add an email address for that customer service queues.  This means that you can now create options in your customer queue flow that not only offer a call back when an agent becomes available, but you can also encourage them to take a message.  The message converted to email can then be routed to the next available agent using email routing provided by Dextr and agent dashboard for Amazon Connect.  This is also a handy option for after hours call handling!

Post Call Survey with Recorded options!

In our next blog we will use these same resources to enable audio based “post call surveys” that record the callers answers and use transcription, comprehension and sentiment analysis to grade the survey!

If you can imagine it, we can make it happen!

The options for configuring Amazon Connect contact centers is limited only by your imagination.   The AWS ecosystem is populated with an expanding library of services from speech recognition, AI, Bots, text to speech, chat, transcriptions and even language translations.   We believe we are rapidly approaching the possibility of having an English speaking agent interact in near real time with a Spanish speaking caller.

Give us a call and play our favorite game “stump the vendor” and lets hear your call center dream, we think we can make it a reality. –







Amazon Connect Lets folks text a request for call back!

Is Call Back from Queue really that smart an option?

Would of the current strategies for managing a customer interaction while waiting in queue is to offer a call back when an agent becomes available.   This option is offered to the caller while in queue which means they have already wasted their time, your resources and you have substituted and “abandoned call” for a call back.    Have you ever considered the impact on your call center stats?  After all, the caller is still in queue increasing the call holding times.   This strategy may be better than having someone get more aggravated while waiting in queue for the next available agent, but is there a better strategy?

SMS or Send a Request for Call Back?

Most enterprise deployments have a website with a contact number or email address.  Others have a chat link.  Still others have a smartphone app.   Why not create a “request a call back” link or text number?   If a caller has the option to send a text message to your business with a simple keyword like “call me”, “technical support” or “customer service” then you could automate at reponse and put their phone number in the call back queue, without wasting anymore of their time.   Different keywords could target different call back queues. You might even send back a text message that indicates “you will be called back by the next available agent”.   With a bit more work you could even send back a message that said “we will call you back at <phone number> in approximately 10 minutes”.   There could be other confirmations and options like scheduling the phone call for a specific time, or allowing the sender to change the call back number.


Amazon Connect CX improvement

With Amazon Connect and a few AWS services this scenario could be added to your call center very easily!   Generally, we can do create this solution on a per queue basis in a couple of hours.   Give us a call and we can set this for you.  –


What are Amazon Connect “soft” Limits?

Only Ten Phone Calls?

If you are attempting to setup an Amazon Connect instance you need to understand some limiting parameters.  These are what Amazon terms “soft limits”.  This means that you can request an increase through technical support.   If you start testing your new instance and find that you cant make an inbound phone call, one of the first things to check is the soft limits for the number of simultaneous phone calls, which are limited to 10 out of the box.   This is done for reasons that you would understand if you take the time to think it through.  Anybody can log into AWS and create a new call center.   Yes you have to put in a credit card, but hackers can get credit cards all day long and make use of them before anybody knows what happened!   Remember the days of heavy spam mail?  Your mail server gets hacked and before you know it 1M emails are being flooded out from you IP before you get black listed and they move to the next webserver hack.

Other Soft limitations

There are some other soft imitations in which you can request am increase.  These include, but are by no means a complete list:

  • Activ Chats per instance
  • Amazon Connect Instances per Account
  • API Request Rate
  • Concurrent Active Calls Per instance
  • Contact flows per instance
  • Country Whitelisting of Outbound calls
  • Groups per level
  • Hours of Operation Per instance
  • Phone Number Porting
  • Phone numbers per instance
  • Prompts per instance
  • queues per instance
  • queues per routing profile
  • quick connects per instance
  • reports per instance
  • routing profiles per instance
  • scheduled reports per instance
  • security profiles per instance

Other AWS Soft Limitations

The above limitations are specifically related to Amazon Connect.  You should note that many other service in AWS also have ‘soft limitations”.   For example if your are going to configure Voice Mail in your Amazon Connect instance that enable wav files to be sent via email or SMS, your SMS delivery may be limited by your spending limit. By default, your AWS account’s text messaging spending limit is set to $1.00 per month. You can open a support ticket to increase the value. Email addresses must be verified by Amazon Simple Email Service (SES).

Let us help!


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!


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






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



Give Amazon Connect Phone system features with “Dial by Name” functionality

Press 1 for…. Why?

It is the 21st Century and there are two technologies that are still in use: Fax and DTMF Call Trees!   Why, I am not sure as there are so many more effective technologies available to replace them.  Why we still have caller “self navigation” by “Press 1 for this and Press 2 for that” is one of the great mysteries of life in the 21st Century  (the other is why are folks still sending faxes)?   I get that Speech Recognition used to be so very expensive that it could not be adopted by but the largest enterprise organizations.  Today however, thanks to services like LEX in the AWS ecosystem, there is no longer any economic deterrent to the rapid adaptation of Speech recognition to the basic IVR based call tree.

Phone System or Call Router?

Amazon Connect is not a phone system in the way that Ring Central or 8X8 is a phone system.  Amazon Connect is a call routing solution with telephony functionality that enables call answering, screening, routing and queuing services to be applied using “rules” and “contact flows”.   You can configure a variety of AWS services to significantly enhance the basic call routing engine to achieve superior functionality within a reliable, resilient and elastic cloud based architecture.  Now instead of saying “Press 1 for this and Press 2 for that” we can say “Hello, tell me how I can route your call”?

Amazon Connect Dial By Name Contact Flow

One of our most popular configurations is a “Dial by Name” functionality that we enable on our LEX based, Speech fired automated attendant.   “Thank you for calling DrVoIP, my name is LEX and I can route your call if you speak the name of a function like sales or support, or say dial by name”.    Now that is a powerful caller experience and significantly functional while providing a memorialized  customer experience that differentiates your enterprise from those companies stuck in the 1980’s with DTMF IVR automated attendants.

Building LEX solutions into your Amazon Connect instance is not that complex though it will require a considerable amount of trial and refinement.  If you want to do a dial by name IVR you will also need to be a competent software engineer and have an understanding of both lambda functions and dynamoDB data structures.  (Better yet, contact DrVoIP and we will do it for you)! LEX will prompt your callers to provide spoken input like someones last name, but you will need a lambda function to take that input and use it to index a database structure.  The database will contain the target information you will transfer your caller to.

Interestingly enough,  you can transfer a call to a phone number or the ARN of a Queue, Contact Flow and Prompt.  This makes it very possible to route calls to individual agents within the contact center or to a service in your call center.  The processes requires:

DynamoDB – Table to hold endpoint contact data

Lambda Function – Interaction between Contact Center and LEX

LEX – Speech recogntion BOT to ask callers who or what they want

The new Contact Flow will greet the caller and prompt them to “speak” the name or function they are calling for.    The Lambda function will take the Intent from LEX and pass it to DynamoDB which will return the endPointID that the caller should be transferred.    Not only does this functionality increase the personalization of the customer experience, it significantly reduces the complexity of constructing contact flows by using a dynamic configuration end point ID.

The Youtube Channel has a great deal of material on these subjects including a basic configuration and advanced configuration tutorial updated for 2020.   This site also has training materials.





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



Amazon Connect & Dextr now support Chat

Dextr Website Chat Integration

The ability to integrate your Company Website with your call center is a powerful customer experience management tool.  Being able to integrate your website with a ChatBot is even more powerful, but imagine the power of being able to escalate a chat session to a voice call!  Now that is a truly powerful customer engagement strategy and now a standard Amazon Connect Call Center feature.

Features of Amazon Connect Chat

The Chat functionality enables you to reuse the very same contact flows that you established for a voice call or you can create new contact flows that are chat specific.  This significantly reduces the deployment time.  A “Play prompt” step, for example, that would normally be spoken to a caller, is now pushed out as a chat message.   Chats are persistent and given the asynchronous nature of these interactions, responses can be anytime over a 25 hour period.    Let us assume you have a chat session with a client who asks a question about your product or service and the agent asks a follow  up question to clarify the customers enquiry.  Maybe the customer has to go find the answer form another team member and does not reply for an hour.   The Agent might disconnect, but if the customer continues the chat session later, a new session will be created with the entire chat history  and transfered to a new agent.  It is possible also to send the chat back to the same agent, but assuming that agent is no longer available, the entire chat history is made available to a new agent.


The Dextr Dashboard implementation

Dextr now includes the Chat engagement option as part of its standard desktop agent offering and the Engage tab now shows Phone, SMS, Email and Chat!   Dextr also adds Chat to its activity screen adding a new icon and a READ button.  The Activity page now notes the chat details including the appropriate metrics.  A supervisor or agent with the proper permissions can also bring back the entire chat history, by hitting the READ button, in a manner similar to how Dextr brings back a recorded phone call!

Dextr is a subscription based portal in which, if you have an existing Amazon Connect call center, you can be driving a Dextr dashboard in less than 15 minutes!   If you don’t have a Dextr dashboard, we will be happy to create one for you!  Ask DrVoIP about our Dextr Contact Center Managed Service Solution in which we provide an  Amazon Connect Call Center for your enterprise, with no money down, no contracts and pay only for what you use!   We take care of everything from deign, through setup, training, “go live”, on going technical support and a Dextr Dashboard for every agent at a nominal per connected minute, exclusive of telephone carrier charges!