salesforce-summarize-top-recurring-cases implementation guide

---
availability: INSTALLABLE
description: A plugin that identifies and summarizes the most frequently occurring
  case types or issues in Salesforce over a specified period, aiding in problem management,
  trend analysis, and identifying areas for process improvement.
installation_asset_uuid: ffb1fe61-09d5-4dcc-ab03-421bf09817db
name: Summarize Top Recurring Cases
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%3EWhat+are+our+top+recurring+cases+in+my+group%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%3EWhich+public+group+would+you+like+to+summarize+top+recurring+cases+for%3F+You+have+access+to%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cp%3ESales+Support%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3ETechnical+Support%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3ECustomer+Success%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3EBilling+Inquiries%3C%2Fp%3E%3C%2Fli%3E%3C%2Ful%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Billing+Inquiries%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%3EOkay%2C+summarizing+top+recurring+cases+for+the+%3Cb%3EBilling+Inquiries%3C%2Fb%3E+group.+For+what+time+period+would+you+like+to+see+the+summary%3F%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22September+2025%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%22Analyzing+case+data+for+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EBilling+Inquiries%3C%2Fb%3E+from+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3ESalesforce%3C%2Fb%3E+for+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3ESeptember+2025%3C%2Fb%3E%22%7D%2C%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Summarizing+top+recurring+cases+based+on+subject%2C+type%2C+and+description+analysis.%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+is+the+summary+of+top+recurring+cases+for+%3Cstrong%3EBilling+Inquiries%3C%2Fstrong%3E+for+%3Cstrong%3ESeptember+2025%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%3Cb%3E1.+Incorrect+Invoice+Amount%3C%2Fb%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3EFrequency%3A%3C%2Fb%3E+112+Cases%3C%2Fli%3E%3Cli%3E%3Cb%3EAvg.+Resolution+Time%3A%3C%2Fb%3E+3.1+days%3C%2Fli%3E%3Cli%3E%3Cb%3EUsual+Resolution%3A%3C%2Fb%3E+The+resolution+typically+involves+getting+approval+from+a+finance+manager%2C+correcting+the+invoice+amount+in+the+billing+system%2C+and+re-issuing+it+to+the+customer+via+email.%3C%2Fli%3E%3C%2Ful%3E%3C%2Fli%3E%3Cli%3E%3Cp%3E%3Cb%3E2.+Subscription+Renewal+Not+Processed%3C%2Fb%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3EFrequency%3A%3C%2Fb%3E+87+Cases%3C%2Fli%3E%3Cli%3E%3Cb%3EAvg.+Resolution+Time%3A%3C%2Fb%3E+1.8+days%3C%2Fli%3E%3Cli%3E%3Cb%3EUsual+Resolution%3A%3C%2Fb%3E+Agents+usually+confirm+the+payment+method+is+still+valid+and+manually+trigger+the+subscription+renewal+script.+The+root+cause+often+points+to+an+automated+payment+failure.%3C%2Fli%3E%3C%2Ful%3E%3C%2Fli%3E%3Cli%3E%3Cp%3E%3Cb%3E3.+Request+for+Refund%3C%2Fb%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3EFrequency%3A%3C%2Fb%3E+54+Cases%3C%2Fli%3E%3Cli%3E%3Cb%3EAvg.+Resolution+Time%3A%3C%2Fb%3E+4.5+days%3C%2Fli%3E%3Cli%3E%3Cb%3EUsual+Resolution%3A%3C%2Fb%3E+This+requires+checking+the+customer%27s+eligibility+against+the+refund+policy%2C+processing+the+refund+via+the+payment+gateway%2C+and+notifying+the+customer+once+complete.%3C%2Fli%3E%3C%2Ful%3E%3C%2Fli%3E%3C%2Ful%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22salesforce%22%2C%22citationTitle%22%3A%22Billing+Inquiries+Group%22%7D%5D%7D%5D%7D%5D%7D
solution_tags:
- Sales
- Support
- Ticketing
systems:
- salesforce
---

## **Introduction**

