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 typically solely requires restarting the pc? Offering wonderful IT help is essential for any group, however legacy techniques have relied closely on human brokers being accessible to consumption studies and triage points. Conversational AI (or chatbots) can assist triage a few of these frequent IT issues and create a ticket for the duties when human help is required. Chatbots rapidly resolve frequent enterprise points, enhance worker experiences, and unencumber 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 be enhanced with generative AI capabilities.
In line with Gartner Magic Quadrant 2023, ServiceNow is among the main IT Service Administration (ITSM) suppliers in the marketplace. ServiceNow’s Incident Administration makes use of workflows to determine, observe, and resolve excessive‑influence IT service incidents.
On this put up, we reveal find out how 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 ceaselessly requested questions, chatbot solutions can assist resolve the difficulty. When a consumer determines that the solutions offered will not be 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 might be deployed as a part of your IT Service Desk ticketing workflow. Its distributed structure permits for integrations with different techniques like ServiceNow. If you happen to want to construct your personal chatbot utilizing Amazon Lex or add solely Amazon Lex as a part of your software, check with Combine ServiceNow with Amazon Lex chatbot for ticket processing.
The next diagram illustrates the answer structure.
The workflow consists of 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 consumer to offer an outline of the difficulty. When the outline is offered, it invokes a Lambda operate.
- The Lambda operate fetches secrets and techniques from AWS Secrets and techniques Supervisor, the place setting variables are saved, and makes an HTTP name to create a ticket in ServiceNow. The ticket quantity is then returned to the consumer.
When constructing a diagnostic workflow, chances are you’ll require inputs to completely different questions earlier than you possibly can create a ticket in ServiceNow. You should use 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 use built-in response bots or create a customized response bot. Response chatbot names should begin with the letters “QNA.”
This answer gives a set of built-in response bots. Check with Configuring the chatbot to ask the questions and use response bots for implementation particulars.
You should use 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’ll be able to determine the subsequent query within the doc by figuring out the query ID (QID) specified within the Doc Chaining:Chaining Rule discipline 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 identify should begin with the letters “QNA,” and is specified within the Doc Chaining:Chaining Rule discipline 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 most recent 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.
- Be sure 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 web UI sample plugin. We additionally present directions for testing this answer utilizing the QnABot shopper web page.
Create a ServiceNow account
This part walks by way of the steps to create a ServiceNow account and ServiceNow developer occasion:
- First, sign up for a ServiceNow account.

- Go to your electronic mail and make sure this electronic mail handle in your ServiceNow ID.
- As a part of the verification, you’ll will probably be requested to offer the six-digit verification code despatched to your electronic mail.
- You’ll be able to 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 want 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’ll be supplied with the occasion URL, consumer identify, and password particulars. Save this info to make use of in later steps.

- Log in to the location utilizing the next URL (present your occasion):
https://devXXXXXX.service-now.com/now/nav/ui/traditional/params/goal/change_request_list.do.
Remember to 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 forestall hibernation.

- Select All within the navigation bar, then select Incidents.

- Choose All to take away the entire filters.
All incidents will probably be proven on this web page.
Create customers in ServiceNow and an Amazon Cognito pool
You’ll be able to create an incident utilizing the userid of the chatbot consumer. For that, we have to verify that the userId of the chatbot consumer exists in ServiceNow. First, we create the ServiceNow consumer, then we create a consumer with the identical ID in an Amazon Cognito consumer pool. Amazon Cognito is an AWS service to authenticate shoppers and supply short-term AWS credentials.
- Create a ServiceNow user. Remember to embrace a primary identify, final identify, and electronic mail.
Be aware down the consumer ID of the newly created consumer. You will have this when creating an Amazon Cognito consumer in a consumer pool.
- On the Amazon Cognito console, select Person swimming pools within the navigation pane.
If in case you have deployed the Amazon Lex net UI plugin, you will notice two consumer pool names; for those who didn’t, you’ll see just one consumer pool identify.

- Choose the consumer pool that has your QnABot identify and create a brand new consumer. Use the identical userId as that of the ServiceNow consumer.
- In case you are utilizing the Amazon Lex net UI, create a consumer within the acceptable Amazon Cognito consumer pool by following the previous steps.
Be aware that the userId you created will probably be used for the QnABot shopper and Amazon Lex Net UI shopper.
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 Operate identify, enter a reputation, similar to
qna-ChatBotLambda. (Do not forget that QnABot requires the prefixqna-within the identify.) - For Runtime, select Node.js 18.x.

