Skip to main content

📥 Overview

The cl ingest command is your primary tool for submitting customer feedback to ClosedLoop AI for analysis. It transforms raw customer feedback into structured, actionable insights through AI-powered analysis.

🚀 Basic Usage

Submit Feedback

# Basic ingestion
cl ingest "The app crashes when I try to upload large files"

# With metadata for better analysis
cl ingest "Great product, love the new features!" \
  --title "Positive Feedback" \
  --customer "customer-456" \
  --name "Jane Smith" \
  --email "jane@example.com" \
  --url "https://support.example.com/ticket/789"

List Ingested Feedback

# Show all ingested feedback
cl ingest

# With pagination
cl ingest --page 2 --limit 10

# JSON output for scripting
cl ingest --json

View Specific Feedback

# Show detailed feedback information
cl ingest 74e3dd87-878f-41cf-8e5a-87527bbf7770

# JSON output
cl ingest 74e3dd87-878f-41cf-8e5a-87527bbf7770 --json

📋 Parameters

content
string
required
Customer feedback content to analyze. Must be at least 10 characters long.
--title
string
Descriptive title for the feedback. Helps with organization and search.
--customer
string
Customer identifier. Useful for tracking feedback from specific customers.
--name
string
Name of the person who provided the feedback.
--email
string
Email address of the person who provided the feedback.
--url
string
Source URL (support ticket, survey, etc.). Must be a valid URL.
--wait
flag
Wait for AI processing to complete before returning. Shows real-time status.
--json
flag
Output results in JSON format for scripting and automation.
--page
number
Page number for listing feedback (default: 1).
--limit
number
Items per page for listing (max 100, default: 20).
--status
string
Filter by processing status: processing, completed, failed, or all.
Search for feedback containing specific text.

💡 Examples

Customer Support Ticket

cl ingest "The mobile app keeps crashing when I try to upload photos. This is really frustrating and I'm considering switching to a competitor." \
  --title "Mobile App Crash Issue" \
  --customer "customer-123" \
  --name "Sarah Johnson" \
  --email "sarah@company.com" \
  --url "https://support.yourcompany.com/ticket/456"

User Interview Feedback

cl ingest "We love the new dashboard design, but the navigation is confusing. It took us 10 minutes to find the settings menu." \
  --title "Dashboard Navigation Feedback" \
  --customer "enterprise-456" \
  --name "Mike Chen" \
  --email "mike@techcorp.com"

Survey Response

cl ingest "The pricing is too high compared to competitors. We're getting 30% less value for 50% more cost." \
  --title "Pricing Feedback" \
  --customer "customer-789" \
  --name "Lisa Wang" \
  --email "lisa@startup.com" \
  --url "https://surveys.company.com/response/123"

Wait for Processing

# Submit and wait for AI analysis
cl ingest "Customer complaint about slow performance" --wait

# Output shows real-time processing status:
# ✅ Feedback submitted: 74e3dd87-878f-41cf-8e5a-87527bbf7770
# ⏳ Processing... (this may take a few minutes)
# ✅ Analysis complete! View insights with: cl insight

📊 Output Formats

Table Format (Default)

┌─────────────────────────────────────┬─────────────────────────────┬─────────────┬─────────────┐
│ ID                                  │ Title                      │ Status      │ Created     │
├─────────────────────────────────────┼─────────────────────────────┼─────────────┼─────────────┤
│ 74e3dd87-878f-41cf-8e5a-87527bbf7770 │ Mobile App Crash Issue     │ completed   │ 2024-01-15  │
│ 2ea8f556-052b-4f5c-bf86-833780b3d00d │ Dashboard Navigation       │ processing  │ 2024-01-15  │
└─────────────────────────────────────┴─────────────────────────────┴─────────────┴─────────────┘

JSON Format

{
  "success": true,
  "data": {
    "id": "74e3dd87-878f-41cf-8e5a-87527bbf7770",
    "title": "Mobile App Crash Issue",
    "content": "The mobile app keeps crashing...",
    "status": "completed",
    "created_at": "2024-01-15T10:30:00Z",
    "customer_id": "customer-123",
    "reporter_name": "Sarah Johnson",
    "reporter_email": "sarah@company.com",
    "source_url": "https://support.yourcompany.com/ticket/456"
  }
}

🔍 Advanced Usage

Batch Processing

#!/bin/bash
# Process multiple feedback files

for file in feedback/*.txt; do
  echo "Processing: $(basename "$file")"
  cl ingest "$(cat "$file")" --title "$(basename "$file" .txt)" --wait
done
# List only completed feedback
cl ingest --status completed

# Search for specific content
cl ingest --search "crash"

# Get feedback from specific customer
cl ingest --json | jq '.data[] | select(.customer_id == "customer-123")'

Integration with Other Tools

# Process support ticket and create Jira issue
FEEDBACK_ID=$(cl ingest "$TICKET_CONTENT" --customer "$CUSTOMER_ID" --json | jq -r '.id')

# Wait for analysis
cl ingest "$FEEDBACK_ID" --wait

# Get insights and create Jira ticket
cl insight --json | jq '.data[0]' | jq -r '.title' | xargs -I {} jira create --summary "Customer Insight: {}"

Ready to View Insights?

Learn how to view and analyze AI-generated insights from your feedback