The Salesforce **“Summarize Top Recurring Cases”** plugin enables users to quickly identify and analyze the most frequently occurring cases within a specific group they belong to, their own cases, within a selected time period. By providing details such as case frequency, average resolution time, and usual resolution, it helps teams proactively address recurring issues, reduce repeat inquiries, and improve the overall customer billing 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%3EWhat+are+our+top+recurring+cases+in+my+group%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%3EWhich+public+group+would+you+like+to+summarize+top+recurring+cases+for%3F+You+have+access+to%3A%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cp%3ESales+Support%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3ETechnical+Support%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3ECustomer+Success%3C%2Fp%3E%3C%2Fli%3E%3Cli%3E%3Cp%3EBilling+Inquiries%3C%2Fp%3E%3C%2Fli%3E%3C%2Ful%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22Billing+Inquiries%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%3EOkay%2C+summarizing+top+recurring+cases+for+the+%3Cb%3EBilling+Inquiries%3C%2Fb%3E+group.+For+what+time+period+would+you+like+to+see+the+summary%3F%3C%2Fp%3E%22%7D%5D%7D%2C%7B%22role%22%3A%22user%22%2C%22parts%22%3A%5B%7B%22richText%22%3A%22September+2025%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%22Analyzing+case+data+for+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3EBilling+Inquiries%3C%2Fb%3E+from+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3ESalesforce%3C%2Fb%3E+for+%3Cb+xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%5C%22%3ESeptember+2025%3C%2Fb%3E%22%7D%2C%7B%22status%22%3A%22success%22%2C%22richText%22%3A%22Summarizing+top+recurring+cases+based+on+subject%2C+type%2C+and+description+analysis.%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+is+the+summary+of+top+recurring+cases+for+%3Cstrong%3EBilling+Inquiries%3C%2Fstrong%3E+for+%3Cstrong%3ESeptember+2025%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%3Cb%3E1.+Incorrect+Invoice+Amount%3C%2Fb%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3EFrequency%3A%3C%2Fb%3E+112+Cases%3C%2Fli%3E%3Cli%3E%3Cb%3EAvg.+Resolution+Time%3A%3C%2Fb%3E+3.1+days%3C%2Fli%3E%3Cli%3E%3Cb%3EUsual+Resolution%3A%3C%2Fb%3E+The+resolution+typically+involves+getting+approval+from+a+finance+manager%2C+correcting+the+invoice+amount+in+the+billing+system%2C+and+re-issuing+it+to+the+customer+via+email.%3C%2Fli%3E%3C%2Ful%3E%3C%2Fli%3E%3Cli%3E%3Cp%3E%3Cb%3E2.+Subscription+Renewal+Not+Processed%3C%2Fb%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3EFrequency%3A%3C%2Fb%3E+87+Cases%3C%2Fli%3E%3Cli%3E%3Cb%3EAvg.+Resolution+Time%3A%3C%2Fb%3E+1.8+days%3C%2Fli%3E%3Cli%3E%3Cb%3EUsual+Resolution%3A%3C%2Fb%3E+Agents+usually+confirm+the+payment+method+is+still+valid+and+manually+trigger+the+subscription+renewal+script.+The+root+cause+often+points+to+an+automated+payment+failure.%3C%2Fli%3E%3C%2Ful%3E%3C%2Fli%3E%3Cli%3E%3Cp%3E%3Cb%3E3.+Request+for+Refund%3C%2Fb%3E%3C%2Fp%3E%3Cul%3E%3Cli%3E%3Cb%3EFrequency%3A%3C%2Fb%3E+54+Cases%3C%2Fli%3E%3Cli%3E%3Cb%3EAvg.+Resolution+Time%3A%3C%2Fb%3E+4.5+days%3C%2Fli%3E%3Cli%3E%3Cb%3EUsual+Resolution%3A%3C%2Fb%3E+This+requires+checking+the+customer%27s+eligibility+against+the+refund+policy%2C+processing+the+refund+via+the+payment+gateway%2C+and+notifying+the+customer+once+complete.%3C%2Fli%3E%3C%2Ful%3E%3C%2Fli%3E%3C%2Ful%3E%22%7D%2C%7B%22citations%22%3A%5B%7B%22connectorName%22%3A%22salesforce%22%2C%22citationTitle%22%3A%22Billing+Inquiries+Group%22%7D%5D%7D%5D%7D%5D%7D) shows the experience we are going to build.

## **Installation Steps**

We recommend setting up **Salesforce** before installing this plugin. Please follow the [Salesforce Connector](https://marketplace.moveworks.com/connectors/salesforce?hist=home%2Cbrws#how-to-implement) guide to configure the connection.

Specifically, verify that the following permissions are granted:

- **Object Permissions:** Read access to Case and Group Case objects (if applicable).
- **Field-Level Security (FLS):** Read access to the relevant fields on Case and Group Case objects.

**Note:** To effectively summarize top recurring cases for a **group**, ensure that the Salesforce integration user has the required object and field-level permissions.

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 All Cases by Email**

```bash
curl --location 'https://<YOUR_INSTANCE>/services/data/vXX.X/query/?q=SELECT+Id,+CaseNumber,+Subject,+Owner.Email,+Type,+Status,+Priority,+OwnerId,+CreatedDate,+ClosedDate,+Description,+Origin,+Reason+FROM+Case+WHERE+Owner.Email='{{email}}'+AND+CreatedDate>={{from_date}}+AND+CreatedDate<={{to_date}}+ORDER+BY+CreatedDate+DESC+LIMIT+500' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN> ' \
--header 'Content-Type: application/json' \
```

**Query Parameter:**

`email` :  (string) - The user's email, used to fetch all related cases.

`from_date`  : (string) - The from_date used to filter cases created on this date.

`to_date`  : (string) - The to_date used to filter cases created before this date.

### **API #2: Get List of Groups by Email**

```bash
curl --location 'https://<YOUR_INSTANCE>/services/data/vXX.X/query/?q=SELECT+GroupId,+Group.Name,+Group.OwnerId,+Group.Owner.Email+FROM+GroupMember+WHERE+UserOrGroupId+IN+(SELECT+Id+FROM+User+WHERE+Email='{{email}}')+AND+Group.Type='Regular'' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
```

**Query Parameter:**

`email` : (string) - Used to retrieve the user's email and fetch the associated group ID.

### **API #3: Get Case by Group ID**

```bash
curl --location 'https://<YOUR_INSTANCE>/services/data/vXX.X/query/?q=SELECT+Id,+CaseNumber,+Subject,+Type,+Status,+Priority,+OwnerId,+CreatedDate,+ClosedDate,+Description,+Origin,+Reason+FROM+Case+WHERE+OwnerId+IN+(SELECT+UserOrGroupId+FROM+GroupMember+WHERE GroupId ='{{group_id}}')+AND+CreatedDate>{{from_date}}+AND+CreatedDate<{{to_date}}+ORDER+BY+CreatedDate+DESC+LIMIT+500' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
```

**Query Parameter:**

`group_id`  : (string) - The group ID used to retrieve the list of cases.

`from_date`  : (string) -The from_date used to filter cases created on this date.

`to_date`  : (string) - The to_date used to filter cases created before this date.