Amazon Connect Transfer to Queue or Transfer to Flow?

When to Transfer to Flow and Why?

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

Transfer to Flow?

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


Transfer to Queue

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

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

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



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

To record or not to record, that is the question

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

One-Party Consent States

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

All-Party Consent States

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

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

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

When and How to Control Contact Center Recordings?

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

Save 80% on Amazon Connect Design and Deployments

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




Amazon Connect Historical Reporting using Dextr Flex!

Real time or Historical Report?

If you think about reporting there is a fine line that separates a “real time” display from a “historical” record.   It would also be wise to say “near real time” as even the mechanic of displaying data takes some small amount of time.   So then, where is the line that separates realtime from historical?   The answer for Dextr Flex, is the time stamp issued when the call is terminated.

Below we describe both the revised Activity Reporting and the recently released “historical reporting” with video presentations of both.

Dextr Flex  Historical Reporting

Dextr Flex offers a fully featured Historical Reporting Engine complete with Scheduling, Exporting and Delivery Options.  Reporting has a range of canned options for date ranges and enables custom reporting ranges.  You can schedule reports once created to run daily, weekly or monthly.  Exporting can be CVS files that can be imported into most other data manipulation tools including Excel and Numbers.   Delivery options include email with PDF attachments.

Report Creation and Options

Creating a new report enables setting a name for your report and the choosing the date range, the queue and the channels (voice, sms, email, chat, announcements),  The reporting engine contains a custom “query” language, but there are a range of pre-configured search criteria that you can select for your report to include.  Generally you will select a channel, one or all channels, a date range and then apply your report filters.

Report Summary and “eye candy”

Dextr Flex presents report information with “eye candy” in a variety of formats including pie charts, line and bar charts depicting both agent and queue details.  The report summarizes:

  • Contact Handled
  • Average Holding Time
  • Average Speed of Answer
  • Average Call Waiting
  • Number of Abandoned
  • Percent Abandoned
  • Number of Missed Calls
  • Percent of Missed Calls
  • Talk  time
  • Queue Time
  • Number of Holds
  • Hold times
  • Longest Hold Time
  • Average Mean Opinion Score

Reporting Optional Details

After the Summary page is rendered you have the option to explore other details including a DNIS Report,  Queue Details and Agent Details all of which can be exported and delivered.

Call Quality Reporting

For the voice engineers out there, troubleshooting gets a bit easier with MOS reporting.  Calls are now tagged with a MOS score and you can now search for calls with below target scores.  This enables you to work through those complaints that we all get from time to time with no more detail than “it sounded bad”.   Pick the exact call by searching for MOS and obtain the related CDR data, makes troubleshooting complaints a bit more detailed!

Dextr Flex Revised Activity Reporting

Dextr has always had an activity screen.  If you are an Agent you see your Activity and if you are a Supervisor or Team lead you see all activity of your team members.  Previously you would bring up the activity screen and it was all listed chronologically.  Filters existed for all the usual Call Detail Records (CDR) and included dynamic segmentation by Agent, Queue, Date, Disposition Code, Direction.   Drilling down on an an Activity exposes all the related information regarding caller (contactID), queues, agent and contact attributes.

Dextr Flex enables LENS “keyword” search!

With the inclusion of Amazon Connect LENS technology in the Dextr dashboard, being able to “keyword” search the transcription became a mandate.   To enable this functionally Dextr Flex created a new “query ” language which also provides prepared queries but also enables custom searches.

Revised Activity Presentation

Dextr now expects you to set the Date, Channel and Search Criteria to pull back the Activity you are looking to review.  Selecting a search criteria enables you to quickly learn the query language.  Not selecting a search criteria beyond that of selecting a channel will bring back all the activity for that channel unfiltered, though you can then apply filters like queue and agent.

Activity Video Presentation

Dextr Flex Historical Reporting  Options

