Deliver natural and efficient customer service experiences to mobile subscribers with Amazon Lex

Mobile service providers manage a high volume of customer service calls daily. Mobile subscribers contact customer assistance for a number of reasons such as asking for a brand-new SIM card, altering a strategy, inspecting payment due, canceling service, requesting a brand-new connection, or triggering a phone.
In this post, we evaluate how you can use the pre-built solutions in with Amazon Lex to automate the consumer interaction for activating a SIM, making a payment, and reporting a lost or taken gadget, so you can provide a natural and effective customer experience.
Option overview
Amazon Lex supplies the innovative deep knowing performances of automatic speech acknowledgment (ASR) for converting speech to text, and natural language understanding (NLU) to recognize the intent of the text, to allow you to build applications with extremely appealing user experiences and realistic conversational interactions. Amazon Lex for telecom provides pre-built options so you can deliver natural conversational experiences, while optimizing service shipment models and making new interaction and media innovation available to clients. The pre-built bots are set up with intents, sample utterances, and slot types for mobile services use cases and are integrated with Amazon Connect contact circulations.
Lets review a sample discussion relating to a demand for a brand-new SIM card as we cover the various components of the pre-built solution:

Agent: Thanks for calling ABC mobile. How can I help you today?
Caller: I need a brand-new SIM card.
Agent: I see you are calling from mobile number 1234567891. Are you contacting us to alter the SIM card for this telephone number?
Caller: Yes.
Representative: For verification, please say or enter your passcode.
Caller: 123456.
Agent: Thank you. Next, for this type of request, Ill require to text a one-time PIN to your contact number 1234567891. Should I proceed and send it?
Caller: Yes.
Representative: Ok. I have actually sent it. Please state or go into the one-time PIN.
Caller: 1234.
Representative: Got it. Thanks for validating. Can I proceed and place an ask for a brand-new SIM for 1234567891?
Caller: Yes.
Representative: Done. You will receive the SIM card at the registered mailing address in 4 to 6 business days.
Caller: Thank you!

In the preceding sample discussion, the caller wants to place an ask for a new SIM card. The agent captures the passcode for confirmation and then initiates the demand for a new SIM card.
The pre-built option includes bots for authentication and mobile services that can be released on Amazon Lex to automate the discussions. The MobileServicesBot contains intents for common mobile services activities such as asking for a new SIM card, changing strategies, getting a costs, canceling service, asking for a new service, activating a device, and requesting a number change. It consists of the following intents:

Fallback — This intent is invoked when the input does not match any of the set up intents.

MakePayment– This intent records info such as the payment quantity, credit card, or electronic check information, and processes the payment.

ReportLostDevice– This intent catches consumer info, and helps the caller to report a lost gadget and suspend the service.

EndConversation– This intent ends the conversation based on user input such as “Thanks, I am done”.

AddNewLine– This intent catches client details, and assists in positioning an ask for a brand-new line of service.

FindAStore– This intent captures the zip code and assists the caller find the nearest store.

RequestNewSim– This intent catches client details, and assists in placing an ask for a new SIM card.

The bot definition consists of a total dialog in addition to the prompts to manage the discussion. The bot also incorporates with an AWS Lambda function that includes code to replicate company logic execution. Integration with Amazon Kendra offers the ability to address natural language questions throughout the conversation.
Solution architecture
Lets review the general architecture for the option (see the following diagram).

We utilize an Amazon Lex bot to confirm the caller, process transactions (for instance, “Request a brand-new line”), or provide the caller with the inquired (for instance, “Whats the payment quantity due?”).
We utilize Lambda to simulate access to backend systems and run business logic required for carrying out deals. For this post, the data we utilize is stored in an Amazon DynamoDB.
To answer any user questions, we configure the Amazon Kendra search index so the bot can search for the info and offer a reaction.
You can deploy the conversational experience on an Amazon Connect instance or incorporate it with your site.