This Lambda operate creates new position. If you wish to use an present position, you possibly can change the default AWS Identification and Entry Administration (IAM) execution position by deciding on Use present position.
- Select Create operate.
- After you create the operate, use the inline editor to edit the code for index.js.
- Proper-click on
index.jsand 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, check 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_HOSTwith the worthdevXXXXXX.service-now.com. - Add
SERVICENOW_USERNAMEwith the worthadmin.
- Add

-
- Copy the Lambda operate ARN. You will have it at later stage.
The following step is to retailer your ServiceNow consumer identify and password in Secrets and techniques Supervisor.
- On the Secrets and techniques Supervisor console, create a brand new secret.
- Choose Different sort of secret.
- Add your key-value pairs as proven and select Subsequent.

- For Secret identify, enter a descriptive identify (for this put up, servicenow/password). If you happen to select a special identify, replace the worth of const
secret_namewithin the Lambda operate code. - Select Subsequent.
- Go away Configure rotation on default and select Subsequent.
- Evaluation 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 identify to open the IAM web page for the position.
- Within the following inline coverage, present the ARN of the key you created earlier:
- Add the inline coverage to the position.
Configure QnABot configurations
On this part, we first create some data questions utilizing the Questions characteristic of QnABot. We then create a response bot that elicits a response from a consumer 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, check 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 data query 1
Create a data 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.
- Underneath Questions/Utterances, enter the next:
- Underneath Reply, enter the next reply:

- Increase the Superior part and enter the identical textual content in Markdown Reply.

- Go away the remaining as default, and select Create to save lots of the query.
Create data query 2
Now you create the second data query.
- Select Add so as to add a brand new query.
- Choose qna.
- For Merchandise ID, enter
data.001. - Underneath Questions/Utterances, enter
Need to be taught extra about Amazon Lex. - Underneath Reply, enter the next reply:

- Increase the Superior part and enter the identical reply below Markdown Reply.

- Go away the remaining as default, and select Create to save lots of the query.
Create data query 3
Full the next steps so as to add one other data query:
- Select Add so as to add a brand new query.
- Choose qna.
- For Merchandise ID, enter
password.reset. - Underneath Questions/Utterances, enter I have to reset my password.
- Underneath Reply, enter the next reply:

- Increase 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. - Underneath Questions/Utterances, enter
Please create a ticket. - Underneath Reply, enter the next reply:

- Increase 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 remaining 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 permits you to chain two bots based mostly 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. - Underneath Questions/Utterances, enter
servicenow integration. - Underneath 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 shopper, full the next steps:
- Select the choices menu within the Content material Designer and select QnABot Shopper.

The QnABot shopper will open in a brand new browser tab.
- Log in utilizing the newly created consumer credentials to start the check.
If you happen to plan to make use of the Amazon Lex Net UI on a static web page, comply with these directions.
- Select the chat icon on the backside of the web page to begin the chat.
- To log in, select Login on the menu.

You may be routed to the login web page.
- Present the
userIdcreated earlier. - For first-time logins, you’ll be prompted to reset your password.

- Now we will check the chatbot with instance use circumstances. For our first use case, we need to find out about Amazon and enter the query “I need to find out about Amazon Lex, are you able to give me some details about it?” QnABot gives a video and a few hyperlinks to assets.

- 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 consumer is requesting assist putting in software program and gives solutions from the data financial institution. You’ll be able to comply with 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 possibly can ask “I have to reset my password.”

- You may 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 possibly can enter “reset password.” QnAbot creates a ticket with the outline offered and gives the ticket quantity as a part of the response.

- You’ll be able to confirm the incident ticket was created on the ServiceNow console below Incidents. If the ticket just isn’t 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 assets you created. For directions to uninstall the QnABot answer plugin, check with Uninstall the answer.
Conclusion
Integrating QnABot on AWS with ServiceNow gives an end-to-end answer for automated buyer help. With QnABot’s conversational AI capabilities to know buyer questions and ServiceNow’s strong incident administration options, firms can streamline ticket creation and backbone. You may as well lengthen this answer to indicate a listing of tickets created by the consumer. For extra details about incorporating these strategies into your bots, see QnABot on AWS.
In regards to the Authors
Sujatha Dantuluri is a Senior Options Architect within the US federal civilian crew at AWS. She has over 20 years of expertise supporting business and federal authorities. She works carefully with clients in constructing and architecting mission-critical options. She has additionally contributed to IEEE requirements.
Maia Haile is a Options Architect at Amazon Net Providers based mostly within the Washington, D.C. space. In that position, she helps public sector clients obtain their mission goals 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 clients obtain their enterprise and technical objectives.

