Alchemy RecipeIntermediateautomation

E-commerce product review analysis to inventory recommendations

Published

Your e-commerce store generates hundreds of product reviews every week. Each review contains actionable feedback about what customers love and what needs fixing. Yet most of that data sits unanalysed, whilst inventory decisions get made on gut feeling or outdated sales figures....... For more on this, see Customer feedback analysis to product roadmap alignment w....

The problem is simple: manual review analysis is tedious. Reading through reviews, categorising sentiment, spotting patterns, and translating those patterns into inventory adjustments takes hours every week. Most shops either skip this step entirely or assign someone to do it manually, which scales poorly and introduces human error.

This workflow solves that problem by connecting three AI tools with an orchestration platform. Product reviews flow in automatically, get analysed for sentiment and product issues, and trigger inventory recommendations without you touching a single line of code or spreadsheet.

The Automated Workflow

We'll use accio-ai to pull reviews from your shop, copy-ai to analyse sentiment and extract issues, and terrakotta-ai to generate inventory recommendations. Zapier will tie everything together, though n8n, Make, or Claude Code work just as well if you prefer more control.

Why This Stack

accio-ai excels at data collection. It hooks into most shop platforms (Shopify, WooCommerce, custom APIs) and extracts reviews with metadata like product ID, rating, and date.

copy-ai is your workhorse for text analysis. It's trained to understand product feedback, spot recurring complaints, and classify sentiment reliably without hallucinating.

terrakotta-ai specialises in inventory logic. Feed it sentiment data and product issues, and it outputs specific recommendations: increase stock for popular items, reduce stock for problematic ones, or flag products for quality review.

Zapier orchestrates the flow. It's the easiest entry point for this workflow because the setup requires minimal code and the UI is straightforward.

Step-by-Step Setup

Step 1: Configure accio-ai to pull reviews

Log into accio-ai and connect your shop platform. Most integrations are pre-built; Shopify takes seconds.

Create a trigger that runs on a schedule (daily at 9 AM works for most shops) or whenever a new review appears. Configure it to fetch reviews from the past 24 hours.


{
  "trigger": "schedule",
  "frequency": "daily",
  "time": "09:00 UTC",
  "action": "fetch_reviews",
  "filter": {
    "date_range": "last_24_hours",
    "include_metadata": true,
    "fields": ["review_text", "rating", "product_id", "product_name", "reviewer_name"]
  }
}

In Zapier, search for accio-ai and select "New Review". Map the output: you'll get review text, product ID, rating, and timestamp.

Step 2: Send reviews to copy-ai for sentiment and issue analysis

This is where the magic happens. Instead of manually reading each review, copy-ai extracts what matters: Is this review positive or negative? What specific issues does it mention? Does it highlight a common complaint?

In Zapier, add a new step: search for copy-ai and select "Analyse Text".

Configure the prompt to be specific about what you want:


Analyse this product review and provide:
1. Overall sentiment (positive, negative, neutral)
2. A confidence score (0-100)
3. Specific product issues mentioned (if any)
4. Sentiment keywords (max 5 words that capture the tone)
5. Actionability score: Is this review useful for inventory decisions? (0-10)

Review: {review_text}
Product: {product_name}

Return response as JSON.

copy-ai will return structured data. Use Zapier's formatter to parse the JSON response and extract each field.

Typical output looks like this:

{
  "sentiment": "negative",
  "confidence": 0.92,
  "issues": ["stitching_defect", "color_fading"],
  "keywords": ["cheap", "falls_apart", "disappointed"],
  "actionability": 8
}

Filter out low-actionability reviews (score below 5) to avoid noise. Zapier's filter step handles this easily.

Step 3: Aggregate reviews and send batches to terrakotta-ai

This is crucial: don't send individual reviews to terrakotta-ai. Batch them daily so the system can spot patterns across 20, 50, or 100 reviews at once.

Use Zapier's "Delay" or "Schedule" step to wait until the end of the day, then use a Formatter to create a summary payload:

{
  "batch_date": "2024-01-15",
  "product_reviews": [
    {
      "product_id": "SKU-4521",
      "product_name": "Cotton T-Shirt",
      "reviews_analysed": 12,
      "avg_rating": 3.2,
      "sentiment_breakdown": {
        "positive": 3,
        "neutral": 4,
        "negative": 5
      },
      "recurring_issues": ["shrinkage", "color_fading"],
      "issue_frequency": {
        "shrinkage": 6,
        "color_fading": 4
      },
      "actionability_avg": 7.8
    }
  ]
}

Send this batch to terrakotta-ai using a webhook or API call. terrakotta-ai then analyses the batch and outputs inventory recommendations.

Step 4: Generate inventory recommendations from terrakotta-ai

terrakotta-ai takes the aggregated review data and produces actionable inventory guidance. Its model understands that a product with high ratings but recurring quality issues (like shrinkage) might need supplier review rather than stock increase.

Configure the terrakotta-ai step with this request:


Analyse this batch of product reviews and generate inventory recommendations for each product.

For each product, consider:
1. Current sentiment trend (is it improving or declining?)
2. Specific quality issues (are they fixable or systemic?)
3. Actionability (is the feedback reliable or niche?)

Return recommendations in this format:
{
  "product_id": "SKU-4521",
  "current_stock_action": "hold" | "increase" | "decrease" | "review_supplier",
  "confidence": 0-100,
  "reasoning": "string",
  "urgency": "low" | "medium" | "high",
  "notes": "string"
}

