This video shows how to set up an Amazon Connect instance and integrate it into a ServiceNow Cloud Call Center.
You can jump to these topics from the YouTube description for this video.
Before you do the procedure in this video, you’ll need to license and set up your AWS account.
We’ll start by installing the ServiceNow Cloud Call Center plugins.
This is the main plugin.
Installing this one also installs Cloud Call Center Core…
…and Cloud Call Center UX Components.
There are also special plugins for Customer Service Management…
…and IT Service Management.
If you want to use your cloud call center for ITSM or CSM, be sure to install the corresponding plugins now.
If you wait and install them later, you’ll have to redo this setup procedure.
Now we’re ready to set up and integrate the Amazon Connect instance.
First we need to enter the instance name and the Amazon Resource Name.
To get those, we’ll switch over to our Amazon Connect instance, where we’re already logged in.
We’ll search for Amazon Connect…
…and go to our list of instances.
For this demo, we’re going to create a new instance.
We’ll call it chrisparisdemo.
Next we’ll create an administrator for the instance.
We want to handle both incoming and outgoing calls.
We’ll see some information on data storage…
…and then create the instance…
…and there’s our instance.
Now let’s set up our call resources.
Be sure to let the instance show notifications…
…and use your microphone.
To claim a phone number for incoming calls, we’ll choose a country…
…a type…
…and a phone number.
We’ll skip making a test call for now…
…and that takes us to our dashboard.
We’ll check the phone number we just created…
…and there it is.
That’s it – we’ve created our Amazon Connect instance and set up the phone number.
We used the default values for everything else.
When we go back to our list of instances,...
... here’s our new one.
A couple minutes ago, we needed the Amazon Connect instance name and ARN for our ServiceNow instance.
So we’ll copy the ARN here…
…go back to our ServiceNow instance…
…paste the ARN here…
…type the instance name here…
…and submit.
And here’s the record for the Amazon Connect instance.
Now we’ll go on with the setup.
You’ll need to do these prerequisite steps before you proceed with the setup.
For this demo, we’ve already completed them.
This step says we need to make sure to deploy all our resources to one region.
For this demo, we’re going to deploy our resources to US East One.
Now we’ll start the setup.
First we’ll choose our application, ITSM or CSM.
If you’ve only installed the Cloud Call Center for one of them, this step won’t appear, and you’ll use that application by default.
We’ve installed the Cloud Call Center for both of them, so we’ll choose CSM.
We can come back and do the setup for ITSM later if we want.
Next we’ll set up our S3 bucket.
First we’ll download the Lambda package that came with the plugins.
We’ll save it with the default name and location.
Next we’ll go back to Amazon to create an S3 bucket.
We’ll create a new bucket…
…and we’ll call it chrisparisdemo, the same as our instance to make it easier to keep track of.
We’ll use the defaults for everything else.
And here’s our new bucket.
Our next step is to upload the Lambda package to the bucket.
We’ll choose the Lambda file we just downloaded.
We’ll enable bucket versioning…
…and upload…
…and there we are.
The next step is to write down the S3 bucket name and file key.
We can find the file key in the Lambda file.
We’ll copy the file key…
…and paste it in a note.
And the bucket name is chrisparisdemo.
And that completes this step.
The next step is to deploy a stack in AWS.
First we’ll download the CloudFormation template.
Next we’ll go to AWS CloudFormation Stacks…
…and create a stack… with new resources.
Here we’ll make sure “Template is ready” is selected…
…we’ll select “Upload a template file”…
…and we’ll choose the file we just downloaded.
Next we’ll specify some details for the stack.
We’ll use chrisparisdemo for the stack name.
Here we’ll use the file key and bucket name we put in our note a minute ago… lambda.zip…
…and chrisparisdemo.
For the call recording bucket name, we’ll go back to Amazon Connect…
... open our chrisparisdemo instance...
… and go to Data Storage.
The call recording bucket name is here, everything up to the first slash.
We’ll paste that here…
…and go on.
Next there are a few options we can specify for our stack.
For one, we can specify tags to help catergorize.
Let’s specify “Name” for the key…
…and chrisparisdemo for the value.
Finally we’ll review our stack before we create it.
Everything looks good…
…so we’ll acknowledge that we might create IAM resources…
…and create our stack.
Here we can watch our resources being created.
We can refresh to update the status.
Here we want to make note of two things…
…the logical ID of the AWS Lambda function…
…and the logical ID of the AWS Kinesis stream.
Now we have to give our ServiceNow instance some information on the Lambda we just created.
First we’ll go to our note, and copy and paste the logical ID.
Then we’ll go back to our AWS Resources list…
... go to the Lambda…
... copy the ARN…
... and paste it in.
Finally, we’ll submit… and go on to the next step… deploying the AWS Lex Bot.
First we’ll download the template.
Then we’ll create a Zip file for the template.
Next we’ll go to Amazon Lex…
…and here’s a list of our bots.
If you’re using the V2 console, you’ll need to return to the V1 console for this step in the process.
First we’re going to import the zip file we just created.
Next we’ll go into our new bot.
We won’t configure the bot in this demo.
Amazon’s documentation can help you do that.
We’ll go ahead and build the bot using the defaults…
…and it’s done.
Now we’ll publish it.
We’ll use the name of the bot as an alias, and publish.
Next we need to tell our ServiceNow instance the Lex Bot’s name and region.
First we’ll get the name from the Lex Bot screen we were just on,...
... and paste it in.
Then we’ll go back and get the region here,...
... and paste it in.
Then we’ll submit… and go on to the next step… setting up the Amazon Connect instance.
For this we’ll go back to Amazon Connect, open our instance…
…and go to Approved Origins.
This is where we tell our Amazon Connect instance to allow access from our ServiceNow instance.
To do that, we’ll copy the URL of the ServiceNow instance…
... paste it in here… and that’s done.
Next is data streaming.
We’ll enable data streaming, select Kinesis Stream…
…choose our stream…
…and save.
Next is contact flows.
Here’s where we give our Lex Bot and Lambda function access to our Amazon Connect instance.
First is the Lex Bot.
The region is already correct.
We’ll choose our Lex Bot here… and add it.
And now we’ll choose our Lambda function…
…and add it.
And that completes this step.
Next we’ll import a couple of contact flows for the application we’re setting up, CSM.
These flows are provided with the ServiceNow plugins, and used by Amazon Connect.
We’ll start with the inbound flow.
First we’ll download the contact flow template…
…and save it with the the name ‘contactflow_csm’ so we know which application this flow is for.
Now we need to set up the contact flow on the Amazon side.
So we’ll go back over to Amazon and log into our instance.
Then Routing > Contact flows … then Create contact flow.
Then we’ll Import flow…
…and choose the flow we just downloaded…
…and import.
And here’s our flow.
This is a simple flow to get you started … with just one queue.
You can customize this flow, or create your own.
For more information on that, see the Amazon documentation.
For this demo, we’ll just save the flow as is...
... and publish.
At this point we could create additional queues,...
... but for this demo, we’re just going to go with the BasicQueue.
We could also integrate the contact flow with ServiceNow Workforce Optimization.
We’re not going to do that in this demo, but you can learn how in the ServiceNow product documentation.
And the last thing we’ll do for the inbound contact flow is to associate it with our contact phone number.
We’ll go back to Amazon Connect…
…go to our dashboard…
…view phone numbers…
…and here’s the number we provisioned earlier.
Right now it’s associated with the default flow.
We’ll edit that number…
…and change the flow to the one we just created…
…and Save.
Now, calls to this number will use our new flow.
And that’s it, we’re done with the inbound contact flow.
Now let’s set up the outbound flow.
Just like we did with the inbound flow, we’ll start by downloading the Outbound Contact Flow template.
Then we’ll switch over to Amazon…
…open our instance…
…log in…
…and go to Routing > Contact flows.
This time we’re going to “create outbound whisper flow.”
To do that, we’ll import a flow…
…and choose the template we just downloaded…
…and import.
And here’s the flow.
Then we’ll Save…
…and Publish.
The last step for the outbound flow is to associate it with a queue.
We’ll go to Routing > Queues…
…and open our BasicQueue.
For the outbound caller ID, we’ll use “ServiceNow.”
And for the flow, we’ll use the default, which is the flow we just created.
And finally we’ll Save…
…and we’re done with our contact flows.
Next we’ll set up a trigger on the Amazon side so that Amazon Connect will push new call recordings to the ServiceNow side.
To do that, we’ll go back to Amazon Connect…
…data storage…
…and copy the name of the call recording bucket.
Then we’ll go to Services > Lambda…
…open the function we created earlier…
…and add a trigger.
It’s for our S3 bucket…
…and we’ll paste in the bucket name we just copied.
We’ll check the acknowledgement box…
…and Add.
That’s it – now each new recording in our S3 bucket will be pushed to our ServiceNow instance.
Next we’re going to set up a ServiceNow user that REST calls from our Lambda will use to access our ServiceNow instance.
We’ll go to the sys_user table…
…and create a new user.
We’ll call the user AmazonConnect to make it easy to identify that user’s activities.
The user is for web services only.
We’ll use “AmazonConnect” for the first and last name…
…and set a password.
We’ll save…
... and there’s our user.
Be sure to remember the username and password for later.
Next we’ll give our user the roles it’ll need for this job.
The last three roles enable the user to create cases.
When we save, the system adds several other roles based on the ones we added.
Now we need to set up Amazon Connect to access our ServiceNow instance as the user we just created.
To do that, we’ll go to AWS Systems Manager…
…then Application Management > Parameter Store.
We’re going to create two new parameters…
…one for the username…
…and one for the password.
So first we’ll copy the username parameter path.
We’ll go back to AWS…
…create a new parameter…
…and paste the path we just copied.
We’ll make it a SecureString…
…and the Value is the username, AmazonConnect.
And we’ll go ahead and create the parameter.
We’ll do the same thing for the password.
Copy the password path…
…go back to AWS…
…create a new parameter…
…and paste the path.
We’ll make it a SecureString…
…the Value is the password…
…and we’ll create the parameter.
And that completes the authentication setup.
Our last step is a few configuration items.
The first one is Openframe, which lets agents use the Amazon Connect Softphone interface in the ServiceNow UI.
To set it up, just click here… and it’s done.
That created a default configuration based on the information we’ve entered so far.
We can change that configuration here.
Here’s the default configuration, including the URL of the Amazon Connect instance…
…and the dimensions of the frame in the ServiceNow UI.
It also determines when the Openframe popup appears on the agent’s screen.
By default, the popup appears when a call comes in, “onIncoming.”
That lets the agent preview the call before accepting it.
You can also configure Openframe to display the popup when the agent accepts the call,
“onAccepted.”
We’re going to leave it “onIncoming.”
You can also limit this Openframe to certain user groups.
We’re going to leave it open to all groups.
We’ll just close this tab and use the default Openframe configuration.
The next configuration item is for creating interaction records for outgoing calls agents make using the dialpad.
If this property is True, dialpad calls are recorded,...
... and if this property is False, they’re NOT recorded.
This property only applies to dialpad calls.
Calls that are made by clicking a phone number or phone icon are always recorded.
And one final point: You’ll need to assign the sn_openframe_user role to each agent who’ll be using Amazon Connect through the ServiceNow UI.
And you’ll need to assign the awa_agent and awa_integration_user roles to each agent to synchronize their presence state in the ServiceNow Advanced Work Assignment feature.
And that completes the setup.
Now we just did this setup for the CSM application.
If we wanted to do it for ITSM as well, we’d go back to our list of Amazon Connect instances…
…open our instance…
…go back to the Setup Guide…
…Select Application…
…and choose ITSM.
As you can see, most of these steps are already complete from the setup we just did.
We’d only need to complete the few remaining steps for ITSM, just like we saw earlier in this video.
For more information, see our product documentation, knowledge base, or podcast.
Or ask a question in the ServiceNow Community.