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.

 

Dextr adds Global Quick Connects for Amazon Call Centers!

 

Dextr Quick Connects

Dextr has always had a “directory” service that enabled agents to transfer callers in and out of the Amazon Connect instance, typically to the company PBX. Dextr now makes it possible to add contacts to the Directory system that can be shared with the entire call center as a “quick connect”! Just add the contact to the Directory system and it is shared with all other agents and is automatically added to Amazon Connect as a quick connect.   Anyone that has deployed Amazon Connect knows that you have to assign quick connects for each queue.   Dextr eliminates this painful step and there is no need to log into Amazon Connect, you can create the contact right in your Dextr Agent dashboard, mark it Global and it is shared with all the Agents in the Call Center!

 

Dial, Transfer or Conference

All Contacts in your Directory now show up as Quick Connects when you go to transfer an active phone call.   Contacts marked as GLOBAL, are shared through the Directory system of all other agents in your Amazon Connect instance and are added to the Quick Connect list.   Contacts in your Directory can be used to call, transfer or initiate a conference call!

NotePad

In addition to the “disposition codes” that can easily be configured in an Dextr Agent dashboard, each incoming call brings up a Note Pad.   The Note Pad shows all previous notes added by all agents in the call center to that caller ID.   These notes are searchable and can also be integrated to pass content to your favorite CRM.

 

 

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

Agents in Multiple Queues

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

Queue Priority

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

Call Profile or User settings determine Priority?

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

Can you move an Agent between Queues?

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

Creating Matching routing profiles

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

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

 

 

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

 

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

 

 

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

 

 

 

 

Amazon Connect Deep Call Back Option! – a lesson in Contact Attributes

The Call Back Dilemma !

It is now common place to hear an option while you are on hold in a call center that suggests “If you would like to arrange a call back when an agent is available, press 1 or continue to hold for the next available agent”.    The caller can then enter a phone number, hand up and when an agent becomes available, the system first connects the agent and the places and outbound call to the phone number that requested the call back.  This all works well except when the number entered is the main switch board number at the company that the caller works in.  The receptionist answers the inbound call and says “how can I route your call” and the agent has no clue who in the company requested the call back.

Here is one Solution!

During the call back process, in our contact flows, we ask the caller to enter the number they want us to call them back at.   We read back the number to them and offer them an opportunity to re-enter the phone number if it was incorrectly entered.  We then follow with a prompt that says “if the number you entered was the main number of the company you work for, please enter the phone number of the extension we should ask for when we return your call.  if there is no extension number please press #”.   We store the extension number as a contact attribute which is saved with the contract trace record.  You can even select contact search in the real time metrics of your Amazon Connect dashboard and verify that this attribute is in fact saved with the the contact ID record.

Default Outbound Contact Flow

There is a default outbound contact flow in all Amazon Connect instances and you can modify and “save as”  or use it as you desire.  The trick is to create an outbound prompt that plays  a prompt that says “This is a return call from DrVoIP office as requested by someone in your company.  That person is located at <extensionNumber> so please transfer this call to that extension as an agent will now join the conference”.  In this way the receptionist is alerted to how the call should be routed and we have no accomplished what we call “deep call back”.

 

 

In this example we check the contact attributes to see if <extension number> starts with # which would indicate there is no extension number. For this reason we want to play a different prompt “this is the call back you request from DrVoIP technical support”.

Options to Improve the experience for the Agent

There is a default Agent Whisper Contact flow that is regularly used in an Amazon Connect call center to let the agent know what Queue Name the caller hit!  Agents who are part of multiple queues find this very helpful.  This contact flow can be modified to play the contact attribute <extension number> when an outbound call is connected.    Optionally, you can present the <extension number> in the agent desktop as a text field.

 

The configuration of contact attributes in the  Amazon Connect solution is a very powerful tool and can be used to solve a lot of customized challenges!  Give us a call if we can help you set this up! – DrVoIP@DrVoIP.com