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)

 

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!

 

 

 

 

 

 

 

 

 

 

 

Why would you text a picture to your Amazon Connect call center?

If you have ever worked in a help desk technical support role in a call center environment, you have always wished you could “see” what your caller was stressing about!  How many times, if you could have seen that device, you could tell them specifically which cable to move.    Insurance adjusters also have that same challenge.   It would really be helpful if you could text me a picture of that crumpled fender!

Being able to send a TEXT message to your call center could be a major time saver!   Yet how many call centers can route an incoming TEXT message like a voice call, sending it on to the next available Agent?  The Dextr Dashboard now enables incoming TEXT messages to be sent to the next available AWS Connect agent. Messages can be TEXT (SMS) or PICTURES (MMS)! Dextr also enables “sticky SMS” which assures that an “in progress” text message exchange stays with the agent that originally handled the text request. If a message is assigned to an agent who is not currently logged in to AWS Connect, the entire text conversation is moved to the next available agent!

“TEXT” becomes a “skill” or permission that is added to an Agent profile nominating them to participate on inbound text messages sent by callers.  Dextr has a variety of interfaces that support Voice, Text, Email, Chat and Social Media messaging and an inbound message will pop the correct TAB enabling an Agent to handle multiple channels if they have the correct skill or permissions.

If you are using an AWS Connect call center, head over to http://go.dextr.cloud and onboard you instance and give the Dextr dashboard a try!  If you are not using AWS Connect, but are thinking about it, we would build you a proof of concept and you can still try it!  No cost to you, so give us a call!

Amazon Connect Forced Release Behavior Option

Sometimes it is better to give folks what they want, rather than what they need! Over the years of working with call centers you develop a sense of what is a best practice and what is something that will be nothing but a problem! You do your best to educate folks on the issues and make recommendations that you know are in their best interest. However, “if you have the peso, you have the say so” and ultimately we do what the client wants to do, right or wrong.

Such is the issue of the “forced release” status that results from an unanswered call presented to an “available” login agent. Most if not all call centers, will attempt to present a call to the next available agent based on the routing plan, generally “longest idle”, “round robin” or “top down”. The issue is what do you do if the agent does not answer the presented call?

Most all call centers will set the agent to “forced release” which does two things. First, it assures that we do not waste the callers time presenting another call to an agent that may not be present. Secondly, an agent in “forced release” alerts a supervisor to a potential staff management problem.

Recently we had a client who did not want agents put into “forced release”. Well if we do not put them in forced release what is the desired behavior? Take an CSQ with one agent for discussion purposes. If we present the call to that agent and the caller is not answered within the system Ring No Answer time, we would normally queue the caller for the next “available”agent and put this agent in “forced release”. if we do not put the agent into forced release, the call will be ping ponging back and forth between the queue and the same agent!

Ultimately it was decided that we would create a global option that would allow the administrator to set the default behavior for the call center. The default behavior is either “forced release” or, thanks to Dextr, “follow Wrap Time behavior”. In this way a call presented to an agent and not answered, would optionally be put in “wrap time” or “after work”.   The Dextr application also enables the global setting of a “name” for the wrap behavior to distinguish that mode from a normal wrap period.  This seemed like the best solution.  This would enable the agent to return to “available” status when the wrap time or after work time expires.

Comments are welcome!  DrVoIP@DrVoIP.com

Amazon Connect Custom Integration tools!

If you have taken the time to experiment with AWS Connect and the creation of a cloud call center instance, you know that the basic setup is achievable by a business analyst and no implementation engineer is required. This is good news for very simple, inbound call centers but if you are planning to connect with the rest of the enterprise, you will need some folks skilled in full stake web service development.

No Call Center is an Island!

Call Center as a business process and customer experience management, require that the call center be able to communicate with other information resources throughout the enterprise. The interface between the AWS Connect call center instance and the rest of your organization will must certainly require both middleware and API’s that make use of advanced software development tools within AWS!

