Sentiment Analysis Agent

An AI Agent to analyse your customer's sentiment.

Written By William Bowen

Last updated 5 days ago

Intro

Ever wanted to instantly understand how your customers feel without manually analysing conversations? Our Sentiment Analysis AI agent does just that—reading customer messages, detecting emotions like happy or frustrated, and automatically updating your contact records with sentiment insights and reasoning, so you can take action in real time.

Use cases

Here are 10 specific use cases for a Sentiment Analysis AI Agent:

  1. Customer Support Enhancement: Automatically assess customer emotions in real-time during support interactions, enabling agents to tailor responses and improve satisfaction.

  2. Product Feedback Analysis: Aggregate sentiments from customer reviews to identify liked or disliked features, guiding product development and enhancements.

  3. Brand Reputation Monitoring: Analyse social media and online forums to gauge public sentiment about a brand, allowing proactive reputation management.

  4. Market Trend Prediction: Detect emerging trends by analyzing sentiments across various platforms, aiding in strategic planning and staying ahead of competitors.

  5. Employee Satisfaction Surveys: Interpret sentiments in employee feedback to understand workplace morale and address concerns promptly.

  6. Financial Market Analysis: Evaluate sentiments in news articles and social media to predict stock price movements and inform investment strategies.

  7. Political Sentiment Assessment: Analyze public opinion on policies or political figures to inform campaign strategies and policy decisions.

  8. Content Moderation: Identify and filter harmful or offensive content by detecting negative sentiments in user-generated content.

  9. Advertising Effectiveness: Measure audience reactions to advertisements by analysing sentiments in comments and shares, optimising future campaigns.

  10. Competitive Analysis: Monitor sentiments about competitors to identify their strengths and weaknesses, informing your strategic positioning.

Implementing a Sentiment Analysis AI Agent in these scenarios can lead to more informed decisions and enhanced operational efficiency.

Template

Example
{ "$schema": "https://web-api.clerk.chat/pipeline-schema", "name": "Sentiment Analysis Template", "nodes": [ { "type": "tool_runner", "name": "Sentiment Analysis Agent", "triggeredBy": [ "unreadMessage.fromAny" ], "responseType": "json", "nodeConfig": { "type": "contact_tools", "config": {}, "enabledTools": [ "set_attribute" ], "tools": { "set_attribute": { "paramValues": { "attributeName": { "type": "fixed", "value": "Why?" }, "attributeValue": { "path": "reason", "type": "pipeline-variable" } } } } } }, { "type": "tool_runner", "name": "contact_tool", "triggeredBy": [ "unreadMessage.fromAny" ], "responseType": "json", "nodeConfig": { "type": "contact_tools", "config": {}, "enabledTools": [ "set_attribute" ], "tools": { "set_attribute": { "paramValues": { "attributeName": { "type": "fixed", "value": "Sentiment" }, "attributeValue": { "path": "sentiment", "type": "pipeline-variable" } } } } } }, { "type": "ai_bot", "name": "Extract Sentiment", "triggeredBy": [ "unreadMessage.fromAny" ], "responseType": "json", "nodeConfig": { "modelProvider": "openai", "modelVersion": null, "maxTokens": null, "temperature": null, "variables": {}, "prompt": "# Role: \nYou are an AI assistant specialized in sentiment analysis.\n\n# Goal: \nAnalyse the conversation and determine the user's overall sentiment from the conversation.\n\n# Context: \nYou are reading a conversation with a user over SMS. We want to understand the user's sentiment. Are they happy? sad? annoyed? neutral? delighted? \n\n# Instructions: \n1. Read the entire conversation carefully, focusing on the user’s words.\n2. Determine the overall sentiment expressed by the user. Possible sentiments include (but are not limited to): \n - happy\n - sad\n - annoyed\n - neutral\n - delighted\n3. Select the single sentiment label that best fits the user’s overall tone.\n4. Finally output a reason for why you chose this sentiment. ", "promptSections": [], "sectionTemplates": {}, "responseSchema": { "type": "object", "required": [ "sentiment", "reason" ], "properties": { "reason": { "type": "string" }, "sentiment": { "type": "string" } } }, "opts": { "sendStructuredConvo": true } } }, { "type": "trigger", "name": "Start", "triggeredBy": [ "userMessage" ], "responseType": "json" } ], "edges": [ { "name": null, "sourceNode": "contact_tool", "destinationNode": "sentiment_reasonl", "sourceVariables": null, "filters": [] }, { "name": null, "sourceNode": "Extract Sentiment", "destinationNode": "contact_tool", "sourceVariables": null, "filters": [] }, { "name": null, "sourceNode": "Start", "destinationNode": "Extract Sentiment", "sourceVariables": null, "filters": [] } ] }