CheckPaymentDue– This intent captures consumer details and supplies due payment information to the caller.

We include an AWS CloudFormation stack containing these AWS resources, in addition to the required AWS Identity and Access Management (IAM) roles. With these resources in location, you can use the pre-built service for mobile services on the Amazon Connect channel.
You need to have the following requirements prior to we release the option:

An AWS account

Access to the following AWS services

IAM roles: LexRole, LexImportRole, LambdaRole, ConnectRole.

IAM gain access to and secret key qualifications
Optionally, an existing Amazon Connect instance (if you prepare to deploy on Amazon Connect).

Amazon Lex to develop bots
Lambda for the service reasoning functions
DynamoDB to create the tables
IAM with access to create functions and policies
AWS CloudFormation to run the stack

Amazon Lex bots: TelecomMobile and TelecomMobileAuthentication.

For Stack name, go into a name for your stack. This post uses the name mobile-services-solution, as displayed in the following screenshot.

The following code demonstrates how to limit the number of efforts using session attributes:.

To avoid incurring any charges in the future, delete all the resources produced.

return dialog.elicit _ slot(.
PhoneNumber, active_contexts, session_attributes, init_state,.
# continue with authentication satisfaction.
message=”Thanks for being our client.”.
intent_request = dialog.set _ session_attribute(.
intent_request, authentication_status, AUTHENTICATED).
dialog.set _ session_attribute(.
intent_request, phone_number, phone_number).
dialog.set _ session_attribute(.
intent_request, customer_id, customer_id).
session_attributes = dialog.get _ session_attributes( intent_request).
return dialog.close(.
active_contexts, session_attributes,.
Integrate with database.
The representative has to retrieve info regularly throughout a call. Callers may desire to understand their payment quantity due (” What is my costs amount for this month?”) or their payment due date (” What is the last day to pay my expense?”). The pre-built service consists of a Lambda function with a placeholder business reasoning code that can be utilized to incorporate with backend systems. The separation of company reasoning from the dialog management permits you to keep the code and develop base.
The following code shows how to integrate with backend systems to retrieve significant information.

Browse to the Amazon Connect dashboard and choose Phone numbers on the Routing menu in the navigation pane if you supplied an Amazon Connect ARN during stack development.

About the Authors.
Jaya Prakash Kommu is a Technology Lead on the team. He handles an enthusiastic team of AI engineers developing next generation conversational AI interfaces. When not architecting bots, JP takes pleasure in playing football.
Sandeep Srinivasan is a Product Manager on the Amazon Lex team. As an eager observer of human habits, he is enthusiastic about client experience. He spends his waking hours at the intersection of people, innovation, and the future.

Amazon Lex bots.
Lambda functions.
DynamoDB table.
Amazon Connect Contact circulation.
IAM functions.

def get_payment_due( customer_id):.
client = telecomdb.query(.
KeyConditionExpression= Key( customer_id). eq( customer_id),.
FilterExpression= Attr(” record_type”). eq( mobile)).
if customer and len( consumer) == 0:.
return None.
client = customer.get( Items) [0] payment_due =
payment_due [ payment_due_balance] payment_due_balance]
payment_due [ payment_due_date] =.
payment_due [ last_payment_amount] last_payment_amount]
payment_due [ last_payment_date] =.