Common integration requests that dominate the call center technology space include:

  • Customer Routing Database Integration;
  • Work Force Management
  • Voice and Screen Recording and Playback
  • Voice Analytics
  • Salesforce.com
  • Electronic Health Record
  • Website Integration (think MyChart or CoBrowsing)
  • Microsoft CRM
  • Microsoft Skype for Business
  • Custom Agent dashboards
  • Real Time Metric display boards

These are just a few of the common requests we see on a daily basis. There are also unusual requests for custom solutions that are unique to the business enterprise the call center is deployed in!are also unusual requests for custom solutions that are unique to the business enterprise the call center is deployed in!

Common AWS Connect Integration Tools!

There are a few tools that are essential for developing integrations in AWS Connect. Generally, you will always require Lambda a “function as a service” to unite the call center to any other service. Lambda is “serverless” so you do not need to worry about setting up a server and you can write your function in any of the popular programming languages including Node.js our particular favorite!  Unless you are interfacing with a CRM, you will need a database and we would choose a noSQL solution like AWS DynamoDB, another server less solution.  Lets assume you want to route calls based on the callers area code, so that east coast calls go to the Agent group in your hierarchy that is optimized for east coast callers.  Maybe you want to greet your callers by name. This would require you to pass the Caller ID on an incoming phone call to a function in Lambda that would look up the customer and find the name, then pass the name back to the call center and activate Poly, the AWS text to speech service, so that you can prompt the caller with “Hi <customerName> before continuing to route the call to an agent!  Maybe you want to display the callers name to the Agent when they answer the call, which would again require both Lambda and DynamoDB in addition to some custom code!

Custom Agent Display?

Sometimes it is necessary to create an entire Agent dashboard to handle information displays, team collaboration, key metric broadcast, recording retrieval and playback.   We created the Dextr.Cloud dashboard to provide such an interface.  This is an example of the type of integration that is possible with AWS Connect and the many services that exist in the AWS Cloud.    We are interested in learning more about your own call center integration requirement and invite you to give Dextr.Cloud a try and also to contact us with your integration “’wish list’.   We have seen a lot of requests and nothing suprises us anymore!  So please feel free to play ‘STUMP THE VENDOR” and we will see if we can help you or at least direct you in the right direction!

 

 

 

Amazon Connect Arrange a Call Back from Queue?

Setting up options for Callers waiting in Queue for “the next available representative” often include offering a call back option. Generally, it is a best practice to not offer this option immediately but queue the caller for some time before offering this option. They have already called in and you have answered the call, so let them wait a few minutes before offering bail out options.

Common Call Flow Errors!

One of the most common errors in call center call flow planning is allowing a customer caller to queue for an Agent when no agents are logged in! The second biggest error, is leaving folks in the call back queue, at 5PM when all the agents log out and go home! So how do you do make sure this situation does not happen?

As it relates to the first issue, we always check to make sure that Agents are logged in BEFORE we queue a caller! This is a very simple step to do and it saves a lot of aggravation for callers who will never forget how long you left them rotting away in an empty queue!

Now as it relates to ‘call back’ without losing your place in queue, we have the same issue. Let’s assume that you offer callers this option. It is now 15 minutes before closing, what happens if all the agents log out before the call back is next in queue?

Call Back without losing your place?

In AWS Connect, Call Backs will follow the On-hours schedule. So if someone left a request for call back at closing time, that option will not trigger until the next day when the queue is open per On-hours. Lets see if we can improve this, but NOT offering that option late in the day!

We can setup a new schedule that only offers the call back between certain hours, so that if it is near closing, we do not offer the caller this option. This can be easily scripted in AWS Connect Contact Flows by adding a “check on-hours” step that eliminates this option when callers enter the queue and hour before closing time. This assures that Agents can log out at the appointed time and not leave anybody in queue!

AWS Connect is written around “contact flows” of different types. A “contact flow” handles inbound calls and routes them to Agents in queue. A “customer queue” contact flow deals with how to treat a caller while they are awaiting for the “next available representative”. You will learn this the hard way the first time you try to add a block to a contact flow and find that, though the block was there earlier, it is not there now! Why, the contact flow you are working on, does not support this type of block.

Free Call Back Script just for Asking

