servicenow-analyze-knowledge-article-quality implementation guide

---
availability: INSTALLABLE
description: A plugin that allows knowledge authors to evaluate whether a KB article
  is written in an AI-compatible way based on defined writing guidelines.
installation_asset_uuid: 593b7fb7-a68f-4bf0-9353-5541d0a682a5
name: Analyze Knowledge Article Quality
purple_chat_link: https://marketplace.moveworks.com/purple-chat?conversation=%7B%22messages%22%3A%5B%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EEvaluate+my+KB+Article+called%3A+%27How+to+set+up+VPN+for+remote+access%27.%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EI+can+help+you+evaluate+a+Knowledge+Base+article.+How+would+you+like+to+find+the+article%3F%3C%2Fp%3E%3Col+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cli%3ESearch+by+Description%3C%2Fli%3E%3Cli%3ESearch+by+Article+Number%3C%2Fli%3E%3Cli%3EArticles+Assigned+to+Me%3C%2Fli%3E%3C%2Fol%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3ESearch+by+Description%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EPlease+provide+a+description+or+keywords+for+the+article+you%27re+looking+for.%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EVPN+remote+access%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22pending%22%2C%22richText%22%3A%22Searching+for+KB+articles+with+description+%27VPN+remote+access%27+in+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EServiceNow%3C%2Fb%3E...%22%7D%5D%7D%2C%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Found+3+matching+articles.%22%7D%5D%7D%2C%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EI+found+a+few+articles+related+to+%27VPN+remote+access%27.+Which+one+would+you+like+to+evaluate%3F%3C%2Fp%3E%3Col+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cli%3EKB00105%3A+How+to+set+up+VPN+for+remote+access%3C%2Fli%3E%3Cli%3EKB00112%3A+Troubleshooting+VPN+Connections%3C%2Fli%3E%3Cli%3EKB00108%3A+VPN+Client+Installation+Guide%3C%2Fli%3E%3C%2Fol%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EKB00105%3A+How+to+set+up+VPN+for+remote+access%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22pending%22%2C%22richText%22%3A%22Retrieving+content+for+%27KB00105%27+from+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EServiceNow%3C%2Fb%3E...%22%7D%5D%7D%2C%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Content+retrieved.+Analyzing+for+AI+compatibility...%22%7D%5D%7D%2C%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EHere%27s+the+AI+compatibility+evaluation+for+%3Cstrong%3E%27How+to+set+up+VPN+for+remote+access%27%3C%2Fstrong%3E%3A%3C%2Fp%3E%3Cul+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cli%3E%3Cp%3E%3Cstrong%3EOverall+AI+Score%3C%2Fstrong%3E%3A+8%2F10+%28Good%29%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3E%3Cstrong%3EGaps+Identified%3C%2Fstrong%3E%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cp%3ELack+of+clear%2C+concise+headings.%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3ESome+paragraphs+are+too+long+for+snippetization.%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3EMissing+a+summary+sentence+at+the+beginning.%3C%2Fp%3E%3C%2Fli%3E%3C%2Ful%3E%3C%2Fli%3E%3Cli%3E%3Cp%3E%3Cstrong%3ESuggestions+for+Improvement%3C%2Fstrong%3E%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cp%3EBreak+down+%27Connection+Steps%27+into+smaller%2C+numbered+steps+with+distinct+headings.%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3EAdd+a+brief+introductory+sentence+summarizing+the+article%27s+main+purpose.%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3EEnsure+each+paragraph+focuses+on+a+single+idea.%3C%2Fp%3E%3C%2Fli%3E%3C%2Ful%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EThese+improvements+will+help+the+AI+more+accurately+extract+key+information+and+present+it+to+users+efficiently.%3C%2Fp%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22servicenow%22%2C%22citationTitle%22%3A%22KB00105%3A+How+to+set+up+VPN+for+remote+access%22%7D%5D%7D%5D%7D%5D%7D
solution_tags:
- IT
systems:
- servicenow
---

## **Introduction**

The **"Analyze Knowledge Article Quality"** plugin evaluates the overall quality and effectiveness of knowledge articles. When a user selects an article, the plugin retrieves its details and performs an **AI-based content analysis**, providing an **overall quality score** along with identified **gaps** and **recommendations for improvement**. The analysis covers areas such as **formatting, clarity and accessibility**, helping ensure that each article meets quality standards and enhances the user experience.

This guide will walk you through installing and configuring the plugin in **Agent Studio** in just a few minutes. Let’s get started!

## **Prerequisites**

- Access to Agent Studio

## **What are we building?**

### **Agent Design**

