Amazon Connect – Is today a Holiday?

Is Today A Holiday?

Having deployed hundreds of CISCO UCCX and ShoreTel ECC and other Contact Centers, checking to see if today is a holiday seemed to be the “minimum daily adult requirement” for contact center management.  In fact one of the most popular scripts on the net for CISCO UCCX was named “HolidayCheck”!    In fact we used this script to provide an XML tutorial  on the DrVoIP YouTube channel.  Checking a list of holidays to deal with periodic contact center closings is usually a standard feature in most call center applications and telephone systems.

Amazon Connect, however, does not provide a “holiday check” out of the box!   If you want one, like many other features in Amazon Connect you are going to have to create it by writing your own function.  The good news is that the wealth of services in AWS makes this a very simple task using nothing more than a Lambda function!

Contact Flow – Invoke Lambda

An Amazon Connect contact flow would do the normal “check hours” to figure out if the caller was hitting the system during “on hours” or “off hours”.  If the call arrived during normal business hours, then the next step would be to check and see if today was a holiday.    The contact flow adds a simple “invokeLambda” function to make this determination. To simplify the lambda function, we include the list of holiday’s as an object array within the environmental variables.

We determined to create a simple lambda holiday check function using the fewest lines of Node.js code as possible!  In fact there is no need to invoke the function by passing in a date.  You simply invoke lambda and it uses the javascript date() function to parse through your list of holidays comparing todays date with the individual list items.   What we want returned is a simple “true” if today is in fact a “holiday”; or a “false” if today is not a holiday!  Very simple!   The branch step in your contact flow will be based on this simple boolean value returned from lambda.

Improving the function

Now that we know if “today is a holiday” we have the basics in place.   Improving the function has endless possibilities.  For example:

The basic function assumes a full day closure.  What about half days.

It would also be desirable to have an ability to play a custom audio prompt based on the specific holiday closure.

Clearly you can make the administrative interface much more acceptable to a call center supervisor while eliminating the need to let non-development professionals access the AWS Console.  In the basic function, updating the holiday schedule would require folks be able to access the lambda functions directly to update the environmental variables.    Creating an S3 bucket as a static website host, with a simple HTML interface to enable system administrators to update the holiday list from year to year would be an obvious improvement.   This option would open the door to allowing supervisors to close a queue for a team meeting.

Summary

Amazon Connect is an element of a very large ecosystem in which the available services enable you to create a contact center that can meet your wildest imagination!   If you can “see it”  you can make it happen!  Optionally, you can call on DrVoIP and we will make it happen for you!

The Lambda Function is available here.

The function is written in Node.js and is built out using the Serverless framework which you will need to make use of, to deploy the function in your own Amazon Portal:

First you have to configure an AWS CLI profile in order to deploy here is steps to configure it:
step 1: Open terminal
step 2: Execute command “aws configure –profile <profileName>” it will ask for input key id, access key, and region
Next here is steps to deploy service:
step 1: Open terminal
step 2: Get to project root directory
step 3: Execute command “serverless deploy –aws-profile <profileName>”

 

 

 

 

DrVoIP Amazon Connect Tech Tip – LEX Bot Versions!

Well, it is the 21st century and though we still drag around fax machines, we do seem to be getting away from Touch Tone Call Tree IVR systems!  Really, are you not tired of “Press 1 for this and Press 2 for that”?   I know I am at every opportunity to replace a DTMF IVR with a speech recognition I jump on it!  “Thanks for calling how can I route your call” is a lot more like what you would imagine we would have in the era of Artificial Intelligence and natural language speech processing.   Thanks to the ever expanding ecosystem found in the AWS, we can add this technology to an Amazon Connect Call Center with ease and economy.  Long gone are the outrageous “per-port” license fees historically charged for speech recognition technology.

We have other tutorials on our YouTube Channel that deal with configuration of LEX, the AWS speech recognition capable BOT!   In this tech tip we review the process of “versioning” you LEX bot and we explore the concept of “Alias” publications.  This is often a misunderstood concept and hopefully this tutorial will help eliminate or reduce the mystery of this subject matter!    Keep those cards and letters coming – DrVoIP@DrVoIP.com

 

Amazon Connect Tips, Tricks and Trouble Shooting!

What no Delete for Contact Flows?

One of the first discoveries you will make while configuring contact flows is that you can NOT delete a contact flow.   Once it is created, you can “save as” but you cannot delete it.  There is a good reason for this and hopefully by the end of this blog it will make sense to you.   Out of the Box, Amazon Connect comes pre-configured with a wide variety of contact flows and system parameters.  You will see this listed as sample and default in a newly created instance.  If you poke around you will also see that a schedule of basic hours has been configured along with a basic queue.  There are preconfigured security profiles and preconfigured routing profiles along with a small library of professionally recorded voice and music  prompts.