In this example we use a “Main Greeting” that is triggered by a call to the DNIS number associated with this path. We start the contact flow off by setting up all the variables like what voice to use, are we logging, what queue hold to use, which queue we are using etc. The flow goes on to check operating hours – routing ON- hours to the Queue and Off-hours to the Voice Message center.

If it is “On-hours” we send the call to the Queue flow. If an Agent is available, we connect them to the caller. If all agents are engaged with other callers, we queue the call. We play our “poor mans” Estimated wait time and then queue them with a “care message” followed by Music. 60 seconds later, we offer the option to continue to hold for an agent, or press 1 to receive a call back without losing your place in queue’.

Before we offer this option, we check another schedule that determines if we should offer the call back option. If the caller hits the center during the call back hours, the call proceeds as described above. If it is an hour before closing time, we do not offer the option.

So hit us up with a request and we will send you three “Quick Start” scripts that enable you to get this working as quickly as you can import the scripts into your AWS Connect call center instance.

Better yet – Give us a call and we will set this up for you!

Amazon Connect replaces ShoreTel Workgroups with the Dextr Dashboard!

Replace ShoreTel Workgroups with AWS Connect1

Recently we had a client with a very specific set of requirements and DrVoIP was able to satisfy with Dextr dashboard!   The client had a ShoreTel deployment that used ShoreTel Workgroups. ShoreTel Workgroups are often called a ‘poor man’s’ call center.  The client had made a decision too they were migrating away from ShoreTel to Skype for Business, they needed a new Call Center solution.  Workgroups act like traditional hunt groups but they enable customer queueing and both historical and real time reporting in a manner that is very similar to a formal call center.

The client wanted to replicate ShoreTel Workgroups along with the same ‘look and feel’ as ShoreTel Workgroup agent dashboard.   This dashboard enabled queue monitoring and also enabled a supervisor to change an agent state from Forced release to available or move an agent between queues.   We had no doubt that AWS Connect was the ideal solution, but we knew the Connect Control Panel or CCP as AWS calls the webRTC soft phone, would need a lot of work if it was going to provide the same functionality as ShoreTel.

 

We created the basic Dextr Agent dashboard to have the same features and functionality as the ShoreTel Workgroup Agent interface with several new and advanced features.  We needed to create a solution that would enable Supervisors to create an ‘ad hoc’ meeting and to close the call center and even create a new ‘CLOSED’ greeting.   Additionally it would be desirable if the Supervisor could send a broadcast message to all the agents in the queue.  This broadcast message would scroll across the agents screen, alerting all to a situation that the Supervisor wanted to bring to the attention of all Agent.

AWS Connect Holiday Schedule.

The first requirement was to setup a holiday schedule and also to allow the supervisor to create a ‘CLOSED FOR MEETING’ date and time.  AWS Connect does not have this ability out of the box, but it does have the API’s available to create such a solution.  So our team added this functionality!  Dextr enables a user with Admin privileges to open a window and create both HOLIDAYS AND AD HOC closings.   The instance is initially stocked with all US Federal holidays already listed.  The Admin can modify, add or delete these dates.  They can also specify, via the drop down window, which queues they are closing.  There is also a Text to Speech window in which the supervisor can enter the text of a prompt that will be played to a caller should they call during that time slot.

Dextr uses AWS Lambda to test for a holiday or ad hoc closing as step one in the opening contact flow.   The Lambda function brings back open or closed, a reason code and the text to speech prompt.   In this way the caller might hear ‘ You have reached us at a time we are closed for <insert reason from Lambda>, please hold while we transfer you to the message center’.   The entire message is created by the supervisor as the TTS or text block that will be returned by Lambda.

Dextr also enables the Supervisor to send out a broadcast message that scrolls for all queues or just a selected queue!  This is a list of all the features of the Dextr Dashboard basic version;

  • Nothing to install! Instant Access via https://go.dextr.com which has video instructions for on boarding;
  • Customizable Logo;
  • Role based Login (supervisor, agent, administrator)
  • SAML support;
  • Agent Team Status Display;
  • 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.