This [purple chat](https://marketplace.moveworks.com/purple-chat?conversation=%7B%22messages%22%3A%5B%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EEvaluate+my+KB+Article+called%3A+%27How+to+set+up+VPN+for+remote+access%27.%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EI+can+help+you+evaluate+a+Knowledge+Base+article.+How+would+you+like+to+find+the+article%3F%3C%2Fp%3E%3Col+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cli%3ESearch+by+Description%3C%2Fli%3E%3Cli%3ESearch+by+Article+Number%3C%2Fli%3E%3Cli%3EArticles+Assigned+to+Me%3C%2Fli%3E%3C%2Fol%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3ESearch+by+Description%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EPlease+provide+a+description+or+keywords+for+the+article+you%27re+looking+for.%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EVPN+remote+access%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22pending%22%2C%22richText%22%3A%22Searching+for+KB+articles+with+description+%27VPN+remote+access%27+in+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EServiceNow%3C%2Fb%3E...%22%7D%5D%7D%2C%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Found+3+matching+articles.%22%7D%5D%7D%2C%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EI+found+a+few+articles+related+to+%27VPN+remote+access%27.+Which+one+would+you+like+to+evaluate%3F%3C%2Fp%3E%3Col+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cli%3EKB00105%3A+How+to+set+up+VPN+for+remote+access%3C%2Fli%3E%3Cli%3EKB00112%3A+Troubleshooting+VPN+Connections%3C%2Fli%3E%3Cli%3EKB00108%3A+VPN+Client+Installation+Guide%3C%2Fli%3E%3C%2Fol%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EKB00105%3A+How+to+set+up+VPN+for+remote+access%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22assistant%22%2C%22parts%22%3A%5B%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22pending%22%2C%22richText%22%3A%22Retrieving+content+for+%27KB00105%27+from+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EServiceNow%3C%2Fb%3E...%22%7D%5D%7D%2C%7B%22reasoningSteps%22%3A%5B%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Content+retrieved.+Analyzing+for+AI+compatibility...%22%7D%5D%7D%2C%7B%22richText%22%3A%22%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EHere%27s+the+AI+compatibility+evaluation+for+%3Cstrong%3E%27How+to+set+up+VPN+for+remote+access%27%3C%2Fstrong%3E%3A%3C%2Fp%3E%3Cul+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3E%3Cli%3E%3Cp%3E%3Cstrong%3EOverall+AI+Score%3C%2Fstrong%3E%3A+8%2F10+%28Good%29%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3E%3Cstrong%3EGaps+Identified%3C%2Fstrong%3E%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cp%3ELack+of+clear%2C+concise+headings.%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3ESome+paragraphs+are+too+long+for+snippetization.%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3EMissing+a+summary+sentence+at+the+beginning.%3C%2Fp%3E%3C%2Fli%3E%3C%2Ful%3E%3C%2Fli%3E%3Cli%3E%3Cp%3E%3Cstrong%3ESuggestions+for+Improvement%3C%2Fstrong%3E%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cp%3EBreak+down+%27Connection+Steps%27+into+smaller%2C+numbered+steps+with+distinct+headings.%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3EAdd+a+brief+introductory+sentence+summarizing+the+article%27s+main+purpose.%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3EEnsure+each+paragraph+focuses+on+a+single+idea.%3C%2Fp%3E%3C%2Fli%3E%3C%2Ful%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EThese+improvements+will+help+the+AI+more+accurately+extract+key+information+and+present+it+to+users+efficiently.%3C%2Fp%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22servicenow%22%2C%22citationTitle%22%3A%22KB00105%3A+How+to+set+up+VPN+for+remote+access%22%7D%5D%7D%5D%7D%5D%7D) shows the experience we are going to build.

## **Installation Steps**

We recommend setting up **ServiceNow** before installing this plugin. Please follow the [ServiceNow Connector](https://marketplace.moveworks.com/connectors/servicenow#how-to-implement) guide to configure the connection.

**Specifically, confirm the following permissions are granted:**

**Table Access:**

- `Read` access to the **kb_knowledge** table.

**Field Access:**

- `Read` access to the following fields in the **kb_knowledge** table:  **number, short_description, text, display_number, author.email**

**Your Instance Configuration:**

All ServiceNow API endpoints in this plugin use `YOUR_INSTANCE` as a placeholder. After installation, replace `YOUR_INSTANCE` in the API calls with your actual ServiceNow instance name.

To find your instance name:

- Log in to your ServiceNow account.
- Check the URL in your browser — the instance name appears before `.service-now.com`, e.g.:
    
    `https://**your_instance**.service-now.com/...`
    

Make sure to update this across all actions that reference the ServiceNow API.

Once the connector is successfully configured, follow our [plugin installation documentation](https://help.moveworks.com/docs/ai-agent-marketplace-installation) for detailed steps on how to install and activate the plugin in **Agent Studio**.

## **Appendix**

### **API #1: Get Article By Number or Short Description or Author’s Email:**

```bash
curl --location 'https://<YOUR_INSTANCE>/api/now/table/kb_knowledge?sysparm_query={{filter_query}}&sysparm_fields=number,short_description,text,display_number,author.email' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
--header 'Accept: application/json' \
```

**Query Parameter:**

- **`$filter_query` : (string)** – Filter knowledge articles by specific property values.
    - You can filter by **article number**, **short description**, or **author email**.
        - Example filters:
            - `number=KB0012345` → Returns the article with that specific article number.
            - `short_descriptionLIKEnew` → Returns articles containing “new” in the short description.
            - `author.email=john.doe@example.com` → Returns articles created by the specific author.
- **`$sysparm` : (string)** – Selected fields to be returned.
    - Example:
        - `['number', 'short_description', 'author's email', 'text']`
- **Important Note:**
    - The **`$sysparm`** parameter lets you choose specific fields from the main entity or expanded entities.
        - Format for expanded fields: `author.email`.