Autodialing customer numbers, push 1 to talk to agents

Here’s how you can auto dial customer phones and still allow a “push 1 to talk to agent” option. Win win and very simple to do.

Categorized as Technology Tagged

This is also very simple to do. All you need to do is to modify your autodial script a little bit.

Use SSML for this instead of using text to speech. E.g.

<speak>Hi $.Attributes.Name. Your appointment is on $.Attributes.DateTimeText. If you need to reschedule the appointment, please press 1. We look forward to seeing you on $.Attributes.DateTimeText. Thank you and have a great day!</speak>

Then, in your contact flow, you will have to implement an interruptible flow and then use a “Customer input”.

In that, we suggest that you accept ANY customer input instead of just 1 (because patients tend to enter any number, as per our experience) and based on that input, route them to a queue or a specific agent they should speak with.

Dynamically setting outbound numbers in Amazon Connect

We dial outbound a LOT. Amazon Connect Contact Center users do outbound calls a LOT.

Meanwhile, patients tend to pick up calls from local numbers more than inbound calls from toll free numbers and from out of state numbers.

The solution that most call centers use to work around this is to use local phone numbers in the areas they are dialing. 

So, if you are dialing in all 50 states of the USA, let’s assume that you are going to buy 50 numbers ($50 per month) or are going to “whitelist” 50 numbers with Amazon Web Services customer services department by opening a ticket.

By whitelisting a number with carriers (through AWS customer support) you stand a chance that your number shows up on the called person’s phone as the caller ID.

There’s no 100% guarantee, but it’s a bit better of a chance than showing up as UNKNOWN.

You will also need to follow the NANPA North American Numbering Plan Administrator: NANPA guidelines to look up area codes and where they belong.

Keep in mind that each state has its own guidelines so your approval of Phone number “whitelisting” by carriers will be governed by that. 

This guide from AWS walks you through how to go about “Dynamically setting outbound numbers for contact centers with Amazon Connect | Amazon Web Services “.

I have adopted this to our own approach wherein we take it one step further and also limit a few more things to avoid being marked as SCAM LIKELY by carriers and also to limit the total number of outbound calls per day per number to around 180/200.

The general idea to follow is this:

  1. Whitelist your phone numbers if they are not in Amazon Connect already.
  2. If you want to purchase phone numbers in Amazon Connect, go ahead (dirt cheap). This way you can rotate as many phone numbers as you want. I always advise over-provisioning phone numbers based on the number of agents you have (especially if you are limiting autodialing to only 200 per number per day).
  3. Create a DynamoDB that will hold all the phone numbers you have provisioned and the area code pools they belong in.
  4. You also need to store daily calls made from each phone number as (my recommendation) you should not be dialing more than 180-200 outbound calls per number per day.
  5. Finally, you should also store the reputation score of each number in this table.
  6. Create a lambda function that will be called by your Amazon Connect contact flow on each outbound call.
  7. This lambda function will look up the area code of the phone number being dialed and will look up the appropriate phone number pool to dial from.
  8. Then, it will look at the reputation score and the number of calls it has made for the day (i.e. is it allowed to make a call or not).
  9. If this number is allowed to make an outbound call, it will assign this number to the outbound caller ID associated with this contact flow queue.
  10. The call proceeds and the caller sees (hopefully, in most cases) the local area phone number that Amazon Lambda picked.