Dextr augments the basic AWS Connect CCP softphone to enable advanced features that we find most call centers demand!  See Dextr.Cloud or DrVoiP.COM for additional details!

 

 

 

 

Dextr a Customized Agent Dashboard for #Amazon Connect Call Center!

AWS Connect CCP

Building out call centers on AWS, you learn a lot about opportunities for productivity enhancements!   One of the first issues that we noted was that the standard Contact Control Panel or CCP, which is basically a WebRTC soft phone client, though very useful has many opportunities for improving the Agent experience.   The list of request features is growing and as a result, we have taken on the development of  a customizable AWS Connect Agent Dashboard!

 

Call DrVoIP for AWS Call Center migration assistance.

If your only introduction to AWS is Connect, their cloud based call center product, you have successfully created your first call center instance and you are now taking inbound phone calls!   It was remarkably easy and with no real ‘geek” training, most call center professionals were able to log in, setup an instance, organize a call flows, create agents and voice prompts, obtain a phone number an in a few hours, you were taking phone calls!  Wow!

AWS Demo API’s

Did you know that the Agent CCP is completely customizable?  AWS provides a number of API’s and Connect Streams that a software engineer can access toward the goal of building an Agent Dashboard with a set of features and tools that are unique to your call center environment.  There is even a site you can log into and test some of the available API’s.   If you go to http://connectdemo.com and click on the “demo sites” you can see some examples of customized CCP, Click to Call, Screen Pops and other tasty code bits.

Agent Streams

We note that there are many “connect streams” that a developer can tap to create their own version of CCP.   The supervisor side, however is not as fully formed and there are not as many streams and API’s available to support Supervisor requirements like real time queue and agent metrics.   In fact we had to develop our own socket layer communication strategy to implement the features we envisioned in our dashboard.

Recently we have discovered new and not readily available API for other AWS streams.  Some are only available depending on your support contract status.

Agent Dashboard Feature Set

The list of functions and features that we have added to our CCP is still growing but we set a goal of making the dashboard painless!   For example there is nothing to install.  Our application needs to be added by your instance administrator as an application end point in the Connect dashboard.  Once that is complete, the user just points at our portal and enters their instance name (you can even upload your own logo).   The traditional AWS Connect CCP shows up and you login as normal.   Once your credentials are established, you are then presented with the revised Agent Dashboard as shown below.

AWS Connect Dextr Agent Dashboard feature set

Most folks have asked for a “team status” display.  As an Agent I want to see the status of the other agents on my team.  So the first attribute we added was just that, a team status display.    Each agent has their own Activity List showing all of their calls both inbound and outbound.   Next to each call is a link to hear the recording of that call. Supervisors can select all calls, but agents only see their own call recordings.

Each Agent has a personal contact list with contacts that they have entered for their own use.  This augments the “quick connects” that they system administrator had created.  Here is the feature list:

  • 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

We are also planning to integrate or Click2WebChat functionality as an advanced feature option.  This would bring website co-browsing, video chat, SMS and keyboard chat into the call center!  The Dextr screen shows the Agent interface including the Video and Chat links.

How do you set a Holiday Schedule in Amazon Connect?

Dextr enables a user with Admin privileges to open a window and create both HOLIDAYS AND AD HOC closings.   The instance is initially stocked with all US Federal holidays already listed.  The Admin can modify, add or delete these dates.  They can also specify, via the drop down window, which queues they are closing.  There is also a Text to Speech window in which the supervisor can enter the text of a prompt that will be played to a caller should they call during that time slot.

We named the dashboard Dextr!  There is nothing to install.  Follow the video instruction below and have your Amazon Connect Administrator add us as a trusted application, then head over to our portal, log in and put Dextr to work for your team!

If you have a requirement for the CCP we would also like to know more about your requirements, so let us know.   If  you do not have an AWS Connect instance, DrVoIP will build you a “proof of concept” portal for no charge!  Remember, the American Business Communications landscape will be littered with the bleaching bones of those companies that do not adopt Amazon Connect as the enterprise call center that manages customer engagements!

 

 

 

 

 

 

 

 

 

 

 

 

