Skip to main content

Analyze Customer Sentiment

The Analyze Customer Sentiment action uses AI to assess the emotional tone conveyed in customer communications within a ticket. It classifies the sentiment as Positive, Negative, or Neutral, and can optionally save this sentiment to a custom field in your PSA.

This action helps you quickly identify tickets where customers might be frustrated or particularly pleased, enabling targeted follow-ups and a better understanding of customer satisfaction.

Why is it useful?

By understanding customer sentiment, you can improve response times for critical issues, enhance customer relationships, and gain valuable insights into the quality of your service delivery.

What It Does

  • Analyzes Ticket Communications: Scrutinizes the conversation history within each provided ticket, focusing on messages from the customer.
  • Determines Sentiment: Employs an AI model to interpret the language and classify the overall sentiment as:
    • Positive: Indicates appreciation, satisfaction, or optimism.
    • Negative: Suggests frustration, urgency, dissatisfaction, or complaints.
    • Neutral: Implies a factual, routine, or emotionally unexpressive tone.
  • Provides Reasoning: Outputs the AI's justification for its sentiment classification.
  • Updates PSA (Optional): If configured, it can update a specified custom field in your PSA (ConnectWise or Autotask) with the detected sentiment value (e.g., "Positive", "Negative", "Neutral").
  • Facilitates Proactive Support: Helps identify tickets with negative sentiment that may require immediate attention or escalation.

How It Works

  1. Input: The action takes a list of PSA tickets.
  2. Processing: For each ticket, NeoAgent:
    • Retrieves the ticket's conversation history.
    • The AI model analyzes the customer's messages. You can guide this analysis using custom_instructions.
    • The default instructions guide the AI as follows:
      • Positive: The tone is appreciative, satisfied, or optimistic. The user might be complimenting the service, or reporting a resolved issue enthusiastically.
      • Neutral: The message is factual, routine, or lacks emotional tone. It could be a basic request or a simple report without signs of frustration or satisfaction.
      • Negative: The tone indicates frustration, urgency, dissatisfaction, or complaints. The user may be upset, facing service interruptions, or expressing disappointment.
  3. Output: The action produces:
    • A list of messages for MSP internal use detailing the sentiment and reasoning for each ticket.
    • Dashboard messages summarizing the analysis.
    • If save_sentiment_in_custom_field is enabled, it prepares FieldUpdateAudit objects to update the designated custom field in your PSA. This update is typically applied by a subsequent Update Ticket Fields action.

Configuration Fields

When you add the "Analyze Customer Sentiment" action to a workflow, you'll configure the following:

default_data

The list of PSA tickets you want to analyze. This is typically the output from a Find Entities action.

use_custom_instructions

A boolean (true/false) indicating whether to provide specific instructions to the AI for sentiment analysis, overriding or supplementing the default behavior.

custom_instructions

If use_custom_instructions is true, you provide text here to guide the AI. The default instructions (shown in "How It Works") are used if this is left empty or use_custom_instructions is false.

save_sentiment_in_custom_field

A boolean (true/false). If true, NeoAgent will attempt to save the detected sentiment into a custom field on the ticket in your PSA.

custom_field_name

If save_sentiment_in_custom_field is true, specify the exact name of the text-based custom field (UDF) in your PSA where the sentiment (e.g., "Positive", "Negative", "Neutral") should be stored.

store_reasoning_in_custom_field

A boolean (true/false). If true, NeoAgent will save the AI's reasoning for the sentiment classification into a separate custom field on the ticket in your PSA. (Default: false)

reasoning_custom_field_name

If store_reasoning_in_custom_field is true, specify the exact name of the text-based custom field (UDF) in your PSA where the detailed reasoning behind the sentiment analysis should be stored. (Default: "Neo - Customer Sentiment Reasoning")

Output Fields

This action makes the following information available to subsequent actions in the workflow:

default_messages_for_msp

A list of detailed messages, including the sentiment detected and the AI's reasoning for each ticket. Useful for internal notes or notifications.

default_messages_for_dashboard

A list of summary messages for display in the NeoAgent Event History.

default_fields_to_update

If save_sentiment_in_custom_field or store_reasoning_in_custom_field was enabled, this list contains FieldUpdateAudit objects. You would typically pass this output to an Update Ticket Fields action to apply the changes to your PSA.

credits_consumed

The number of AI credits consumed by the action.

Use Cases

Prioritize Unhappy Customers

Analyze sentiment upon ticket creation or each customer reply. If negative sentiment is detected, trigger a workflow to:

  1. Notify a team lead or manager.
  2. Increase ticket priority.
  3. Add the ticket to a specific "Needs Attention" queue.

Track Customer Satisfaction

Periodically run this action on recently closed tickets and store the sentiment. This data can be used to:

  1. Report on overall customer satisfaction trends.
  2. Identify areas for service improvement.

Proactive Outreach

If a neutral sentiment is detected on a long-running ticket, consider it an opportunity for proactive outreach to ensure customer satisfaction.

Best Practices

  • Custom Field Setup: If using save_sentiment_in_custom_field or store_reasoning_in_custom_field, ensure the specified field names exist in your PSA (ConnectWise or Autotask) and are text-based fields.
  • Store Both Sentiment and Reasoning: Consider enabling both save_sentiment_in_custom_field and store_reasoning_in_custom_field to capture not only the sentiment classification but also the AI's detailed reasoning. This provides valuable context for understanding why a particular sentiment was assigned.
  • Refine with Custom Instructions: While the default sentiment analysis is robust, you can use custom_instructions to fine-tune the AI's behavior for specific keywords, phrases, or contexts unique to your business.
  • Combine with Other Actions:
    • Use the output default_fields_to_update with the Update Ticket Fields action to write the sentiment and reasoning to your PSA.
    • Use the output default_messages_for_msp with Notify Internal Team to alert staff about tickets with notable sentiment (especially negative).
    • Consider using a Build Message action to customize notifications based on the sentiment.
  • Review Event History: Check the Event History to understand the AI's reasoning for sentiment classification. This can help you refine custom instructions if needed.
  • Start Simple: Begin by analyzing sentiment and adding internal notes. Once you're confident with the results, enable saving to custom fields and triggering further automations.