Loading
Salesforce Enforces New Security Requirements in Summer 2026Read More
Build AI Solutions for Service
Case Catch-Up & Insights Prompt Templates

Case Catch-Up & Insights Prompt Templates

Review the prompt templates that populate data in the Case Catch-Up & Insights card.

Required Editions

View supported editions.
Checkmark This article applies to: Service Assistant for Case with dynamic and guidance plans.
X icon This article doesn't apply to: Service Assistant for Messaging.

Each insight has a base prompt template to populate data in the Case Catch-Up & Insights card. You can edit the prompt templates to add additional data to meet your business requirements. The prompt templates are only available for use within Case Catch-Up & Insights.

Prompt Template: Summarize Case Engagement

The Summarize Case Engagement prompt template generates a summary of the customer's intent, the case, and any relevant interaction history so reps can quickly understand why the customer is reaching out. The subject and description are included as default inputs. You can modify the template to add data and resources.

-----INSTRUCTIONS-----

Provide a concise summary of the following case record.

Subject: {!$Input:Case.Subject}
Description: {!$Input:Case.Description}

- Assuming case data is available, summarize the core issue or request described by the customer.
- If both subject and description are available, summarize based on both.
- If only the subject is available, summarize based on the subject alone.
- If only the description is available, summarize based on the description alone.
- If no subject or description is associated with this case, respond with an empty string.

-----Content Guidelines-----
- Use clear, professional language in the 3rd person point of view.
- Keep the summary concise— 2 to 5 sentences.
- Don't include markdown, JSON formatting, or any non-user friendly format.
- The output should be plain rich text, focused only on the information requested in the instructions.

Prompt Template: Calculate Case Health Score

The Calculate Case Health Score prompt template generates a case health score (0 to 100) based on case data such as age, reopens, and escalations. The score also incorporates service level agreement and customer sentiment data when those features are configured. If Service Level Agreements and Customer Signals Intelligence aren't set up, then the score is based only on the case data metrics.

You can modify the template to provide additional metrics or modify the default scoring logic for each metric, such as the weight of each metric.

# INPUT DATA
Input String: {!$Input:InputText}

# EXTRACTION RULES
Parse the following variables from the Input String (formatted as Key=Value|Key=Value):
- TicketAgeHours (Numeric)
- CustomerSentimentScore (String: POSITIVE, NEGATIVE, NEUTRAL, MIXED)
- ReopenCount (Numeric)
- SLAStatus (String)
- NextSLATimeRemaining (String: e.g., "5 Days", "18 Hours", "30 Minutes")
- IsCurrentlyEscalated (Boolean)
- HasPastEscalation (Boolean)

# SCORING LOGIC
1. Ticket Age (Weight: 25%)
   - If TicketAgeHours >= 72: Score = 0
   - Else: Score = 100 - (TicketAgeHours / 72 * 100)
   - Round to 2 decimals.
Status: GREEN if score > 80, YELLOW if 40-80, RED if < 40


2. Customer Sentiment (Weight: 25%)
   - POSITIVE: 100 | MIXED: 75 | NEUTRAL: 50 | NEGATIVE: 20
   - Default to 50 if missing or unknown.
Status: GREEN if > 80, YELLOW if 50-80, RED if < 50

3. Reopens (Weight: 10%)
   - 0 Reopens: 100
   - 1 Reopen: 60
   - 2+ Reopens: max(0, 10 * (3 - ReopenCount))
Status: GREEN if 100, YELLOW if 60, RED otherwise

4. SLA Status (Weight: 40%)
   - If SLAStatus is blank or "Not Present": Score = 100
   - If SLAStatus contains "Open Violation": Score = 20
   - If SLAStatus contains "Close Violation": Score = 40
   - If SLAStatus contains "Compliant": Parse NextSLATimeRemaining to hours (Day=24h, Hour=1h, Min=0.016h).
     - hoursRemaining <= 0: Score = 20
     - 0 < hoursRemaining <= 4: Score = 40
     - 4 < hoursRemaining <= 24: Score = 75
     - hoursRemaining > 24: Score = 100
Status: GREEN if >= 80, YELLOW if 40-79, RED if < 40


# FINAL CALCULATION
1. Base Composite Score = (TicketAgeScore * 0.25) + (SentimentScore * 0.25) + (ReopenScore * 0.10) + (SLAScore * 0.40).
2. Apply Penalties:
   - If IsCurrentlyEscalated = true: Penalty = 50
   - Else if HasPastEscalation = true: Penalty = 5
   - Else: Penalty = 0
3. Final Case Health Score = max(0, Base Composite Score - Penalty). Round to the nearest whole number.
4. Status Mapping:
   - GREEN: Score >= 70
   - YELLOW: Score 40-69.99
   - RED: Score < 40

# OUTPUT INSTRUCTIONS
Return ONLY valid JSON.

{
  "caseHealthScore": <Final Case Health Score (rounded to the nearest whole number)>,
  "healthStatus": "GREEN" | "YELLOW" | "RED",
  "componentScores": {
    "ticketAge": <float>,
    "customerSentiment": <float>,
    "reopens": <float>,
    "slaStatus": <float>
  },
  "weightedBreakdown": {
    "ticketAge": <float>,
    "customerSentiment": <float>,
    "reopens": <float>,
    "slaStatus": <float>
  }
}
 
Loading
Salesforce Help | Article