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 (stage.dextr.cloud) so that existing subscribers can make use of the new feature sets before general release to the (go.dextr.cloud) 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 DrVoIP@DrVoIP.com  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. – DrVoIP@DrVoIP.com

 

 

 

 

 

 

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: https://docs.aws.amazon.com/connect/latest/adminguide/configure-saml.html )

  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”: [

“arn:aws:connect:YOUR_REGION:YOUR_ACCOUNT_ID:instance/YOUR_INSTANCE_ID/user/${aws:userid}”

]

}

]

}

  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! DrVoIP@DrVoIP.com

 

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

 

 

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 DrVoIP.com 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.

Contact DrVoIP@DrVoIP.com

 

 

 

Amazon Connect Configuration – Tutorial Video!

Basic Amazon Connect Configuration Guide

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

DrVoIP Amazon Connect Quick Start Tutorial Contact Flows

Amazon Connect Advanced Concepts

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

 

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