if status == INVALID:.
# unauthorized user.
if number_of_attempts >>= 3:.
message=”For your security, we are not able to complete your demand,.
up until you are able to offer necessary information. Goodbye”.
dialog.set _ session_attribute(.
intent_request, authentication_status, UNAUTHENTICATED).
return dialog.close(.
active_contexts, session_attributes, intent,.
[]. if number_of_attempts == 1:.
prompt=”I didnt find a match. Please state or enter your contact number.
If you require time to get that information, say, wait a minute.”.
elif number_of_attempts == 2:.
prompt=”I didnt discover a match. Please try one last time.
Say or enter your contact number”.

number_of_attempts = number_of_attempts + 1.
dialog.set _ session_attribute(.
intent_request, number_of_attempts, str( number_of_attempts)).

phone_number = dialog.get _ slot( PhoneNumber, intent).
zip_code = dialog.get _ slot( Zipcode, intent).

if status == INVALID:.
# unauthorized user.

# proceed with authentication fulfillment.

Contact center streams.
When customers call into your contact center, the call is processed by the contact circulation appointed to the phone number. The contact circulation utilizes a Get customer input block to invoke the Amazon Lex bot.

Next, associate a phone number with the mobile services contact flow.

Amazon Connect contact circulation: TelecomMobileContactFlow.

return payment_due.

payment_due = mobile_system. get_payment_due( customer_id).
if not payment_due:.
reaction = responses.get( PaymentDueNotAvailable).
return dialog.elicit _ intent(.
active_contexts, session_attributes, intent,.
[]. action = responses.get(.
Response, payment_due_balance= payment_due [ payment_due_balance],.
payment_due_date= payment_due [ payment_due_date],.
last_payment_amount= payment_due [ last_payment_amount],.
last_payment_date= payment_due [ last_payment_date].
return dialog.elicit _ intent(.
active_contexts, session_attributes, intent,.
The following stub of code reveals how to access the sample information in DynamoDB:.

Mobile service companies manage a high volume of client service calls daily. Mobile customers contact customer support for a number of factors such as asking for a new SIM card, changing a plan, inspecting payment due, canceling service, requesting a brand-new connection, or activating a phone. Amazon Lex for telecom uses pre-built services so you can provide natural conversational experiences, while optimizing service shipment models and making new interaction and media innovation available to customers. The contact flow utilizes a Get customer input block to conjure up the Amazon Lex bot. In this post, we examined a service for mobile services consumers to automate common tasks such as requesting a SIM card or phone, upgrading plans, making payments, and triggering service.

Amazon Lex for telecom offers pre-built solutions that you can utilize to expedite the shipment of interesting and advanced conversational experiences. In this post, we examined a solution for mobile services consumers to automate common tasks such as asking for a SIM card or phone, updating strategies, paying, and activating service. By building on AWS, you are empowered to transform customer engagement while simplifying operations on protected infrastructure. The pre-built service supplies a ready-to-deploy contact center configuration with Amazon Connect. You can extend the option with extra discussion flows that are particular to your organizations needs. Attempt the pre-built mobile services option on Amazon Lex today!

Evaluation the IAM resource creation and click on Create Stack. After a few minutes, your stack should be complete. The core resources are listed below:.

Lambda functions: TelecomMobileFunction and TelecomMobileAuthenticationFunction.

After the telephone number is associated, the solution is ready to be tested.
Check the option.
You can utilize sample information to check the bot. You can call the Amazon Connect phone number and connect with the bot if you utilized an Amazon Connect circumstances as part of the release. You can also test the solution straight on the Amazon Lex V2 console using voice or text. After you try the pre-built conversation streams, you can tailor the bot, include more intents as required, and integrate with additional backend systems.
Mobile Services: Key Capabilities.
Lets examine a few of the functions offered by the pre-built solution, including backend system data validation and contact center circulation.
Verify user input.
The pre-built service supplies a Lambda function that performs the validation with information saved in the backend system. In addition, the pre-built service supplies logic to restrict the number of authentication attempts.
The following code demonstrates how to manage user input with account information:.

Choose Launch Stack to release an AWS CloudFormation stack in the Region of your option:.

In the Parameters section, enter values for the for Amazon Lex bots, DynamoDB table, and Amazon Connect contact flow.

Release the pre-built service.
To release this solution, complete the following steps:.

status, customer_id = mobile_system. get_customer_id( phone_number, zip_code).

DynamoDB: telecom_mobile_table.

Leave a Reply

Your email address will not be published.