The Dextr Flex reporting engine is bundled with subscriptions of at least 10 dashboards and is available through the AWS Marketplace with a 14 day “free trial.”  Optionally you can acquire a single dashboard that provides historical reporting, holiday. schedules, real time metrics and ad hoc queue closing for a fixed annual subscription price. Dextr will report all activities since the date of the subscription.  Optionally, if you have been streaming your contact records to your own S3 using the optional Kinesis streaming,  Dextr will report on that historical activity. Dextr is available in the AWS Marketplace and has a 14 day free trial period.

Contact:  CustomerCare@Dextr.Cloud or give us a call at


Amazon Connect Historical Reporting and Query Language!

Slice and Dice your Contact Records!

Dextr now has a full Historical Reporting Engine for Amazon Connect.   A new ICON has been added to the dashboard navigation panel,  when clicked brings you into the Historical report generator.    Click “create report” and you can then name your report, choose a reporting interval, select any or all queues and then select one or more channels.   Dextr Historical Reporting includes voice, email, chat and text channel details.  Reporting intervals include day, week, month and YTD.

You can continue to use Dextr’s many other features while your report is processing as you will be alerted with a toast pop up when your report is ready.  Returning to the report SUMMARY page,  Dextr displays:  Handled, AHT, ASA, Abandoned, Missed, talk time, queue time, # holds, average hold time, longest hold time and relative percentages of each value.  You can also see Interactive bar and pie charts for Agent and Queues,  allowing you to dynamically display individual  elements of the report.   Dextr now delivers the average mean opinion score or MOS score to indicate the quality of service rendered during the reporting interval.   The reporting can then be segmented into Queue details, Agent Details, Abandoned Calls and Quality of service.   Each of these metrics is a tab in the interactive display allowing you to drill down on any presented statistics.

Query Language and Preconfigured Filters

Dextr includes both a powerful query language and preconfigured query “filters” (Abandoned, outbound, etc.) that enable advanced report configurations without the need to learn a query language.    Records can also be filtered by “keyword” for those who are taking advantage of Dextr’s built in LENS functionality of transcribing voice calls from call recordings.   Abandoned calls have the interesting characteristic of being able to display “related activity”.  If we see a call has been abandoned, we can explore related activity and note that the call was first presented to an Agent who missed the call, before it was abandoned.  This is a very powerful new feature of the growing library of Dextr AI functionality.

DNIS Record Reporting and MOS Scores!

DNIS Reporting


Export Schedule and Share Reports!

Reports can be Exported, Scheduled and Shared!     Exports are CSV files to support importing into other applications like Excel.  Scheduled reports can be emailed!  One of the Dextr unique capabilities is to Share the report by publishing a URL that others can access to review the report!

Dextr Community Input!

