Problem Statement: ServiceNow Auto Ticket Triaging
ServiceNow is a popular IT service management (ITSM) platform used by organizations to handle incidents, problems, and change management, among other processes.
The problem arises due to the large volume of incoming tickets that an organization receives daily. As the ticket count increases, manual ticket triaging becomes time-consuming and prone to human errors.
The objective is to automate the ticket triaging process using UiPath Communication Mining techniques to improve efficiency, reduce response time, and enhance the overall quality of IT support services.
Solution : Automating ticket triaging with UiPath Communication Mining
Automating ticket triaging with UiPath Communication Mining in ServiceNow streamlines IT support requests, ensuring efficiency and accuracy. Key objectives include analyzing communication sources, extracting relevant data, categorizing and prioritizing tickets, identifying appropriate assignment groups, integrating machine learning, and ensuring seamless ServiceNow integration for real-time processing and continuous improvement.
📈 Communication Source Analysis: The system processes data from various communication channels (email, chat, helpdesk) for a comprehensive view of support requests.
📝 Data Extraction: UiPath Communication Mining extracts vital ticket-related information from the textual content, such as Ticket details, Issue descriptions, timestamps, and metadata.
🎯 Ticket Categorization: The system accurately categorizes tickets (incidents, service requests, problems) by understanding context and intent Using UiPath Communication Mining Prediction Labels.
🔝 Priority Assignment: Using communication mining, the system analyzes ticket urgency and impact to assign appropriate priority levels, ensuring quick response to critical issues.
👥 Assignment Group Identification: UiPath Communication Mining helps identify the best-suited groups or individuals with the right skills to handle specific ticket categories based on extracted labels and Entity Extraction.
🔄 Seamless ServiceNow Integration: The auto-triaging system smoothly integrates with ServiceNow, utilizing UiPath’s Integration Service capabilities to Receive, update, and manage tickets on Real Time Basis.
Working Example: How UiPath Communication Mining will Work
Stage 1: Preparatory Work, Data Collection and Preparation:
- ✅ Access to a UiPath Automation Cloud
- ✅ Access to UiPath Communications Mining instance (please check with your account team to find out how you can get access if you do not already have it).
- ✅ An ITSM Environment of your choice. (for This example ServiceNow) – You should be able to export data from any ITSM Tool.
- ✅ Historical Data Exported from the ITSM Application of your environment
- ✅ UiPath Integration Service Access to get Real-time Tickets
- ✅ UiPath Orchestrator Access to Manage Triggers
- ✅UiPath Studio to configure Robot and build your automation.
Once you have the required access and the dataset available for Model Training in Communication Mining, The Next step will be setting up the Projects Dataset and Sources.
Let’s get started!
[Dataset Download link and Sample View Provided Below]
ID_request,Text,Category,Solution,Date_request_recieved,Date_request_solved,ID_agent
4791,"I can't open webpage https://unsplash.com/. I use Chrome, but tried in other net browsers as well. Doesn't help. Please give me the premission to visit any site on the internet.",Discord,"Software updated, PC cleaned.",10/17/2022,10/26/2022,2
3964,<p><br> I need guarantee exchange for a new device. New SN: 30739<br> Old SN: 30292</p>,CRM,Asana installed,10/6/2022,10/24/2022,3
2774,"<p>Bundled problems with Office since restart:</p><p>Messages not sent</p><p>Outlook does not connect, mails do not arrive</p><p>Error 0x8004deb0 appears when Connection attempt, see attachment</p><p>The company account is affected: AB123</p><p>Access via Office.com seems to be possible.</p>",CRM,Problem solved,10/20/2022,10/5/2022,2
4999,This is just test message. Neglect please.,Internet Browser,Problem fixed by connection to users PC.,10/8/2022,10/14/2022,2
2753,My headphones aren't working. I would like to order new.,Internet Browser,Attachment enabled,10/7/2022,10/5/2022,3
4805,My keyboard is broken. Please send the new one,Internet Browser,Software reinstalled,10/10/2022,10/18/2022,2
3769,<p> Die rechte Maustaste funktioniert nicht mehr. Bitte neues schicken. </p>,Mail,Premission given,10/25/2022,10/18/2022,1
4537,Asana stopped to work after I restarted my PC.,Asana,Discord Installed,10/25/2022,10/17/2022,3
3877,"Avevo asana sul mio PC, ma dopo aver installato la nuova versione di Chrome è scomparsa. Si prega di installare nuovamente Asana sul mio PC.",Help Needed,Outlook reinstalled,10/31/2022,10/14/2022,3
3219,Installation needed.,Outlook,Software reinstalled,10/13/2022,10/13/2022,2
3099,<p>Für den Quartalsbericht benötigen wir dringend die Börsendaten. Ermöglichen Sie den Zugriff auf alle Webseiten so schnell wie möglich. </p>,Mail,Problem solved,10/17/2022,10/21/2022,2
4999,"<p>Ich kann nicht auf Outlook zugreifen. Es zeigt den Status an, dass es offline arbeitet, und ich bin mit dem Internet verbunden </p> <br> Outlook",Internet Browser,Problem fixed by connection to users PC.,10/5/2022,10/14/2022,2
3717,<p>Attachment I got is blocked due to e-mail policy</p><br>,Keyboard ,Item sent,10/18/2022,10/21/2022,2
4999,Bitte installieren Sie Asana erneut auf meinem PC. Nach dem letzten Windows#Update funktioniert es nicht mehr.,Help Needed,"Software updated, PC cleaned.",10/24/2022,10/5/2022,3
4999,Why I don't have Discord on the new laptop I ordered when I asked for it? Please install Discord on my pc.,,"Software updated, PC cleaned.",10/3/2022,10/21/2022,3
3618,Outlook funktioniert nach Update nicht. Hilfe bitte,CRM,Item sent,10/17/2022,10/4/2022,2
4999,"Please update Asana on my PC. I have it installed, but new version is available and I can't do the update.",Discord,Attachment enabled,10/24/2022,10/14/2022,3
4693,"<p>Ich kann nicht auf Outlook zugreifen. Es zeigt den Status an, dass es offline arbeitet, und ich bin mit dem Internet verbunden </p> <br> Outlook",Internet Browser,Outlook reinstalled,10/6/2022,10/17/2022,1
2603,"<p> Ich muss meinen Posteingang mit einem Teammitglied teilen. Berechtigungen, die bereits von name.nachname@firma.com erteilt wurden, finden Sie im beigefügten Screenshot. Das System gibt einen Fehler zurück und auch der Outlook-Client tut dasselbe.</p>",Internet Browser,"Software updated, PC cleaned.",10/21/2022,10/25/2022,2
2372,I would like to order mouse for left-handed person (me).,Mail,Software installed,10/18/2022,10/10/2022,3
Stage 2: Create DataSet, Different Settings for Language and Entity:
Creating a dataset involves combining one or more data sources (up to 20) with a trained model. Sources and datasets can belong to different projects, as long as users have the necessary permissions. When creating a new dataset, the option to copy an existing dataset is available, allowing for the duplication of sources, entities, sentiment selection, labels, and reviewed examples.
📂 GUI or API can set up an empty source with defined properties.
📂 Data can be uploaded through integrations or static CSV upload. (Will Discuss this in the Next Section)
🗂️ Datasets consist of one or more data sources and a trained model.
🗂️ Sources and datasets can belong to different projects with appropriate permissions.
🗂️ Multiple sources in a dataset should serve a similar purpose for analysis or automation.
🗂️ Option to create a copy of an existing dataset, including its associated elements.
Once created dataset card provides information about a dataset, including the title, description, project linkage, dataset name, connected sources, model family (language), sentiment analysis status, and timestamps for the last change and creation. Additionally, there are options to navigate to Dashboard, Explore, and Reports pages.
💡 Dataset title and description
🔄 Project linkage and dataset name
🔗 Connected sources – You can choose to create a copy of a pre-existing dataset. This means that you copy over the same sources, entities, sentiment selection, labels and review examples.
🌐 Model family (language) – If you wish to set MultiLanguage for your model.
📊 Sentiment analysis status – Here you can set the sentiment of Comment – Once enabled cant be disabled and you need to label it accordingly
⏰ Timestamps for the last change and creation
🖥️ Navigation options: Dashboard, Explore, and Reports
Stage 3: Working with Data Sources, Upload via CSV
To create a data source in the GUI, users with ‘Sources admin’ permissions can follow these steps:
- Navigate to the ‘Sources’ page via the Admin console.
- Select the ‘New Source’ button at the top of the page.
- Fill in the required source properties, such as source project, name, title, description, sensitive properties (with ‘View sensitive data’ permission), language, and translation status (with ‘Create translated sources’ permission).
- Click the ‘Create source’ button.
📋 To upload data from a CSV file into a data source, follow these key steps:
- Navigate to the Sources page via the admin console.
- Locate the desired data source to upload data into.
- Click the upload icon in the top right-hand corner of the data source card.
- Select the CSV file you want to upload.
- Ensure that the CSV file meets specific criteria:
- Contains headers on the first line and is delimited by commas or tabs.
- Requires a minimum of three columns: comment text contents (message), timestamp, and a unique comment ID.
- Must be encoded as UTF-8, UTF-16, or UTF-32 (automatically detected by the platform).
- Should be 64 MiB or smaller; larger files can be uploaded by splitting them into multiple files, each less than 64 MiB.
📋 Required Columns in CSV Upload:
- ID column: Unique comment identifier with ASCII alphanumeric characters and certain punctuation.
- Message column: Text of the message for analysis.
- Timestamp column: Date and time of comment recording (flexible format, automatically inferred).
📊 Additional Optional Columns:
- Subject lines, threads, participants (for cases or email threads).
Note: You might need to perform some cleanup on your data as it may contain invalid characters and your CSV upload might fail.
Here is a list of Common issues :
- Not Enough Columns
- Invalid Encoding
- Invalid Header
- Unequal Row Lengths
- Id format
- Id length
- Timestamp Format
- Message Length
- Number Property Format
- Property Length
- Unknown Error
Read more – Uploading a CSV file into a source : Knowledge Base (reinfer.io)
Stage 4: Explore Train and Apply Labels
Once you are done with your dataset uploaded to UiPath Communication Mining it will auto-discover and cluster them in different groups (looking similar) and provide you with a guided session for training your data set.
Before diving into Model Training and Applying labels – Let’s understand the key concepts for a better understanding.
Using labels, entities and metadata together
Below is an example verbatim that shows how labels, entities and metadata are distinct but complementary to one another. For this inbound request to be automated, each of them may be required for a specific purpose:
Some Background Details Labels, entities, and metadata
➡️ Proper structuring and naming of labels in taxonomy are crucial for effective model training.
➡️ Labels should serve a business purpose and provide a useful description of the concept they capture. Labels can have hierarchies, with multiple levels separated by ‘>’.
➡️ Each label nested under another should be a subset of the label above it. Additional levels of hierarchy can be added later in the training process.
➡️ The model predicts each label independently, and parent labels should capture genuine topics or concepts.
➡️ Broad labels should be avoided, as they require more examples to predict well. Splitting broad labels into distinct and specific labels is recommended.
Overview of the model training process
Key Points:
🔍 Model training involves iterative steps – The model training process involves iterative steps: Discover, Explore, Refine, and Prune/Re-organize.
🚀 Discover clusters and tag labels- In the Discover phase, similar intents and conversation themes are grouped into clusters and tagged with relevant labels.
📝 Explore to train and improve the model – Explore is where the model is further trained by reviewing verbatims, adding labels, and improving understanding.
📈 Refine for overall performance improvement – Refine phase focuses on assessing and improving the model’s overall performance with guided feedback.
🗄️ Prune/Re-organize for label management – Prune/Re-organize allows renaming, merging, or deleting labels throughout the process.
Key Points to Note :
🔄 Applying labels/reviewing entities leads to model retraining
📈 Model computes new predictions with the latest data
⏳ Retraining time varies based on factors
🏁 Status icons show dataset status
ℹ️ Retraining can occur due to platform/model improvements
Stage 5 :Validation, Report & Pin the Model
The Reports page in the platform provides in-platform reporting on the dataset. Users can access it through the top navigation bar. The reports are filterable to prioritize the most relevant views.
Depending on the data type, there are up to six tabs in the Reports section: Dashboard, Label Summary, Trends, Segments, Threads, and Comparison. Users can switch between verbatim and thread-level reports if the data is in thread form (such as call transcripts or email chains). The verbatim filter is the default if thread-level data is not available.
The functionalities of each tab are as follows:
🎯 Dashboard: Users can create custom dashboard views using data from other tabs.
🎯 Label Summary: Provides high-level summary statistics for labels.
🎯 Trends: Presents charts showing verbatim volume, label volume, and sentiment over a specific time period.
🎯 Segments: Shows charts comparing label volumes with verbatim metadata fields, like sender domain.
🎯 Threads: Displays charts indicating thread volumes and label volumes within a thread (only accessible with the ‘Thread’ filter applied).
🎯 Comparison: Enables users to compare different data cohorts against each other.
Each tab in the Reports page displays the total number of verbatims in the dataset, net sentiment (if sentiment analysis is enabled), and the selected date period. When applying user property, entity, or label filters, these statistics update based on the applied filters and selections.
Every time you train the platform on your data (i.e. labelling any verbatims), a new version of the model associated with your dataset is created. You should be able to see the status and review on the “Train Page”.
Key Points to Note here:
📊 New model versions generated during data training
🔒 Previous versions are not automatically stored due to storage constraints
📌 “Pinning” model versions provide prediction determinism
🏷️ Models can be tagged as ‘Live’ or ‘Staging’ for downstream use
📈 Validation page allows comparing scores of pinned models over time
Stage 6: Using the Communication Mining Model in UiPath Studio Project
Key points to note here:
🎯 The platform assigns confidence scores (%) to predictions of labels for inbound communications.
📊 Confidence thresholds determine whether a label applies or not for automatic classification.
💡 Selecting the appropriate threshold achieves the desired balance of precision and recall.
🎚️ Threshold selection can be done through the Validation page by adjusting the threshold slider or inputting a percentage value.
📈 Precision vs recall chart provides a visual indication of the thresholds that optimize precision, recall, or strike a balance between the two.
⚖️ Threshold selection depends on the use case, considering the potential consequences of false positives and false negatives.
⭐ Examples include maximizing recall for urgent requests to avoid missing them and maximizing precision for high-value transactions to minimize false positives.
- To create a stream you will first need to have a Pinned Model.
- To create a stream, click the ‘New stream +’ button at the top of the streams page, which will open the ‘Create a stream’ modal.
Get predictions from a pinned model example
Stage 7: Designing End-to-End Automation Using the Trained Model & Other Uipath Components
Highlights:
🎯 UiPath Integration Service to get Real-Time Data from ITSM Tool (Service Now) Using ServiceNow Connector
🎯 UiPath Orchestrator Triggers Bot based on Events Received from Upstream System ServiceNow Incidents & Service Task
🎯 Tickets Description Extracted from Service Now send to UiPath Communication Mining for Labels, Entity extraction using prediction API Call.
🎯 Based on Threshold “STP” and “Human in the Loop” feature utilised via UiPath Action Center
🎯 Automation Action Based on AI Response in Target system and Update Required details in ServiceNow
🎯 Feedback Mechnish is utilised to send data back to UiPath Communication mining using the “Exception” API route.
Summary:
Effective communication mining in IT Service Management (ITSM) offers numerous benefits, including enhanced incident management, improved problem resolution, streamlined change management, boosted knowledge management, and optimized service request management.
💡 Incident Management: Communication mining helps IT teams analyze incident reports and communication logs to identify recurring problems and potential bottlenecks proactively.
💡 Problem Resolution: IT professionals can discover successful solutions from past incidents through communication mining, reducing resolution times and increasing customer satisfaction.
💡 Change Management: Communication mining aids in understanding team communication during change implementation, leading to better coordination and alignment among stakeholders.
💡 Knowledge Management: By analyzing interactions between IT staff, communication mining helps capture tacit knowledge, leading to better decision-making and faster problem-solving.
💡 Service Request Management: Communication mining identifies patterns in service requests, providing insights to improve service delivery and enhance customer experiences.
#UiPath #CommunicationMining #ITSM #IncidentManagement #ProblemResolution #ChangeManagement