This pre-configuration and population of basic and default parameters is done for a reason that also helps explain why you cannot delete anything after you create it!   Assume you open a new Amazon Connect instance and following the setup menu, add a telephone number.  Assign that number in the drop down window in the phone number configuration to point to the “Sample inbound flow (first call experience”.   Then call the number.  This Call flow will make use of most if not all of the default and sample contact flow listed in a fresh out of the box, unmodified Contact instance.  Since we did not configure an agent or queue it draws on several preconfigured parameters including the “Default Customer Queue” which describes what a caller hears while waiting for an Agent to become available and the “Basic Queue” along with the “Basic Hours”.

How Amazon Connect stages Default Contact Flows

If you open the “Sample inbound flow (first customer experience)”  note that it does NOT make use the “Default customer queue” step.  How is that we hear it if it is not in the contact flow?  When the call is transferred to an Agent we did not even configure yet (we are logged in as the Instance Administrator on a CCP softphone), we even hear the “Default agent whisper”.   Nor did we configure a Queue?  Likewise if we put the caller on hold we are tapping the “Default customer hold” contact flow.  If we are in Call Wrap up, the caller would be hearing the “Default customer queue” contact flow while awaiting for an agent to become available.

This is the key reason you can not delete anything!  To do so would jeopardize the stability of the Connect Instance.  These defaults assure that configuration newbies cannot stray materially from the experience they intended to configure.   While the Connect instance is setting up an outbound connection to the agent CCP softphone, and even longer if dialing an agent’s hard phone.   The caller will hear the “Default customer queue” experience.  We recommend that you get a “ring back” audio prompt and use that in either the default customer queue or the customer queue you create.  We think it is a bit confusing for a caller to call in and hear music while being transferred.  You should also note the possible impact on your inbound call statistics.   Additionally, note that billing started the moment your caller hit the phone number regardless of the fact that they are not yet connected to an agent.

Creating and Modifying Contact Flows using “Save As”

Each of the Contact flows in an Amazon Connect instance has an Amazon Resource Number or ARN. This is a globally unique identification number and defines every contact flow in the instance.  Generally, you will build a new contact flow from an existing one.  To do this, you first open the contact flow you want to copy and do a save as.    You have to pay attention here, or you will have a big problem!   Some folks open a contact flow,  change the name and make some modifications and then publish it!  It will show up in your list of contact flows, but it will still have the ARN of the original contact flow even though you renamed it!   This means that other contact flows that call on that original contact flow will now get all your changes!   What you want to do is rename the contact flow and do a “save as” in this way you create a new ARN and will not be over writing the original contact flow.

 

Not all Contact flows have all contact flow Options?

There are about 9 different types of contact flows that you can create to meet your call flow requirements.  If you create a new Contact Flow you need to understand that not all contact flow types will have all the contact flow options.  For example if you are describing the experience you want a customer to have while in queue waiting for an agent to become available, you will  open the “Default Customer Queue ” and do a “save as” to create your experience.   Do not expect to find a “Transfer to Flow” option in the list of possible steps as that option is not available in this type of contact flow.  The list of step options changes based on the type of contact flow you are creating, so keep this in mind!

 

Error Handling

Generally, every step in a Contact Flow has an error exit.   We have found that it is best to create a Contact Flow named “error handling” and to use this as the solution to all of the options that you must provide an error exit.

 

Use Speech Markup Language for Text to Speech prompts!

As a consultant deploying call center and IVR solutions, one of the most frustrating aspects of the implementation is waiting for clients to get their voice prompts together!   Generally we will not start an implementation until we have the prompts!  Text to Speech is a life saver for deployment engineers.  You can create prompts on the fly and let people test them, suggest modifications and really fine tune the prompts to achieve the desired level of customer care.   When the prompts are all agreed to, you can then get them professionally voiced or not!  We find that Amazon Polly is an excellent option for prompts but we also suggest that you use the Speech Synthesis Markup Language option.  In all of the prompt areas you can choose between loading a Wave file, or using Text to Speech. When using Text to Speech you have the option of interpreting the text as text or as SSML.     SSML enables you to add tags that can control the various components of speech including tone, pitch, speed and format.   You may want a number read as a phone number for example, rather than a long integer.   SSML is simple to configure and it very powerful.  Learn to use it always and you will have very excellent results.

Don’t forget to assign outbound phone numbers to your Queues

In Queues in which Agents are expected to make out bound calls you must associate a phone number to that queue for outbound dialing.  The Agent will not be allowed to make outbound calls if they do not have a phone number assigned to the queue.  You can also try to put an outbound name in the same configuration area, but there is no guarantee that this name will be displayed to the CallED party.  The phone number will most likely display to the CallED party, however names are provided by multiple options at both the carrier level and the end device level.

Trouble Shooting 101

When trouble shooting Amazon Connect contact flows your best friend is CloudWatch and Contact Flow Filters!   Lets take a look at each of these tools to better understand how they work together to provide a history of how a specific call behaves.    First while in the Connect dashboard you will find under “Metrics and Quality” you will find a  TAB for “Contact Search” .  Selecting this option will enable you to set search filters for the contact record you are trouble shooting.  You can filter on the usual date and time parameters, but also by queue, and by call type and direction (Inbound, Outbound, Transfer, API, Call Back and Queue Transfer).   The goal is to obtain the “ContactId” the key to all activity in the Connect Instance.  If you know this ContactId you can just search for it and skip the filters.  Optionally you can just “Search” and you will see a list of ContactId’ based on the default filter.

Now that you have the Contact ID you can move over to CloudWatch (this assumes you have enabled logging) and you can search for this ContactId record and follow the entire call flow from start to finish,  Go to the CloudWatch service, click on Logs and then locate the “Log group” for your Amazon Connect Instance.  This will pop a list of “Log streams” and “last event time”.  Find a row that closely matches the date and time of your target ContactID and open that log stream by clicking on it.

Note that the time in the even stream is in UTC and matching log times is always interesting.  In this example we searched for a particular Contact ID in the Connect dashboard and it shows that the call we are interested in had a “Initiation TimeStamp” of *7:46 PM”  GMT/UTC  or Zulu  time (if you are military, which all mean the same time reference regardless of where you are located on the globe).

 

The Contact ID is a clickable link, and will bring up some information of interest as contained in the Contact Trace Record.  There will be a Contact Summary, A recording if enabled with the location of the recording and a playback button, Connection Endpoint pairing and Queue information.

Heading over to CloudWatch and checking the respective Log Stream in the instance log group, we find that the time is being adjusted to the GMT offset of the time zone the Instance time reference, which in our case is GMT -7 hours!  S o the Contact Filter Search in the Amazon Connect dashboard is being Time Stamped for GMT/UTC but the log is offset (Terminate at 7:46 PM in dashboard is listed at 12:48 in the CloudWatch logs).   Keeping track of this time offset will drive you a bit nuts, but if you are aware of it, you can figure it out.  SUMMARY – Look in Cloudwatch for the UTC offset in your Connect Instance and NOT the time stamped in the Contact Filter of your Amazon Connect dashboard!

 

 

When searching for records in the CloudWatch logs you will note that you can set it for ROWS or TEXT and you can also select to search by specific times and choose between UTC time or Local Time zone>

When you set your search by ROW you will get an orderly list of multiple Contact ID’s within the event range reported.  Logs are posted about every minute or so.  In an instance with a heavy call flow you are going to find many different Contact ID’s in that event range and will have to search for a specific record using a search filter in the format of “ContactId” = “ca822db4-98aa-4de3-9254-461177a6d259”.   In Text mode you can also search using the CTRL F feature of your browser.

When you use the ROW mode you will get a list of Contact Flow steps that, by pushing the down arrow will open each step for inspection.  This is necessary to see each step of your call flow, what Contact FlowId  was used by ARN.

Selecting the TEXT mode will generate the same list of JSON objects but they will be fully expanded:

CCP Trouble Shooting

There is a very useful tool for testing the connectivity of a specific desktop call control (CCP) to your Amazon Connect instance.  It provides useful information about the latency, resource, reachability and connectivity that are essential base lines for trouble shooting.   Click here!

CCP LOGS

On the CCP you will find the little GEAR symbol and if you click on that you will be able to download the logs for this Agent Desktop.

 

You can open the logs with any text editor and the content often spells out the issue pronto quick!

 

(to be continued)

 

A Call Center for Cheap, Penny Pinching, Tightwads on a budget!

We Design, Deploy, Service and Customize Amazon Connect!

Since 2008 DrVoIP had been working  in the support of VoIP based call centers from CISCO, Avaya and Mitel/ShoreTel solutions.   Since 2017 we have focused exclusively on AWS services with a particular focus on ‘Amazon Connect” call centers.   From Recording and Voice Mail solutions, through Workforce Management and Voice analytics we have provided custom software  integrations on time, on budget and with the highest customer satisfaction scores.  Our references are public, verifiable and serve as a guide to our abilities and commitment to excellence.

We are not here to run up your professional service bill.  We are here to help you realize your call center vision an always work on a “fixed fee” basis.

We deploy “virtually” and “globally” so just click or call! – DrVoIP@DrVoIP.com

DrVoIP fixed cost deployment packages

  • Complete design, deployment and training base package includes:
    • Amazon Connect instance setup in customer AWS Account, with usage billing direct from AWS;
      •  Up to 10 inbound toll or DID numbers
        • DNIS direct to queue routing or 1 IVR DTMF Options Menu
      •  Up to  5 Customer Service Queues
      • English Language support (option for Spanish, French)
      • Unlimited Agents
        • We configure 5 Agents for your use as a template and you configure all the others you may want
      • Up to 5 Routing Profiles
        • Routing profiles bind Agents to the CSQ they are assigned to work in.
      • Voice Mail with Email and SMS delivery
      • Queue Hold  with options for “call back”, voice mail, transfer or continue to hold for Agent
      • Website Chat
        • a single queue connector that enables website visitor to “chat” with call center Agent
      • Dextr Dashboard integration
        • Dextr can provide email routing, text routing, real time and historical reporting
      • Fixed Price Deployment $2995
        • Larger call centers quickly quoted!
    • OPTION PACKAGES
      • Multiple Language support
      • DIAL by Extension
        • Each agent has faux Extension number that can be used for direct call to agent
      • Dial by Name
        • Speech Recognition enables caller to speak a name (i.e. Tom) or function (i.e. Sales)
      • CRM Integration
        • Standard Publish Connector for Salesforce, Zendesk, Freshdesk, ZoHo, ServiceNow and others
          • Functionality defined by the CRM provider and author of the connector
      • CHAT BOT
        • FAQ, or Data acquisition before escalation to a Call Center Agent.
  • Free Trial of Dextr Dashboard is included!

To order an Initial Basic Configuration package and receive a detailed planing guide click here .  Contact DrVoIP@DrVoIP.com or Better yet,  Call 800-946-6127 ask LEX for the the Doctor!

Amazon Connect Call Center build strategy

We offer qualified companies a no cost “Proof of Concept “ (POC) Amazon Call Center Instance built in our portal for your use and testing with your agents able to log in and take phone calls on a number we provide.  A POC can be set up within a few hours!  From the POC, we design and deploy a solution that meets your requirements in your Amazon Connect portal.  We make use of our discovery process and planning guides.   We also build our solutions with our own Agent dashboard, named Dextr.   Dextr  provides the core feature set  that all call center professionals expect including voice, text and email routing to the ‘next available agent’.   We can also provide outbound “auto campaign dialers” to increase agent productivity for notifications, recorded announcements and appointment reminders.

Your TCO is further reduced, when compared to the cost of the  software engineering or professional services required to obtain the same feature set as that available to Dextr subscribers.    Dextr is a UCaaS solution that front ends Amazon Connect Instances with a custom agent dashboard and supervisor display.  Any enterprise with an Amazon Connect instance can onboard themselves at https://Dextr.cloud.  We deploy “virtually” and “globally” so just click or call!

DrVoIP Amazon Connect for the Business Manager

  1. What makes up a Basic Amazon Connect Call Center?
  2. Amazon Connect Discover Questions for Call Center Planning
  3. Amazon Connect Planning Guide
  4. Amazon Connect Historical Reporting Options
  5. The ROI and TCO when using the Dextr Dashboard
  6. Amazon Connect Check List
  7. Amazon Reporting Elements
  8. Understanding Amazon Connect Billing
  9. Amazon Connect & Dextr.Cloud Agent Dashboard
  10. Three Minute Video Overview of the Dextr Dashboard for Amazon Connect 
  11. What are “soft limitations” on new accounts?
  12. Advanced Post Call Survey strategies 
  13. Speech Analytics now a standard part of Amazon Connect and Dextr!

DrVoIP Amazon Connect for the Technical Manager

  1. Amazon Connect Basic Configuration Tutorial
  2. Amazon Connect Custom integration Tools
  3. Amazon Connect Configuration “tips and tricks”
  4. Tech Tip – Understanding LEX BOT Versioning and Alias 
  5. Deep Call Back from Queue without losing your place in Queue 
  6. Simple, Cheap and useful Voice Mail Solution 
  7. Is Today a Holiday Check?
  8. Amazon Connect “Forced Release” Options 
  9. Amazon Connect building prompts with Polly
  10. Building Conversational LEX Solutions
  11. Amazon Connect Call Back from Queue Options
  12. Email Routing in Amazon Connect
  13. What are “Soft Limits”
  14. Building Custom CCP for CRM Integrations
  15. SMS Inbound request for call back 

DrVoIP YouTube Channel – Complete Amazon Connect Configuration training!

Amazon Connect Email Routing using Dextr.Cloud

The Dextr Dashboard for Amazon Connect Agents has added email routing to its existing voice and SMS/MMS channels.   Similar to a voice call, an incoming email message is routed to the next available in the queue assigned for email.   Dextr will collect emails, provide auto responders.   The email is “sticky” and the email conversation will stay with the first Agent to respond to the email until the conversation is ended.  Similar to the Dextr SMS channel, if the original agent is not available to handle the follow on conversations, the entire conversation will be forwarded to the next available agent.

Setup is easy, in the Channels tab of a Dextr user with Administrator permissions, simply enter the appropriate email user, password, imap and smtp host address!  Then configure the queue that should be the target of an inbound email along with the initial email auto responder and the end of conversation auto responder.  Multiple emails can be established and can point to different customer service queues!

Email setup and queue selection!

Agents can manage email and voice calls depending on the permissions and queue assignments.  Creating an email named CustomerCare@yourcompanyname.com can be routed to the customer service team.  Email is an asynchronous yet powerful customer tools and many folks prefer it to waiting on hold for the next available agent!  When an incoming email is routed to an available agent, they accept the mail exactly as they do a voice or sms call.   Opening the ENGAGE EMAIL tab displays the content of the incoming email.  As the email conversations ping pongs back and forth, the agent will see the entire email conversation in the ENGAGE portal.

The Agent will find the accepted email in the email client registered for that agent’s email box.   The agent will then respond to the email and Dextr will assure that the recipient of the email sees that it is from the address of the origitanl email TO: filed.   There is a button to END the conversation and when clicked, the final auto responder defined during the email channel setup, is sent to the author of the original incoming email.  (Those familiar with ShoreTel ECC routing will be very comfortable with this email implementation which has the additional benefit of being “sticky”.  If the agent who originally responded to the incoming email is unavailable, the entire email conversation is forwarded to the next available agent for follow up.

Dextr email routing is a bundled feature in your subscription and you should give it a try!  Price is what you pay, value is what you receive.   DrVoIP@DrVoiP.com

Amazon Connect Call Center Planning

Basic Amazon Connect Configuration  Overview

Creating an Amazon Connect cloud based call center is relatively easy for a non-technical business process manager to implement.  You do not have to be a software engineer to get a basic inbound call center operational in a remarkably short time, often less than an hour.   Setting up a basic inbound call center however, is generally not going to meet your over all call center functional requirements and you will need some software engineering assistance from not only experience call center professionals, but from engineers who are certified and experienced in all Amazon Web Services!  A Call Center will generally require some integration with CRM solutions, or databases that can provide custom routing based on customer historical interactions.     You may also want to replace old world phone trees or Interactive Voice Response (IVR) systems with modern Chat Bot options!   Why “press 1 for this, or press 2 for that” when the natural language speech processing is available.

What Information do we need to setup our Call Center?

Generally a basic startup inbound call center deployment starts with a Call Flow Plan.   To help you better understand the concept of “Call flow”, lets walk through a basic Amazon Connect configuration:

  1. First you will need to create an Amazon Web Service Account.  This is very simple and though there is a free tier, you will need to put in a valid credit card to open the account.
  2. Once you create the account as the root owner, you will then need to go to IAM and create a user account that has permissions to create an Amazon Connect instance and also to access the various other services your call center may need.
  3. This new user should then login and find Amazon Connect and launch a new instance in the Region you want to make use of (i.e. US-East)
  4. Once the Instance is created you will do the following in this order:
  • Claim a Phone Number – You claim a number through Amazon and it can be either toll free, or a direct dial local number of your choice
  • Establish your Business Hours of Operation – When are you open and when are you closed?  Global or by Customer Service Queues
  • Create Customer Service Queues (CSQ) – Technical Support, Customer Service and Sales are typical examples
  • Create Prompts – What does a caller hear at each step through the call flow?  You can do these in TEXT format for conversion to speech and then later, when firm, record with human voice
  • Create Contact flows (Call Flows) – Answer Call, Play Prompt 1, Get caller input, route to caller choice, queue if no agent available. Here is a short video we created on the importance of good call flows.
  • Create Routing Profiles – Queues are placed in these profiles. Users are put in Queues together they determine who handles what callers
  • Create Users and assign them to Routing Profiles

This information will be the basic configuration required to build a very basic Inbound call center.  With this information complete, Agents will be able to log into the customer service queue they are assigned to handle.   You should be able to call your claimed number and be routed through your flow to an available agent.  If not agent is available, callers will queue and listen to the care prompts you have provided.   All this is captured in both real time metrics and historical reporting.

Moving from a Basic to an Intermediate Call Center

You basic call  center will have many additional requirements that will generally require a more experienced design and implementation engineer to become involved!  So lets revisit the items under step 4 above and look at the options that might exist beyond that basic configuration:

Claim a Phone number – Generally you will call forward your existing number to this new call center number.  Optionally, you can “port” or move your current number directly to Amazon.   More importantly, you will generally have more than one phone number.   Phone numbers generally terminate in either an IVR or directly into a CSQ.   Ideally if you can assign a phone number directly to a CSQ you can avoid prompting callers to select from a menu and this is always a better solution.   Why “Press 1” for Spanish, if you could publish a number that is always speaking Spanish.   If the Caller is going to be prompted by an IVR, the question is what does that menu of options include?  Someone has to write this out so that the various outputs can be mapped to required call flows.  The next question is should this be a “Press X” type of IVR or would a natural language speech interface be more appropriate?  What would you prefer to have your callers hear? “Please press 1 for sales and 2 for service” or “Thank you for calling, how can I direct your call”?   Amazon has a service named LEX (you may have heard of his sister Alexa) that can be added to replace or augment the old “Press” option menu!

Business Hours – Seems straight forward, you list out your work days and your closed days.   The real question is do all CSQ’s fall under the same time calendar? Or is Technical Support open on days and times when the Sales line might be closed?  If so you will need to create a business hours time/calendar for each CSQ in your deployment.   You might also want to create a business hours schedule for when we stop offering callers the call back option.  For example, we are open from 9-5 Monday through Friday.  However, at 4:30 we do not want customers holding for an Agent to be offered the option of a call back.  This would require a dedicated business hour schedule for that function.

Create CSQ’s – Clearly each queue has to have a unique personality, schedule and agent pool.  The call flow for each queue may be different.  Some options offered callers to Technical support may not be offered to callers to the Sales line!  Just create a list of queue names to become part of your call center call flow.

Create Prompts – Generally we encourage the creation of prompts to be among the first items on your “to do list”.  Thinking through the message your callers hear as they self navigate your call center can help you plan  your call flows more effectively.    Amazon offers a service that is build into Amazon Connect named Polly!  Polly is a “text to speech” engine and a great tool for developing prompts.  We prefer to use this solution until we debug your call center call flow and everyone agrees the prompts are exactly as required. Then, even though Polly has many excellent voices to choose from, you can then have these scripts professionally recorded.   We can help you with that as well!

Contact Flows – This is the basic blue print for how your call center works!   It is a series of building blocks that define the customer experience from the first incoming ring, until the last interaction and call termination.   Each Phone number that enters the call center needs to have a diagramed “call flow” that shows the various steps the caller is to navigate.  It might look something like:

  • Call is received after business hours and hears “You have reached us outside of our normal business hour M-F 5-9.  Please hold and we will transfer you to the message center”.
  • Caller is answered with prompt “thank you for calling, you call will be recorded for service improvement”;
  • Caller is routed to IVR Tree: “Please Press 1 for Sales and 2 for Service”
  • Caller that Presses 1:  Capture the Caller ID and use that to look up the caller in Salesforce.Com and then transfer the caller to the next Available Agent in the Sales CSQ along with the SalesForce screen pop.
  • Caller that Presses 2; Is transferred to another IVR menu: “Please Press 1 for new order, or press 2 to check the status of an existing order”.   Caller that Press 1 is sent to SalesNewOrders CSQ.  Caller who presses 2 is transferred to another IVR: Press 1 if you know your order number”

Clearly this would be better drawn as a “organizational chart” but we think you get the  basic requirements of a call flow.  When working in Amazon Connect your call flows will be graphically constructed and look something like this:

 

Create Routing  Profiles – Call profiles are used to match callers to a queue or a list of queues.   So a phone number might point to a contact flow that offers the caller a choice between Sales and Service.   Choosing Sales, for example will route the caller to a profile that contains a list of Sales Queues and priorities.  You might say route the caller to Sales and if they are not answered within 60 seconds route them to customer service priority queue for handling.  Call profiles enable the list of queues, the order of queues and the priority of queues for this reason.

Major Functional Feature Enhancements

It is rare to find a call center that does not have a requirement to integrate with a CRM package like Salesforce.com,  SugarCRM or EPIC.    Often enterprises will have a custom database on their internal network that contains customer specific information that can be used to assist in routing callers, or providing additional screen pops to agents.   Chat Bots are also becoming important in off loading typical requests to an automation process that speaks natural language!   Did you know that Amazon Web Services has a range of services that include transcription, language translation and language comprehend?  You can run your voice recordings through a transcribe utility that you can then “key word search” to help improve agent productivity.  Or run that same recording through a language translation service that can take input in one language and create out put in another language.  How about TEXT messaging and Email Options?    Not all customers want to call, some may want to send an email or text message to the next available agent.  The functionality of your call center is shaped only by your imagination!  If you can envision it, Amazon Connect can implement it!

Other Useful DrVoIP Amazon Connect Subject Matter Posts and FAQ page!

We have yet to find a Call Center requirement we could not implement with Amazon Connect and the every growing library of Amazon Web Service solutions!  If you can imagine it, we can implement it.   Let’s put our heads together and construct a call center that meets and exceeds your call center requirements!   Contact DrVoIP@DrVoIP.com, or Call 844-4-DrVoIP – and ask for the Doctor!

 

 

 

 

 

 

 

 

 

 

 

The ROI of the Dextr Dashboard for Amazon Connect Call Centers!

Amazon Connect the Call Center!

Amazon Connect allows you to tap the very rich library of AWS Services including AI, Natural Language Processing, text to speech, transcriptions and translations!   Your Amazon Connect instance is scalable, resilient and fully redundant in the most widely respect cloud on the planet.  If you can “dream”  it, you can create a call center that meets your exact requirements.   Amazon Connect enables even a non-technical professional the simplicity of configuring an inbound call flow, attaching a phone number, defining agents and operating hours and in less than an hour, you are taking phone calls. Given that every call center has some kind of database integration required to pop screens, or route callers, you do need some software engineering and consulting services to get to the next level of feature sets and functionality.

That is why we think the Dextr Dashboard, at less than a penny a minute all but pays for itself.

Lets look at some feature examples:

Assume you would like to add “Holiday Schedules” and “Ad-hoc closings” to your Amazon Connect feature set.  Out of the box, Amazon Connect does not have Holiday schedules.   This is not a very complex feature set to implement if your are a software engineer.  Add Amazon DynamoDB as the database engine to store you Holiday list and Amazon Lambda to be the code that checks  to see if “Today Is a Holiday” is a TRUE value, returning that result to to your Amazon Connect Contact Flow.  If it is true that today is in fact a holiday, we want to route you to some options for handling your call while we the call center is closed!

As a Supervisor you may want to close your Customer Service Queue (CSQ) to hold a team meeting.    You will want to do this yourself without having to fill out a service request for the Admin team.   Ideally you will want to identify the meeting as “technical support team weekly update”, set the date and time of the meeting and even create a custom prompt to be played to the caller if they reach this CSQ during the time the meeting is taking place.   Again, given the library of AWS services available this is relatively straight forward for an implementation engineer.  You will use the same tools as the above Holiday schedule but you will need to add in Poly for text to speech to get that custom prompt.

AgentUser Interface or “dashboard”?

Then again there is the issue of how do you interface with Amazon Connect to implement those simple features?   You are going to have to create some user friendly graphical interface that simplifies this magic and makes it easy for the Supervisor to do this on their own without technical support from the IT or Admin team.    In fact, you will most likely want to have a user interface that can stand the test of time as you continue to enhance your Amazon Connect feature set!   This graphical user interface should also work on multiple devices in addition to your desktop computer.  Devices like smart phones and pads for mobile supervisors and remote agents!

How much does feature development cost?

So using the two features above as an example, Holiday Schedules and Ad-hoc closings, let’ look at the cost of design, deployment, training and ongoing support.    First, you would contract with a competent, experienced and Amazon certified development resource.    Let’s assume that you contracted with DrVoIP, a certified Amazon Connect Service Delivery partner.    You would expect a written statement of work (SOW) and a budget.   This might look something like this:

  1. Holiday Schedule – Enables the creation of a holiday list that indicates the date and time during which specific customer service queues may be closed.   The application should enable both full day and half day closings.   The application should allow for different schedules to be applied to different customer service queues.   The contact flows for each of the affected customer service queues will be modified to incorporate this functionality. – 40 hours
  2. Ad-hoc  closing with custom prompt- Enables an individual with Supervisor permissions to configure and close a customer service queue.  The Supervisor must be able to set the time and date. the date must also be able to be for multiple days.  Additionally, the Supervisor should be able to create a new prompt to be played to the caller during the closed period.The contact flows for each of the affected customer service queues will be modified to incorporate this functionality. 40 hours
  3. Front End GUI – Develop a simple administrative user interface to enable the configuration and management of the above  two features.  Assure that the interface has growth potential to enable the addition of new functionality as it is developed. – 40 hours
  4. User Training and “go live” support.  – 5 hours
  5. Project budget for DrVoIP Virtual Implementation model  125  hours at the already ridiculously low price of $135 an hour = $16,875

Why Dextr is “almost free”!

The Dextr Dashboard includes this basic functionality.   Dextr has a price of less than 1 penny a logged in minute (e.g. .007).   This means you could drive a Dextr Dashboard for 2,410,714.29 or 5,035 days!  Given an agent day of 480 minute, you could drive a 20 agent call center for a year!

Now Consider that full range of Dextr Dashboard features and the value proposition sky rockets!

  • Nothing to install! Instant Access via https://go.dextr.com which has video instructions for on-boarding;
  • Customizable Logo and YourCompany custom log-in URL;
  • Role based Login (supervisor, agent, administrator)
  • SAML support;
  • Agent Team Status Display;
  • Agent to Agent Chat
  • Agent Call Activity with (click to return call);
  • Directory System with Click to call;
  • Help Button – Alert Supervisor;
  • Queue Monitor – including calls in queue, max waiting time; optional red, yellow tags)
  • Personal Recording; (permission option);
  • Supervisor Permissions add: Login/Logout (change agent state) Monitor, coach and Barge in;
  • All Recording search and play (see note 1 below);
  • Real Time Metric review Report Generation
  • Ability to set Holiday Schedules and “ad hoc” closings with new close prompt (think team meeting).
  • Push Announcement String out to Agent Dashboard for alerts and other notices.
  • Omni-Channel SMS/MMS enables test and pics to the next available agent
  • Omni-Channel email routing to the next available agent
  • “no headset” audible alert options for softphone

Head over to https://Dextr.Cloud and sign up for a “free trial”.   What?  You do not have an Amazon Connect call center?  Then give us a call and we will build you a proof of concept and then migrate you to the cloud based call center of your dreams!  – DrVoIP@DrVoOIP.com

 

DrVoIP named Amazon Connect Service Delivery Partner

For Immediate Release!

DrVoIP Achieves the Amazon Connect Service Delivery Designation

May 15, 2019 DrVoIP announced today that it has achieved the AWS Service Delivery designation for Amazon Connect, recognizing that DrVoIP improves customer experience and outcomes by identifying customer pain-points and business objectives, and designing a solution based on Amazon Connect and other AWS services to help customers deliver an exceptional customer experience.

Achieving the Amazon Connect Service Delivery designation differentiates DrVoIP as an AWS Partner Network (APN) member that provides specialized demonstrated technical proficiency and proven customer success in delivering Amazon Connect. To receive the designation, APN Partners must possess deep AWS expertise and deliver solutions seamlessly on AWS.

“DrVoIP is proud to be an Amazon Connect Service Delivery Partner, said Peter Buswell, iCEO. “Our team is dedicated to helping companies achieve their technology goals by leveraging the agility, breadth of services, and pace of innovation that AWS provides.”

AWS is enabling scalable, flexible, and cost-effective solutions from startups to global enterprises. To support the seamless integration and deployment of these solutions, AWS established the AWS Service Delivery Program to help customers identify APN Partners with deep expertise in delivering specific AWS services.

What Clients Say about DrVoIP

Sean Kennedy IT Manager FMG Suites San Diego, CA – DrVoIP and team are very knowledgeable on AWS an specifically in our case the Connect product. Dr VoIP was able to build out a brand new call flow for our main business and several other phone systems that were brought in to the organization though acquisition. DrVoIP and team were able to meet with us, gain understanding of our needs and then able to implement a solution in AWS Connect that exceeded expectations. The cost savings of moving to AWS Connect has been huge and we loo forward to a continued relationship with DrVoIP and taking advantage of new features in Connect.

Brian Cox, IT Director ASMR, Fairfax VA – DrVoIP has been taken a very hand on approach to implementing our needs as we work to develop a replacement helpdesk solution. Our Helpdesk staff is very particular in their demands and DrVoIP has shown great flexibility in producing or adapting solutions to meet these. Additionally, they provide regular status updates are always available to hop on a conference call to hash out any issues. Additionally, I feel their knowledge of both the AWS product as well as our previous product (ShoreTel) has been a great asset in easing the transition, as they already know how our current solution works and what we will want from AWS in regards to mimicking certain features.

Contact DrVoIP@DrVoIP.com for further details.

Understanding Amazon Connect Call Center Pricing!

Amazon Connect Basic Pricing Model

Even the most hostile competitor will grant that Amazon has changed the pricing game in call center technology.   “No license fees” and “pay only for what you use” are compelling strategies that would stop a man on a galloping horse!   Amazon typically summarizes the cost of its Connect call center as consisting of three components; the service usage charge, the cost of a ten digit voice number and the cost per minute of using that voice number.

Pricing Examples

An end-customer calls using an Amazon Connect US toll-free number in the US East (N. Virginia) region, answered by an agent on the Amazon Connect softphone. The call lasts 7 minutes.  There are 3 separate charges that apply for this call:

1. There is an Amazon Connect service usage charge, based on end-customer call duration. At $0.018 per minute * 7 minutes = $0.126

2. There is the day charge for use of the US toll-free number. At $0.06 per day * 1 day = $0.06

3. And there is an inbound call per minute charge for US toll-free numbers. At $0.012 per minute * 7 minutes = $0.084

So the total for this call is $0.27 (plus applicable taxes, fees, and surcharges).

This cost analysis is accurate but assumes that your call center is an isolated model with no integration with any other AWS Service.   Optional services, used to enhance your Call Center functionality and improve the customers experience have additional charges that are not reflected in the basic price example above.   To get a more accurate picture of the true cost of a call center we need to make some assumptions as to how an average call center is configured, noting the various service that may be required to implement the requirements of that call center.   Then we can look at the additional service costs and improve our understanding of the true cost of an Amazon Connect Call Center.

Real World Call Center Requirements

Let’s take a look at several very basic, yet very real world call center requirements and then evaluate the cost of the additional services.

  • Custom Call Routing

    • Most if not all call centers have some kind of call routing algorithm that usually require and external computational resource in the form of a database and the code or application that evaluates the database information.   For example, assume that we want to route calls based on the callers possible location using the Area Code displayed in the incoming caller ID.   Additionally, let’s assume that we want to evaluate the callers relationship with our company be determining if they are a new customer or an existing customer.  In both cases we would be looking up the callers incoming phone number in an external database to resolve either or both of these questions.  We would route the caller to the Agents that handle New  York, or route the caller to Agents that handle new customer or existing customers.   There would be any number of technical solutions for implementing this caller lookup, but for purposes of discussion, let’s just assume we will not spin up a Windows SQL Server in an EC2 instance, but use AWS Serverless solutions that include a DynamoDB table and some Lambda functions to operate on that data!
  • Holiday and “Ad Hoc” Closings

    • Call Centers operate on dynamic schedules that very often impact the handling of inbound calls.   Are we open or closed sounds like a simple decision, but it does require some additional “belts and suspenders” to get an answer to that question.   If we close on Holidays, we will need to reference list of days we are closed (read: database).   Some call centers enable supervisors to temporarily close a customer service queue for a team meeting.  Depending on the sophistication of this feature the supervisor might also create a custom prompt to be played to the caller during the team meeting.
  • Real Time Queue Metric Displays

    • Again, call centers typically display the status information of the various customer service queues that comprise the call center.   We want to know how many folks are waiting in each queue, how long they have been waiting and highlight the caller that has been waiting the longest.  When we answer a call we update that data set and when we terminate that call we update that dataset again.    Agents often want to see the status of their supervisor and team mates.  Are they “talking”, “idle” or in some “release” state?   AWS Connect has a library of API’s to help with the analysis of this information but it will require additional services to make use of that information in a way that has a positive impact on the call center stake holders.  (Read: Kinesis streams, DynamboDB and Lambda functions).
    • Perhaps you will want to run these recordings through transcription and translation services.  AWS has some exciting NLP and AI options that will impact that call center in astonishing ways.  Imagine English Call Center Agents being able to interact with Spanish, French or Chinese speakers!  Transcribing speech in realtime and popping agent prompts or recommended responses based on sentiment or key words used by the caller are all viable options within the AWS service stack available to an AWS Connect Call Center.
  • Logging & Recordings

    • Call Centers typically record phone calls for a variety of compliance and service improvement. Those recordings need to be stored somewhere along with your real time contact record trace logs (Read: S3 bucket).
  • Voice Analytics 
    • AWS has a service LENS which provides transcriptions of voice recordings and applies sentiment analysis on that recording.  Usually a third party provider in other solutions but now included in Amazon Connect with an additional charge.
  • Single Sign-on Options for Agent Login/Out

    • Cognito, SSO with SAML or other authorization options.
  • Custom Agent Dashboard and Real Time Display

    • Most folks will find the CCP or softphone that comes standard with your AWS Connect instance to be very useful for basic answer, transfer, hold and consult operations.  Getting additional information displayed to the agents however may require additional desktop display options.   For example, how do you retrieve and playback those phone call recordings?   Do Agents need to add a “disposition code” at the end of a phone call?   How is the queue and agent team status information displayed to the agents?  Do Agents work with channels other than voice?  Do they handle Text messages?   Chat sessions?  Social Media messaging?     This options will require an Agent interface that can display this information and enable the agent to interact with these other channels.

Real World Call Center Example

Granted the above requirements are very basic, but they are representative of the type of services that a call center would expect to be available and they also have additional service charges not covered in the basic AWS Connect Pricing Example we listed above.   Let’s take a real world call center example and then apply the additional charges that would be incurred if we were to implement the above requirements.    In this example we are drawing from an actual day in the life of an actual call center that is considering migrating to AWS Connect.

Daily 70 Agent Call Center Utilization:

  • Inbound Phone Calls for the day: 4959
  • Average Call Handling Time: 7 minutes per call
  • Total Minutes of use: 34714 minutes or 578.5 Hours
  • Base AWS Cost $624 (assume telephone carrier costs the same across all competing options and are not included)
  • Base Annualized assuming 261 working days = 9M Minutes or $163,086.00 per year in AWS Connect Usage Charges

Additional Service Costs

The most costly services in this very simple example would be DynamoDB and Lambda.    DynamoDB pricing has several components; the size of the Table for data storage (.25GB), DynamoDB Streams, Read ($0.09 per RCU-month),  Write Requests ($0.47 per WCU-month).   The pricing for Lambda is far from simple: A free tier followed by $0.20 per million requests plus $0.00001667 per GB-second of ‘compute time’ used per month plus the cost of the API Gateway or streams.Each incoming phone call will result in:

  • Lambda Call to DynamoDB Table for Routing Information
  • Lambda Call to DynamoDB Table to determine Possible closing
  • Lambda Call to DynamoDB Table to add caller to Queue count and update display
  • Lambda Call to DynamoDB Table to remove Caller from Queue and display when call answered
  • s3 Storage increase of 7 Minute recording Object (.023 per GB)
  • s3 Storage increase for Logs and Contact Trace Records (.023 per GB)
  • Agent Login/Out Call to Cognito or SSO SAML provider (.15 per 10000 sync operations)
  • Summary –
    • >19K Lambda Calls per day, 5M  per year
    • >19K DynamoDB Read Requests
    • >19 DynamoDB Write Requests

Other important service considerations

Advanced functionality like Natural Language Processing, Speech Recognition, Transcription, Translation, Voice Analytics, Workforce management, Polly and LEX are some of the other services that you will undoubtedly make use of in your call center design.  These will all be billed as AWS line items outside of the Connect usage charges.    The above Basic functionality Example is probably adding an additional $25 a day or $6K a year to the cost of an Amazon Connect Call Center based on the above call center stats!

Clearly, unless you have a team of software engineers on your staff that understand these AWS service in addition to their coding skills, you are going to need design and implementation expertise.

Again, though pricing can get complex and often has many components that are not easy to identify like data transfer, encryption and acceleration it is all more than manageable and very cost effective.   In fact all of the above functionality could be included in the use of a custom dashboard from Dextr.Cloud which would give the Agents and Supervisors all the real time status information they require, enable agent to agent chat, email, text, supervisor alerts, monitoring and coaching and a growing list of new features as the product development map unfolds!  This functionality could be fixed for a modest charge of $69 a month per simultaneous agent access.   Small price to pay for that list of feature, would you agree?

 

 

SUMMARY of COST CONSIDERATIONS

We see five areas for understanding Amazon Connect:

(1) Carrier cost = DNIS/800 as published generally .03 center per day for a DID number and .06 cents per day for a toll free number/

(2) usage cost for using the carrier per published price generally .0022 for DID and .012 for toll free

(NOTE – the above charges would be required of any solution you are considering, generally AWS will be less costly however)

(3) .018 connect minute service amazon connect  you are billed from the time call comes in to your call center until it terminates.  It does not matter how many agent you have as you do not pay for agent licenses as is the case with the usual cloud call center providers.

(4) other AWS services like chat (.004),  LEX (4000 speech requests estimate .004 per request or $16 ; lambda ( 1 Million request free per month then .00000002083 per request) /dynamoDB  (https://calculator.aws/#/)  and other service they may use like S3 for storage etc. (5) dextr (.003 per logged in minute)(edited)

We have an AWS Pricing Calculator that can help you with these more advanced calculations, just give us at call at 844-4-DrVoIP and we will make it available to you.   We can provide you with seats in our demo call center if you would like to try both Dextr and AWS or we can build you a proof of concept call center in your AWS account for a modest fee, or you can take up to five seats in our demo center, with your own dedicated greeting and phone number!

 

 

What makes up a basic Amazon Connect Call Center?

Simplicity!

Clearly the self service configuration of an AWS Connect instance is easy enough for a call center supervisor to setup! The drag and drop “contact flow” steps are easy to understand and simplify the configuration of a basic inbound call center.  There are however many other services in the AWS Cloud tool kit that even a basic call center will need to draw on. These basic services include Polly text to speech, S3 storage “buckets” for phone recordings and reports at a minimum. This image has an empty alt attribute; its file name is BasicConnectConfiguration.png

Service Options

Many applications will require some kind of database to hold custom routing data. This database would be accessed by Lambda functions that will require a competent software engineer to write, test, deploy and maintain. Recently we had a request to route calls in a “round robin” manner. Out of the box, AWS Connect wants to send the caller to the next available agent in the target CSQ.

DynamoDB and Lambda the power duet!

Using Dynamodb and Lambda functions we could maintain not only a list of agents in the “round robin” but note which agent received the last phone call and which agent should get the next phone call!

How about a Holiday Schedule of closings? Or better yet a facility that would enable a supervisor to close a queue for a team meeting and also create a custom prompt to be played to callers during the closed time period on an “ad hoc” basis? Again you will need some Lambda code and a dynamoDB database!

Did you want to setup TEXT notifications for emergency after hours notifications to “on call” personnel? That would also require some software engineering and the use of AWS Pinpoint and SNS to make that requirement happen.

Real Time metrics of Agent activity and status along with Queue activity, including longest waiting caller and maybe a list of callers in queue by caller ID are opportunities to test your front end GUI web development skill set.

Lose the IVR and use LEX!

LEX is a very popular speech recognition engine that understands natural language speech and get really help eliminate that so 80’s touch tone IVR call tree we have all come to loath! It is way more entertaining and useful to use LEX than push buttons on a phone set!

The good news is that as your requirements for more sophisticated applications continue to unfold across the operational time line of your call center, AWS has all the services you could possible require! From AI to Transcription services, translation service, comprehension and advanced CRM integrations like EPIC and Saleforce, AWS has it all.

You just need to tap the talents of folks that are not only call center savvy, but full stack web developers, with database expertise!

Give us a call, we would love to help you realize your call center dream!