Analyze Customer Feedback

Upload your CSV, Excel, PDF, DOCX or TXT file containing customer feedback to get AI-powered insights, categorization, and sentiment analysis.

๐Ÿ“

Click to upload or drag & drop

Supports CSV, Excel, PDF, DOCX or TXT files

Leave empty to use source from file

Key Problem Areas & Feature Requests

Classify Text Content

Classify any text (reviews, emails, meeting notes, etc.) into multiple categories with sentiment analysis.

๐Ÿ“„

Click to upload or drag & drop

Supports PDF, DOCX, TXT, and other text files. Selected file will be shown below.

Classification Results

API Documentation & Testing

Complete API reference with live testing capability

๐Ÿš€ Quick Start

Base URL

${window.location.origin}

Key Features

  • AI-powered feedback categorization using GPT-4
  • Automatic classification of issues vs feature requests
  • Sentiment analysis with scores from -1 to 1
  • Automatic key problem area identification
  • Support for CSV, Excel, PDF, DOCX, and TXT files
  • Single review classification with type detection
  • Insight summaries (what users love, feature requests, pain points)

๐Ÿ“Š Feedback Analysis

POST /analyze-feedback

Analyzes customer feedback from various file formats. Automatically identifies key problem areas and feature requests, classifies feedback into appropriate categories, calculates sentiment scores, and generates comprehensive insight summaries.

Parameters

Parameter Type Required Description
file file Required CSV, Excel, PDF, DOCX, or TXT file containing feedback
return_raw_feedback boolean Optional Include individual feedback items (default: false)
source string Optional Override source column value

๐Ÿงช Live Test

cURL Example
curl -X POST "${window.location.origin}/analyze-feedback" \
  -F "file=@customer_feedback.csv" \
  -F "return_raw_feedback=true" \
  -F "source=App Store"
Response Example
{
  "analysis_results": [
    {
      "key_area": "App Performance",
      "customer_problem": "App crashes frequently during extended usage sessions",
      "number_of_users": 45,
      "raw_feedbacks": [
        {
          "Customer Feedback": "The app keeps crashing when I try to view reports",
          "sentiment_score": -0.8,
          "Received": "2024-01-15",
          "Name": "John Doe",
          "Source": "App Store"
        }
      ]
    }
  ],
  "summary": {
    "total_feedback_items": 250,
    "total_key_areas": 8
  },
  "insight_summary": {
    "user_loves": "Users appreciate the intuitive interface and real-time data updates",
    "feature_request": "Most requested feature is offline mode for accessing reports",
    "pain_point": "App performance issues and frequent crashes are the biggest concerns",
    "overall_summary": "The feedback shows a mix of appreciation for the interface and frustration with stability issues"
  }
}

๐Ÿท๏ธ Single Review Classification

POST /classify-single-review

Classifies any text (customer review, meeting notes, email, chat logs, etc.) into multiple distinct categories using GPT-4. Returns an array of classifications (typically 2-8 items) with sentiment scores and category types. Each distinct issue or feature request is classified separately. Supports text extraction from uploaded documents.

Response Fields

Field Type Description
key_area string 2-4 words describing the category (e.g., "App Performance", "User Interface")
customer_problem string Comprehensive sentence describing all related issues/requests in this category
sentiment_score float Sentiment value from -1.0 (very negative) to 1.0 (very positive)
area_type string Classification type: exactly "issue" or "feature" (lowercase)

* Either review text or file must be provided

๐Ÿงช Live Test

cURL Example (Text Input)
curl -X POST "${window.location.origin}/classify-single-review" \
  -F "review=The app crashes every time I try to upload photos. Also need dark mode and better search." \
  -F 'existing_json=[{"key_area":"App Performance","customer_problem":"App crashes frequently"}]'
cURL Example (File Upload)
curl -X POST "${window.location.origin}/classify-single-review" \
  -F "file=@meeting_notes.pdf" \
  -F 'existing_json=[{"key_area":"Feature Requests","customer_problem":"Users want new capabilities"}]'
Response Example (Array)
[
                              {
                                "key_area": "App Performance",
                                "customer_problem": "App crashes during photo upload operations causing data loss",
                                "sentiment_score": -0.85,
                                "area_type": "issue"
                              },
                              {
                                "key_area": "User Interface",
                                "customer_problem": "Users want dark mode for better nighttime usage and reduced eye strain",
                                "sentiment_score": 0.3,
                                "area_type": "feature"
                              },
                              {
                                "key_area": "Data Security",
                                "customer_problem": "Concerns about data encryption during transmission between app and servers",
                                "sentiment_score": -0.4,
                                "area_type": "issue"
                              }
                            ]

๐Ÿ“‹ Best Practices

Data Preparation

  • Column Detection: The API automatically detects feedback, rating, date, name, and source columns
  • 5-Star Filter: Reviews with 5-star ratings are automatically excluded from problem analysis
  • Excel Support: Multi-sheet Excel files are processed, analyzing all sheets
  • File Formats: Supports CSV, Excel, PDF, DOCX, and TXT files
  • Encoding: UTF-8 encoding is preferred, but the API handles various encodings

Response Handling

  • Sentiment Scores: Range from -1 (very negative) to 1 (very positive)
  • Key Areas: Automatically identified and categorized as features or issues
  • Type Classification: Each area is internally classified as "feature" or "issue"
  • Timeout: Large files may take up to 180 seconds to process
  • Rate Limits: Based on Azure OpenAI service quotas

Error Handling

Status Code Meaning Common Causes
400 Bad Request Invalid file format, missing required parameters
413 Payload Too Large File exceeds 50MB limit
422 Unprocessable Entity File contains no valid feedback data or cannot be converted
500 Internal Server Error Processing error, retry recommended
504 Gateway Timeout Processing exceeded 180 seconds