Dextr holds quarterly subscriber review webinars to discuss Dextr operations, plans and to gather feature enhancement requests.   The Dextr subscriber community played a large role in helping flesh out the features of this release and we are very excited about the impact this release will have on the Dextr community!   Dextr publishes new feature releases to a real time staging environment ( so that existing subscribers can make use of the new feature sets before general release to the ( production platform.  Existing subscribers can access the stage environment on October 1 and consistent with Dextr release practice production will quickly follow.    The Dextr Historical Reporting Engine is bundled as part of the feature set in your Dextr subscription of at least 25 agents or it can be purchased separately as a stand-alone application.

Contact  for details or call and speak with a Dextr Amazon Connect expert!

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!



Dextr steps closer to AI in the Call Center with LENS integration!


Dextr integrates transcriptions, comprehension and sentiment analysis !

Contact center supervisors are hungry for insight into things like whether agents are having effective conversations, whether any interesting trends in customer sentiment are occurring, or whether the agents are complying with regulatory requirements. This is challenging because audio data is virtually impossible for computers to search and analyze. Therefore, recorded speech needs to be converted to text before it can be used in applications.  Using AWS machine learning natural language processing (NLP) and speech-to-text, Contact Lens for Amazon Connect, now integrated in the Dextr Dashboard,  transcribes contact center calls to create a fully searchable archive and surface valuable customer insights.  With Contact Lens for Amazon Connect, customer service supervisors can quickly and easily discover emerging themes and trends from customer conversations, directly in Amazon Connect.

Dextr simple to navigate interface

Dextr has long enabled agents and supervisors to search activities and pull back voice recordings.  We the integration of LENS, Dextr makes it possible to not only pull back the recording, but to “see” key customer experience metrics including total talk time in bar chart format showing customer, agent and silence time slots.  The sentiment analysis is displayed by segment and rated over all by a smiley face!

Transcriptions can be displayed by agent and customer segment, with clickable time stamps that enable you to pull back any segment of a recorded and transcribe customer experience.

Dextr Benefits

With a Dextr dashboard, contact Lens for Amazon Connect simple to set up and use. With only a few clicks, you can use Machine Language -powered analytics to discover deep customer insights from your contact center. Through the Dextr intuitive UI, you can analyze call and chat transcripts, customer and agent sentiment, and conversation characteristics without any coding.  The Dextr implementation of Contact Lens for Amazon Connect helps supervisors improve the agent customer interaction by providing insights around what makes a successful call, compliance risks, and trends in topics with new rich metadata around call transcripts and conversation characteristics such as indicators of interruptions, talk speed, sentiment, and custom category labels.

Dextr subscriptions are available in the AWS Marketplace

Dextr is a subscription based agent dashboard with a cost of about $1 a day per eight hour agent shift on a metered basis.  Dextr offers discounts for prepaid contract terms and offers ongoing support for your Amazon Connect Call Centers.  If you have not yet migrated to Amazon Connect, the Dextr professional service team provides a “fixed cost” deployment option that can have you operational in days and includes a one year subscription to Dextr.  For your free trial head over to AWS Market place and sign up now!


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







Configure Amazon Connnect for SSO using Microsoft Azure

Azure AD Configuration

There is work that needs to be done on both sides and typically two different engineers will be working the issue, one on Azure and one in Connect.  Step one is for the Azure engineer to setup a new application using the login link that agents would normally use to login to the Connect instance.  You can find this on the Amazon Connect home page inside the AWS Management console.   The Azure engineer will then provide a Metadata.XML file back to the AWS Engineer.

Step 2 AWS IAM Provider Configuration


  1. Log in to AWS and open the IAM
  2. Click on Identity providers and then Create Provider.
  3. Choose the Provider Type as SAML.
  4. Enter Provider Name, such as “Azure AD”
  5. Upload a Federation Metadata XML (downloaded from previous step).
  6. Click Create Provider


Step 3 AWS IAM Role Configuration ( More Information Here: )

  1. From the IAM/roles console Create a New Role
  2. Select SAML 2.0 Federation trusted entity type
  3. Select the Azure AD SAML provider from previous step
  4. Select Allow Programmatic and AWS Management Console access. The rest will auto-fill.
  5. On the Attach Permissions Policies Page create a policy like this:


“Version”: “2012-10-17”,

“Statement”: [


“Sid”: “Federation”,

“Effect”: “Allow”,

“Action”: “connect:GetFederationToken”,

“Resource”: [






  1. After policy is created, go back to Create Role tab, reload the policy list, and select your new policy.
  2. Set a role name and description, then click Create Role
  3. Open the new role and copy the Role ARN into notepad. Switch to the trust relationships tab and copy the Provider ARN into notepad.

Step 4 Create User for Azure to pull Roles for Users

1 – Create Policy “List Roles”

2 – Create User with programmatic access and attach the policy with the Access and Secret Keys

3 – Send me the Provider ARN and Role ARN back to the Azure engineer along with the User and Access Keys where the balance of the configuration is completed

The Azure engineer will then complete the Provisioning section setting the mode to Auto



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