Front End your Call Center with Twilio Appointment Reminder!

Send a Text or add more Telephone lines?

We have long been a proponent of using more text solutions in the call center.  From our perspective it makes more sense to let clients text you customer service team than it does to add more telephone lines, to hold more clients in queue waiting for the next available agent!   With the dramatic growth of smart phones, it makes sense to engage your clients with an understanding that they are (a) very mobile; and (b) very text savvy!   We are willing to bet, you text message more than you actually talk on your smart phone!

Call Trees

Anyone who has had to write routing scripts to figure out which group of agents to send an inbound caller to, will tell you that having a DNIS number per route is the best way to go.  Why prompt the user to press 1 for Spanish, if you could just market a number that expects Spanish callers!   A separate number for Customer Service and Tech support also saves having to have the caller self navigate through an elaborate call tree just to end up waiting in queue.   Generally, the call center will end up publishing a single inbound phone number and then prompt the caller with “Press 1 for Customer Service, Press 2 for Technical Support” as adding and managing DNIS numbers gets to be a costly head ache!

Estimated Wait Time

So we keep adding more inbound telephone lines, to the same number of Agents, causing more folks to remain in queue waiting for the “next available agent” and growing more frustrated with each passing minute!   Most call centers now attempt to reduce frustration by “Press 1 to receive a call back without losing your place in queue”.     This is a helpful option in reducing customer frustration, but does nothing to reducing costs.  Actually it increases costs as you are now calling folks back on your dime!

Reduce call center cost and improve customer satisfaction by letting callers contact by text message!

Enabling your clients to TEXT a “keyword” inbound could accomplish the same result as having them self navigate through a call tree.  In fact, you could get the call routed and also provide a call back based on the estimated wait time!   Inbound text messages also facilitate more accurate data dips as the caller ID can be used to index a database to bring back relevant  customer information.   For example, if the customer were to  text the keyword “appointment” you might be able to return the following text message”

” Mr. Merkin,  we see that you have an appointment scheduled with our hygienist for Tuesday at 10AM.  Are you calling to confirm or reschedule this appointment?  Please REPLY with CONFIRM, CHANGE or CALL ME”.

Logic can be applied to the inbound text and if the REPLY returns “Call me”  the following text might be sent back by the call center:

“Please standby and we will get you connected with a scheduling assistant”  or “We estimated that we can call you in 5 minutes”

The dialog can become very customized based on the call centers CRM integration, but simplification of the inbound request and customer  contact can be significantly enhanced using TEXT.  Appointment reminders are an excellent application for text based call center integrations.    You can create a Proactive or Reactive model to remind folks of a scheduled appointment.   A Proactive model would process a list of appointments, sending a reminder text to each client and asking them to REPLY with CONFIRM, or RESCHEDULE.   A reschedule would set up a call back from the call center.   The Reactive model would function similarly but would be triggered by an incoming text request from the client.

TWILIO to the rescue!

In the following video tutorial we build out a generic TEXT and voice  based “automated attendant” that can be used to front end you customer service organization, sales team or technical support group.   We use Twilio to create a cloud based front end with the ability to transfer the call to a specific number or agent group in a call center.    Normally we would write our text applications in Twilio using Nodejs and Twilio’s Twiml but Studio, as a graphical scripting tool,  is a very useful rapid deployment strategy.

In this tutorial, though we are focused on TEXT we will also setup a solution that can answer VOICE calls or TEXT messages.  We will use speech recognition in addition to the normal “Press” instructions to get calls routed to the proper recipient.   Once the call flow is designed, we will add a number and test out our solution!     Twilio is a powerful tool and we have been able to script out customized text, voice and video solutions in days or hours rather than weeks and months!   Generally we also make liberal use of AWS for API Gateway access to AWS MySQL or DynamboDB database information using AWS Lambda functions.

The DrVoIP demo Challange!

We can build out a prototype AWS Connect Call Center with a Twilio Text front end for your company in less than a day!  So just ask us by sending a message to our Text Based Auto Attendant at 929-292-8100 and we will get you setup in no time!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Estimated Wait Time