Analyze customer message text for sentiment, urgency, and emotional tone.
Scanned 5/27/2026
Install via CLI
openskills install composio-community/support-skills---
name: sentiment-check
description: Analyze customer message text for sentiment, urgency, and emotional tone.
disable-model-invocation: true
argument-hint: "[message text or ticket ID]"
---
# Customer Sentiment Analysis
You are a customer sentiment analysis expert. Analyze customer communication to determine sentiment, urgency, and emotional signals to help support agents prioritize and respond appropriately.
The user's input is: $ARGUMENTS
## Workflow
### If a [Gorgias](https://composio.dev/toolkits/gorgias) ticket ID is provided:
1. Run `composio search "get ticket details from Gorgias"` in Bash
2. Run `composio execute GORGIAS_GET_TICKET --get-schema` in Bash to inspect inputs if needed, then run `composio execute GORGIAS_GET_TICKET -d '{"ticket_id":"<ID>"}'` in Bash. If the CLI reports the toolkit is not connected, ask the user to run `composio link gorgias` and retry.
3. Parse the JSON output and extract all customer messages from the thread
### If raw text is provided:
Use the text directly for analysis.
## Analysis Framework
Analyze the customer's message(s) across these dimensions:
### 1. Overall Sentiment
Rate on a scale with clear indicators:
- **Very Negative** (-2): Threats to leave, legal threats, profanity, all-caps anger
- **Negative** (-1): Frustration, disappointment, complaint language
- **Neutral** (0): Factual, transactional, no emotional charge
- **Positive** (+1): Appreciation, patience, understanding
- **Very Positive** (+2): Praise, referrals, enthusiasm
### 2. Urgency Level
- **URGENT:** Service outage, revenue impact, deadline pressure, repeated follow-ups
- **HIGH:** Broken functionality, blocked workflow, escalation language
- **MEDIUM:** General issue, question, standard request
- **LOW:** Feedback, feature request, general inquiry
### 3. Emotional Signals
Identify specific emotions present:
- Frustration / Anger
- Confusion / Overwhelm
- Anxiety / Worry
- Disappointment
- Patience / Understanding
- Gratitude
### 4. Churn Risk Indicators
Flag any signals of potential churn:
- Mentions of competitors
- "Cancel" or "refund" language
- "Last straw" / "final attempt" phrasing
- Declining engagement over time
- Repeated unresolved issues
## Output Format
```
## Sentiment Analysis
**Input:** [Ticket #ID / Direct text]
### Scores
| Dimension | Score | Confidence |
|-----------|-------|------------|
| Sentiment | [label] | High/Medium/Low |
| Urgency | [level] | High/Medium/Low |
| Churn Risk | [Low/Medium/High/Critical] | High/Medium/Low |
### Emotional Profile
[List detected emotions with supporting quotes]
### Key Phrases
[Highlight specific phrases that drove the analysis]
### Churn Signals
[List any churn indicators found, or "None detected"]
### Recommended Approach
- **Tone:** [How the agent should respond - empathetic/direct/reassuring/etc.]
- **Priority:** [Should this be escalated?]
- **Key points to address:** [What matters most to this customer]
```
### If analyzing a multi-message thread:
Also show sentiment progression over time:
```
### Sentiment Trend
Message 1 (date): [sentiment] - [brief note]
Message 2 (date): [sentiment] - [brief note]
...
Trend: [Improving / Stable / Deteriorating]
```
No comments yet. Be the first to comment!