Do your team members spend excessive time on the phone waiting to submit an IT ticket? Are they often stuck waiting for an agent to address issues, such as a simple computer restart? Delivering exceptional IT support is vital for any business, but traditional systems have depended on human agents to log reports and prioritize problems. Conversational AI, commonly known as chatbots, can assist in triaging these frequent IT challenges and generating tickets for complex issues that require human intervention. Chatbots can swiftly resolve common business queries, enhance employee satisfaction, and free up agents’ time for more intricate tasks.
QnABot on AWS is an open-source solution developed with AWS native services, including Amazon Lex, Amazon OpenSearch Service, AWS Lambda, Amazon Transcribe, and Amazon Polly. The latest version, QnABot 5.4+, now incorporates generative AI features.
According to the Gartner Magic Quadrant 2023, ServiceNow stands out as a top IT Service Management (ITSM) provider. ServiceNow’s Incident Management employs workflows to identify, track, and resolve significant IT service incidents.
This post will guide you on integrating QnABot on AWS with ServiceNow. This integration allows users to engage with QnABot to address their IT service issues and create incident tickets in ServiceNow in real time by providing information to QnABot.
Check out this video to witness how users can interact with an IT service desk chatbot and receive answers. For frequently asked questions, the chatbot’s responses can often resolve the issue. If users find the answers unsatisfactory, they can request the creation of a ticket in ServiceNow.
Solution Overview
QnABot on AWS is a versatile, multi-channel, and multi-language chatbot designed to respond to customer inquiries and feedback. It can be seamlessly integrated into your IT Service Desk ticketing workflow, thanks to its distributed architecture. If you’re interested in creating your own chatbot with Amazon Lex or simply want to integrate Amazon Lex into your application, you might want to explore this other blog post that discusses integrating ServiceNow with Amazon Lex for ticket processing.
The workflow comprises the following steps:
- A QnABot administrator configures the questions using the Content Designer UI provided by Amazon API Gateway and Amazon Simple Storage Service (Amazon S3).
- The Content Designer Lambda function stores the input in OpenSearch Service in a question bank index.
- When QnABot users ask questions that require ServiceNow integration, Amazon Lex retrieves the questions and prompts the user to describe the issue. Upon receiving the description, it triggers a Lambda function.
- The Lambda function retrieves secrets from AWS Secrets Manager, where environment variables are maintained, and sends an HTTP request to create a ticket in ServiceNow. The ticket number is then sent back to the user.
If you are creating a diagnostic workflow, you may need responses to various questions prior to ticket generation in ServiceNow. You can utilize response bots and document chaining capabilities of QnABot to facilitate this. Response bots are designed to extract responses from users and save them as session variables or slot values. You can either use built-in response bots or craft a custom one. Note that response bot names must begin with “QNA.”
This solution comes equipped with a variety of built-in response bots. For implementation details, refer to the section on configuring the chatbot to ask questions and utilize response bots.
Document chaining can be employed to gather responses and invoke Lambda functions. The chaining rule is expressed as a JavaScript programming expression that checks the value of the session attribute set to gather a response and subsequently routes to another bot or triggers Lambda functions. You can identify the next question in the document by referencing the question ID (QID) specified in the Document Chaining: Chaining Rule field as ‘QID::’ followed by the QID value. For instance, a rule evaluating to “QID::Admin001” will link to item Admin.001.
When using a chaining rule for Lambda, the function name must commence with the letters “QNA,” specified in the Document Chaining: Chaining Rule field as ‘Lambda::FunctionNameorARN’. All chaining rules should be enclosed in single quotes.
Deploy the QnABot Solution
To deploy the solution, follow these steps:
- Click on Launch Solution in the QnABot implementation guide to initiate the latest QnABot template via AWS CloudFormation.
- Assign a name for the bot.
- Provide an email address for receiving a password reset email.
- Ensure that EnableCognitoLogin is set to true.
- Accept the default settings for all other parameters (refer to the implementation guide for parameter definitions) and launch the QnABot stack.
This post utilizes a static webpage hosted on Amazon CloudFront, embedding the QnABot chatbot using the Amazon Lex web UI sample plugin. Instructions for testing this solution via the QnABot client page are also included.
Create a ServiceNow Account
This section outlines the steps for creating a ServiceNow account and developer instance:
- First, sign up for a ServiceNow account.
- Check your email to confirm your ServiceNow ID.
- During verification, provide the six-digit code sent to your email.
- You can skip the two-factor authentication setup page, which redirects you to the ServiceNow Developer program landing page.
- In the Getting Started steps, select “Yes, I need a developer oriented IDE.”
- Click on “Start Building” to set up your instance.
Once the build completes (which may take a few seconds to minutes), you will receive the instance URL, username, and password. Keep this information handy for future steps.
Log in using the following URL (replace with your instance): https://devXXXXXX.service-now.com/now/nav/ui/classic/params/target/change_request_list.do.
Stay logged in to the ServiceNow developer instance throughout the process. If logged out, use your email and password to log back in to wake up the instance and prevent hibernation.
Select “All” in the navigation bar, then choose “Incidents” to view all incidents without filters.
Create Users in ServiceNow and an Amazon Cognito Pool
You can create an incident using the user ID of the chatbot user. First, verify that the chatbot user’s userId exists in ServiceNow. This process involves creating a ServiceNow user and then a corresponding user in an Amazon Cognito user pool. Amazon Cognito is an AWS service that authenticates clients and provides temporary AWS credentials.
- Create a ServiceNow user, ensuring to include first name, last name, and email.
- Note the user ID of the newly created user, as it will be required for creating an Amazon Cognito user in a user pool.
- In the Amazon Cognito console, select “User pools” from the navigation pane.
By following these steps, you will be well on your way to successfully integrating QnABot with ServiceNow, streamlining your IT support process. For further insights, check out this authoritative article that provides more information on the topic, and don’t forget that this link is an excellent resource for those looking to enhance their skills in this area.
Leave a Reply