How to setup IVR call centre process using Amazon Connect

Gaurav Pareek
4 min readMay 10, 2018

Recently, I had worked on an interesting assignment where I had setup call centre process for an American based foundation. I will share how I had setup the process for them.

So, my client sends postcards and mentions Customer ID on the postcards. Their customers has to call the call centre and validate the customer ID, Customer Age, Customer Phone and other details.

In this process, I had used following AWS services

  1. Amazon Connect (Amazon Connect is a contact center as a service (CCaS) solution that offers easy, self-service configuration and enables dynamic, personal, and natural customer engagement at any scale)
  2. Amazon Lambda (AWS Lambda lets you run code without provisioning or managing servers)
  3. Amazon RDS (AWS RDS is relational, cost-efficient and resizable database service in the cloud)
  4. Amazon Lex (Amazon Lex is a service for building conversational interfaces into any application using voice and text)

To start off with the project, I started with setting up Amazon Lambda. Just to make you understand the bigger picture. I’m sharing with you screenshot of my whole process

Amazon Connect Whole Contact Flow

Setting AWS Lambda

Using AWS Lambda, I have made 8 Lambda functions for this assignment which interacts with AWS RDS and returns the required data. You can pass custom parameters from AWS Lambda interface

When you create a Lambda function you will need to note down

  1. Function ARN
  2. Key: If you’re passing some parameters then, key name for those parameters.

You will need these details when you Invoke AWS Function in Amazon Connect.

Setting AWS RDS

AWS RDS setup is easy. You can setup it up like usual database and use MySQL, Dynamo or Aurora any database service you need.

Note: For AWS Lambda, you will need to allow public access to your Amazon RDS instance.

Setting Amazon Lex

AWS Lex helps you build sophisticated, natural language chatbots into your new and existing applications. Amazon Lex provides the deep functionality and flexibility of natural language understanding (NLU) and automatic speech recognition (ASR) so you can build highly engaging user experiences with lifelike, conversational interactions, and create new categories of products.

I had created a bot which will get the customer name and will return back the name in text. The returned name will be validated and stored in the RDS database. So, I had setup an intent.

Note: I din’t wanted to call any utterance for calling the intent. So, I had called back the slot name in the utterance for intent.

Setting Amazon Connect

Amazon Connect is a contact center as a service (CCaS) solution that offers easy, self-service configuration and enables dynamic, personal, and natural customer engagement at any scale.

For setting up the Contact Flow process, I’ve used following components of Amazon Connect:

  1. Get Customer Input
    Used for recording customer input like Press 1 to check details, Press 2 to validate details or Press 9 to speak to our customer care
  2. Store Customer Input
    Stores numerical input to contact attribute like when the IVR asks you to enter your card number or something like that input
  3. Invoke AWS Lambda Function
    When you need to call a Lambda function and optionally returns key / value pairs.
  4. Set Contact Atrributes
    Set a value to the contact. So, this value can be accessed anytime in the IVR process

So, based on your script you can customise the flow and process.

Note: I gave permissions to AWS Connect to access my Lambda function. This can be done using AWS CLI. I had setup AWS CLI (link to setup CLI) and run following command:

aws lambda add-permission — region us-east-1 — function-name Your Function Name— statement-id 1 — principal connect.amazonaws.com — action lambda:InvokeFunction — source-account Your AWS Account ID

Once my Contact Flow process is setup. I went to Routing->Phone Numbers option and Claimed a number. My client wanted 800 (toll free number). So, I had claimed a 800 series number. After getting the number I had assigned the contact flow process to the number.

That’s it! My IVR process was live and running.

I’m an AWS expert and freelancer. I take up AWS assignments. You can reach me on gaurav.ideabox@outlook.com or just drop a comment with your contact details. I will get back to you.

--

--

Gaurav Pareek

DevOps and AWS Certified Architect | Technology Enthusiast with deep interest in Cloud Solutions. Linkedin: https://www.linkedin.com/in/gauravpareekaws/