Do your staff watch for hours on the phone to open an IT ticket? Do they watch for an agent to triage a difficulty, which generally solely requires restarting the pc? Offering wonderful IT assist is essential for any group, however legacy programs have relied closely on human brokers being accessible to consumption studies and triage points. Conversational AI (or chatbots) might help triage a few of these widespread IT issues and create a ticket for the duties when human help is required. Chatbots shortly resolve widespread enterprise points, enhance worker experiences, and release brokers’ time to deal with extra advanced issues.
QnABot on AWS is an open supply answer constructed utilizing AWS native providers like Amazon Lex, Amazon OpenSearch Service, AWS Lambda, Amazon Transcribe, and Amazon Polly. QnABot model 5.4+ can also be enhanced with generative AI capabilities.
In keeping with Gartner Magic Quadrant 2023, ServiceNow is likely one of the main IT Service Administration (ITSM) suppliers available on the market. ServiceNow’s Incident Administration makes use of workflows to determine, observe, and resolve excessive‑impression IT service incidents.
On this put up, we reveal the best way to combine the QnABot on AWS chatbot answer with ServiceNow. With this integration, customers can chat with QnABot to triage their IT service points and open an incident ticket in ServiceNow in actual time by offering particulars to QnABot.
Watch the next video to see how customers can ask inquiries to an IT service desk chatbot and get solutions. For many often requested questions, chatbot solutions might help resolve the difficulty. When a person determines that the solutions supplied should not helpful, they’ll request the creation of a ticket in ServiceNow.
Answer overview
QnABot on AWS is a multi-channel, multi-language chatbot that responds to your buyer’s questions, solutions, and suggestions. QnABot on AWS is a whole answer and could be deployed as a part of your IT Service Desk ticketing workflow. Its distributed structure permits for integrations with different programs like ServiceNow. For those who want to construct your personal chatbot utilizing Amazon Lex or add solely Amazon Lex as a part of your utility, consult with Combine ServiceNow with Amazon Lex chatbot for ticket processing.
The next diagram illustrates the answer structure.
The workflow contains the next steps:
- A QnABot administrator can configure the questions utilizing the Content material Designer UI delivered by Amazon API Gateway and Amazon Easy Storage Service (Amazon S3).
- The Content material Designer Lambda operate saves the enter in OpenSearch Service in a query’s financial institution index.
- When QnABot customers ask questions prompting ServiceNow integration, Amazon Lex fetches the questions and requests the person to offer an outline of the difficulty. When the outline is supplied, it invokes a Lambda operate.
- The Lambda operate fetches secrets and techniques from AWS Secrets and techniques Supervisor, the place surroundings variables are saved, and makes an HTTP name to create a ticket in ServiceNow. The ticket quantity is then returned to the person.
When constructing a diagnostic workflow, chances are you’ll require inputs to totally different questions earlier than you’ll be able to create a ticket in ServiceNow. You should utilize response bots and the doc chaining capabilities of QnABot to attain this functionality.
Response bots are bots created to elicit a response from customers and retailer them as a part of session variables or as a part of slot values. You should utilize built-in response bots or create a customized response bot. Response chatbot names should begin with the letters “QNA.”
This answer supplies a set of built-in response bots. Consult with Configuring the chatbot to ask the questions and use response bots for implementation particulars.
You should utilize doc chaining to elicit the response and invoke Lambda features. The chaining rule is a JavaScript programming expression used to check the worth of the session attribute set to elicit a response and both route to a different bot or invoke Lambda features. You possibly can determine the subsequent query within the doc by figuring out the query ID (QID) specified within the Doc Chaining:Chaining Rule subject as ‘QID::‘ adopted by the QID worth of the doc. For instance, a rule that evaluates to “QID::Admin001” will chain to merchandise Admin.001.
When utilizing a chaining rule for Lambda, the operate title should begin with the letters “QNA,” and is specified within the Doc Chaining:Chaining Rule subject as ‘Lambda::FunctionNameorARN’. All chaining guidelines should be enclosed in a single quote.
Deploy the QnABot answer
Full the next steps to deploy the answer:
- Select Launch Answer on the QnABot implementation information to deploy the newest QnABot template by way of AWS CloudFormation.
- Present a reputation for the bot.
- Present an electronic mail the place you’ll obtain an electronic mail to reset your password.
- Guarantee that EnableCognitoLogin is ready to true.
- For all different parameters, settle for the defaults (see the implementation information for parameter definitions), and launch the QnABot stack.
This put up makes use of a static webpage hosted on Amazon CloudFront, and the QnABot chatbot is embedded within the web page utilizing the Amazon Lex net UI pattern plugin. We additionally present directions for testing this answer utilizing the QnABot consumer web page.
Create a ServiceNow account
This part walks via the steps to create a ServiceNow account and ServiceNow developer occasion:
- First, join a ServiceNow account.
- Go to your electronic mail and ensure this electronic mail handle in your ServiceNow ID.
- As a part of the verification, you’ll will likely be requested to offer the six-digit verification code despatched to your electronic mail.
- You possibly can skip the web page that asks you to arrange two-factor authentication. You’re redirected to the touchdown web page with the ServiceNow Developer program.
- Within the Getting Began steps, select Sure, I would like a developer oriented IDE.
- Select Begin Constructing to arrange an occasion.
When the construct is full, which can take couple of seconds to minutes, you may be supplied with the occasion URL, person title, and password particulars. Save this info to make use of in later steps.
- Log in to the positioning utilizing the next URL (present your occasion):
https://devXXXXXX.service-now.com/now/nav/ui/basic/params/goal/change_request_list.do
.
Be sure you keep logged in to the ServiceNow developer occasion all through the method.
If logged out, use your electronic mail and password to log again in and get up the occasion and stop hibernation.
- Select All within the navigation bar, then select Incidents.
- Choose All to take away the entire filters.
All incidents will likely be proven on this web page.
Create customers in ServiceNow and an Amazon Cognito pool
You possibly can create an incident utilizing the userid of the chatbot person. For that, we have to verify that the userId of the chatbot person exists in ServiceNow. First, we create the ServiceNow person, then we create a person with the identical ID in an Amazon Cognito person pool. Amazon Cognito is an AWS service to authenticate purchasers and supply non permanent AWS credentials.
- Create a ServiceNow person. Be sure you embrace a primary title, final title, and electronic mail.
Be aware down the person ID of the newly created person. You’ll need this when creating an Amazon Cognito person in a person pool.
- On the Amazon Cognito console, select Person swimming pools within the navigation pane.
When you’ve got deployed the Amazon Lex net UI plugin, you will note two person pool names; for those who didn’t, you’ll see just one person pool title.
- Choose the person pool that has your QnABot title and create a brand new person. Use the identical userId as that of the ServiceNow person.
- In case you are utilizing the Amazon Lex net UI, create a person within the applicable Amazon Cognito person pool by following the previous steps.
Be aware that the userId you created will likely be used for the QnABot consumer and Amazon Lex Internet UI consumer.
Create a Lambda operate for invoking ServiceNow
On this step, you create a Lambda operate that invokes the ServiceNow API to create a ticket.
- On the Lambda console, select Features within the navigation pane.
- Select Create operate.
- Choose Writer from scratch.
- For Perform title, enter a reputation, equivalent to
qna-ChatBotLambda
. (Do not forget that QnABot requires the prefixqna-
within the title.) - For Runtime, select Node.js 18.x.
This Lambda operate creates new position. If you wish to use an current position, you’ll be able to change the default AWS Identification and Entry Administration (IAM) execution position by deciding on Use current position.
- Select Create operate.
- After you create the operate, use the inline editor to edit the code for index.js.
- Proper-click on
index.js
and rename it toindex.mjs
. - Enter the next code, which is pattern code for the operate that you just’re utilizing because the compute layer for our logic:
This operate makes use of the ServiceNow Incident API. For extra info, consult with Create an incident.
- Select Deploy to deploy this code to the $LATEST model of the Lambda operate.
- On the Configuration tab, within the Surroundings variables part, add the next:
- Add
SERVICENOW_HOST
with the worthdevXXXXXX.service-now.com
. - Add
SERVICENOW_USERNAME
with the worthadmin
.
- Add
- Copy the Lambda operate ARN. You’ll need it at later stage.
The subsequent step is to retailer your ServiceNow person title and password in Secrets and techniques Supervisor.
- On the Secrets and techniques Supervisor console, create a brand new secret.
- Choose Different kind of secret.
- Add your key-value pairs as proven and select Subsequent.
- For Secret title, enter a descriptive title (for this put up, servicenow/password). For those who select a distinct title, replace the worth of const
secret_name
within the Lambda operate code. - Select Subsequent.
- Go away Configure rotation on default and select Subsequent.
- Evaluate the key info and select Retailer.
- Copy the ARN of the newly created secret.
Now let’s give Lambda permissions to Secrets and techniques Supervisor.
- On the Lambda operate web page, go to the Configurations tab and navigate to the Permissions part.
- Select the execution position title to open the IAM web page for the position.
- Within the following inline coverage, present the ARN of the key you created earlier:
Configure QnABot configurations
On this part, we first create some information questions utilizing the Questions function of QnABot. We then create a response bot that elicits a response from a person once they ask for assist. This bot makes use of doc chaining to name one other bot, and triggers Lambda to create a ServiceNow ticket.
For extra details about utilizing QnABot with generative AI, consult with Deploy generative AI self-service query answering utilizing the QnABot on AWS answer powered by Amazon Lex with Amazon Kendra, and Amazon Bedrock.
Create information query 1
Create a information query for putting in software program:
- On the AWS CloudFormation console, navigate to the QnABot stack.
- On the Outputs tab, and open the hyperlink for
ContentDesignerURL
. - Log in to the QnABot Content material Designer utilizing admin credentials.
- Select Add so as to add a brand new query.
- Choose qna.
- For Merchandise ID, enter software program.001.
- Beneath Questions/Utterances, enter the next:
- Beneath Reply, enter the next reply:
- Broaden the Superior part and enter the identical textual content in Markdown Reply.
- Go away the remainder as default, and select Create to save lots of the query.
Create information query 2
Now you create the second information query.
- Select Add so as to add a brand new query.
- Choose qna.
- For Merchandise ID, enter
information.001
. - Beneath Questions/Utterances, enter
Need to be taught extra about Amazon Lex
. - Beneath Reply, enter the next reply:
- Broaden the Superior part and enter the identical reply below Markdown Reply.
- Go away the remainder as default, and select Create to save lots of the query.
Create information query 3
Full the next steps so as to add one other information query:
- Select Add so as to add a brand new query.
- Choose qna.
- For Merchandise ID, enter
password.reset
. - Beneath Questions/Utterances, enter I have to reset my password.
- Beneath Reply, enter the next reply:
- Broaden the Superior part and enter the identical textual content for Markdown Reply.
- Select Create to save lots of the query.
Create a response bot
Full the next steps to create the primary response bot, which elicits a response:
- Select Add so as to add a brand new query.
- Choose qna.
- For Merchandise ID, enter
ElicitResponse.001
. - Beneath Questions/Utterances, enter
Please create a ticket
. - Beneath Reply, enter the next reply:
- Broaden the Superior part and navigate to the Elicit Response part.
- For Elicit Response: ResponseBot Hook, enter
QNAFreeText
. - For Elicit Response: Response Session Attribute Namespace, enter
short_description
.
This creates a slot named short_description
that captures the response or description for the incident. This slot makes use of the built-in QNAFreeText, which is used for capturing free textual content.
- For Doc Chaining: Chaining Rule, enter
QID::merchandise.002
. This should be in single quotes. Bear in mind this chaining rule to make use of when creating your doc chain. - Go away the remainder as default.
- Select Create to save lots of the query.
Create a doc chain
Now we create a doc chain in QnABot that may set off the Lambda operate to create a ticket and reply with a ticket quantity. Doc chaining means that you can chain two bots primarily based on the rule you configured. Full the next steps:
- Select Add so as to add a brand new query.
- Choose qna.
- For Merchandise ID, enter
merchandise.002
. This could match the QID worth given within the doc chain rule earlier. - Beneath Questions/Utterances, enter
servicenow integration
. - Beneath Reply, enter the next reply:
- Within the Superior part, add the Lambda operate ARN for Lambda Hook.
- Select Create to save lots of the query.
Take a look at the QnABot
To check the QnABot default consumer, full the next steps:
- Select the choices menu within the Content material Designer and select QnABot Consumer.
The QnABot consumer will open in a brand new browser tab.
- Log in utilizing the newly created person credentials to start the check.
For those who plan to make use of the Amazon Lex Internet UI on a static web page, observe these directions.
- Select the chat icon on the backside of the web page to start out the chat.
- To log in, select Login on the menu.
You can be routed to the login web page.
- Present the
userId
created earlier. - For first-time logins, you may be prompted to reset your password.
- Now we are able to check the chatbot with instance use instances. For our first use case, we need to study Amazon and enter the query “I need to study Amazon Lex, are you able to give me some details about it?” QnABot supplies a video and a few hyperlinks to sources.
- In our subsequent, instance, we have to set up software program on our laptop computer, and ask “Are you able to give me directions to put in software program.” QnABot understands that the person is requesting assist putting in software program and supplies solutions from the information financial institution. You possibly can observe these directions and set up the software program you want.
- Whereas putting in the software program, what for those who locked your password as a consequence of a number of failed login makes an attempt? To request a password reset, you’ll be able to ask “I have to reset my password.”
- You would possibly want further help resetting the password and need to create a ticket. On this case, enter “Please create a ticket.” QnABot asks for an outline of the issue; you’ll be able to enter “reset password.” QnAbot creates a ticket with the outline supplied and supplies the ticket quantity as a part of the response.
- You possibly can confirm the incident ticket was created on the ServiceNow console below Incidents. If the ticket shouldn’t be proven on the primary web page, seek for the ticket quantity utilizing the search toolbar.
Clear up
To keep away from incurring future prices, delete the sources you created. For directions to uninstall the QnABot answer plugin, consult with Uninstall the answer.
Conclusion
Integrating QnABot on AWS with ServiceNow supplies an end-to-end answer for automated buyer assist. With QnABot’s conversational AI capabilities to grasp buyer questions and ServiceNow’s sturdy incident administration options, corporations can streamline ticket creation and determination. You can even lengthen this answer to indicate a listing of tickets created by the person. For extra details about incorporating these methods into your bots, see QnABot on AWS.
Concerning the Authors
Sujatha Dantuluri is a Senior Options Architect within the US federal civilian group at AWS. She has over 20 years of expertise supporting industrial and federal authorities. She works intently with prospects in constructing and architecting mission-critical options. She has additionally contributed to IEEE requirements.
Maia Haile is a Options Architect at Amazon Internet Companies primarily based within the Washington, D.C. space. In that position, she helps public sector prospects obtain their mission aims with well-architected options on AWS. She has 5 years of expertise spanning nonprofit healthcare, media and leisure, and retail. Her ardour is utilizing AI and ML to assist public sector prospects obtain their enterprise and technical objectives.