Review batch: {batch_data}

terrakotta-ai returns recommendations like this:

{
  "product_id": "SKU-4521",
  "current_stock_action": "review_supplier",
  "confidence": 88,
  "reasoning": "High review volume with consistent shrinkage complaints suggests manufacturing issue, not market demand issue. Stock levels are fine; quality control needed.",
  "urgency": "high",
  "notes": "Contact supplier about shrinkage. Consider offering free exchanges whilst investigating."
}

Step 5: Log recommendations and send alerts

Send recommendations to a Google Sheet, Airtable, or your internal system for review. Use Zapier's "Create Row" action to log each recommendation with a timestamp.

For high-urgency recommendations, send a Slack or email alert:


Zapier Action: Send Slack Message

Message:
Inventory Alert: {product_name} (SKU: {product_id})
Action Required: {current_stock_action}
Urgency: {urgency}
Confidence: {confidence}%
Reason: {reasoning}

Review Details:
- Avg Rating: {avg_rating}
- Sentiment: {sentiment_breakdown}
- Top Issue: {recurring_issues[0]}

Click here to review: [link_to_sheet]

Zapier will send this whenever an urgent recommendation appears, so you never miss critical inventory decisions.

Complete Workflow Diagram

The full flow: accio-ai (pull reviews) → copy-ai (analyse sentiment) → Filter (remove low-actionability) → Delay (wait for daily batch) → Formatter (aggregate) → terrakotta-ai (generate recommendations) → Google Sheets (log) → Slack (alert on urgency).

Each step passes data to the next using Zapier's mapping interface. No custom code needed, though you can use Zapier's Code step if you want to customise the aggregation logic.

The Manual Alternative

If you prefer more control or need custom logic that Zapier doesn't support easily, use n8n or Make instead.

n8n is self-hosted (run it on your own server) and lets you build workflows with full JavaScript access. You can write custom Node.js functions to filter, transform, or aggregate review data however you like. The learning curve is steeper, but you're not locked into Zapier's limitations.

Make (formerly Integromat) sits between Zapier and n8n in terms of ease and flexibility. It has a good UI and supports scenarios that Zapier can't handle, though it costs more at scale.

Claude Code is an option if you want to run this entirely in code. Use Claude's API to orchestrate everything: fetch reviews from your API, call copy-ai and terrakotta-ai endpoints directly, and manage the workflow yourself. This is overkill for most shops but gives you complete freedom.

For this particular workflow, Zapier is the right choice because the steps are straightforward and you'll spend more time maintaining the system than building it. Move to n8n if your review volume grows above 1,000 per day or your requirements become non-standard.

Pro Tips

1. Batch smartly, not too late

Run your analysis daily, not real-time. Processing reviews in batches (once per day) reduces cost, improves accuracy (terrakotta-ai spots patterns better with 50 reviews than 1), and gives your team time to act on recommendations. Daily at 9 AM works well because you see recommendations before your shift starts.

2. Tune copy-ai's sentiment threshold

copy-ai will analyse every review, but not every review matters for inventory. A review saying "good product" is positive but low-actionability. Increase your actionability filter threshold (say, 6 out of 10) to ignore noise and focus on reviews that actually describe product problems or strong preferences.

3. Watch for seasonal patterns

Reviews vary by season. A winter coat might get shrinkage complaints only after washing in cold water, which happens more in winter. Set up separate workflows or manually review the recommendations each season. terrakotta-ai can't learn from 10 months of summer data that a winter issue exists.

4. Monitor API rate limits

accio-ai allows 5,000 calls per day on most plans. If you have 500+ reviews daily, you'll hit limits. Budget 10 calls per review (one to fetch, one per analysis step), so 500 reviews = 5,000 calls. Stay within limits by batching larger datasets weekly instead of daily, or upgrade your plan.

5. Check copy-ai's false negatives

AI misses things. Spot-check 10 reviews per week and compare copy-ai's analysis to your own. If it consistently misses certain issue types (e.g., packaging damage), adjust the prompt to ask for those specifically. After a few weeks of tuning, accuracy improves significantly.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
accio-aiPro£49Includes 5,000 API calls/month; overages £0.01 per call.
copy-aiTeam£7950,000 API credits/month; one credit per analysis. Most reviews use 1-2 credits.
terrakotta-aiStandard£391,000 batch analyses/month; overages £0.05 per batch. Daily batches = ~30 per month.
ZapierProfessional£202,000 tasks/month included; most workflows use 50-150 tasks daily. May need higher tier for large volumes.
Google Sheets / AirtableFree or paid£0–£12Free tier sufficient for logging; Airtable Pro if you need advanced filtering.
Slack (notifications)Free or Pro£0–£150Free for most shops; Pro adds features you won't need for this workflow.
Total£187–£199/monthScales well up to 10,000 reviews/month without upgrades.

This cost assumes you run the workflow once daily for a shop with 500–1,000 reviews per month. Larger volumes (5,000+ reviews/month) require upgraded plans, pushing the monthly cost to around £400–£500, but unit cost per review drops significantly.

If cost is a concern, start with Zapier's Free plan (100 tasks/month) as a proof of concept, then upgrade once you confirm the workflow saves time.

More Recipes