Shopify Flow trigger
Last updated: April 19, 2026
BetterReviews publishes a Shopify Flow trigger called Review Created. It fires when a review is approved and published — either by auto-moderation or when you manually approve a pending review. You can wire it to any Flow action: send an email, tag the customer, add them to a segment, post to Slack via an HTTP action, etc.
When it fires
The trigger fires once, the moment a review transitions into the approved state. It does not fire for:
- Pending reviews awaiting moderation
- Reviews rejected as spam or low-quality
- Historical reviews imported from CSV or another review platform
- Reviews ingested via webhooks from Okendo / Judge.me / Yotpo / Loox / Stamped
If you later reject an approved review and re-approve it, the trigger does not fire a second time. Each review emits at most one event.
1. Enable the trigger
Install BetterReviews from the Shopify App Store. Once installed, the Review Created trigger appears automatically in Shopify Flow’s trigger picker under BetterReviews. No additional setup.
2. Build a workflow
- Open Shopify Admin → Flow (or install the Shopify Flow app if you haven’t)
- Click Create workflow
- For the trigger, choose BetterReviews → Review Created
- Add any action Flow supports — Send internal email, Tag customer, Add customer to segment, Send HTTP request, etc.
Common workflows:
- Alert the team on low ratings — Condition:
Rating < 3→ Action: Send internal email - Spotlight verified 5-stars — Condition:
Verified Buyer = true AND Rating = 5→ Action: Tag customer"review-advocate" - Share reviews in Slack — Action: Send HTTP request to your Slack incoming webhook
- Reward reviewers with a discount code — Condition:
Quality Score ≥ 8→ Action: Send customer discount email
What’s in the payload
Each fired event includes:
| Field | Type | Description |
|---|---|---|
| Customer | reference | The customer who left the review (if we could link them to a Shopify customer) |
| Product | reference | The product that was reviewed |
| Order | reference | The order the review is tied to (if any) |
| Rating | decimal | Star rating, 1.0–5.0 |
| Title | text | Review title (truncated to 250 characters) |
| Body | text | Review body (truncated to 250 characters, embedded emails auto-scrubbed) |
| Sentiment | text | positive / neutral / negative / mixed (AI-classified) |
| Quality Score | decimal | AI-graded quality 1.0–10.0 |
| Image Count | decimal | Number of attached photos |
| Video Count | decimal | Number of attached videos |
| Verified Buyer | boolean | True if linked to a completed order |
| Moderation Url | URL | Signed deep link into BetterReviews admin for the review (token expires 7 days after emission) |
If a review has no linked Shopify customer or order, those reference fields are omitted from the payload — Flow filters like “Customer has email” will skip the event rather than fire with nulls.
Data handling and privacy
Shopify Flow passes the payload to any action you wire in your workflow. If you forward review content to an external system — your own inbox, Slack, a webhook to a third-party tool, an email marketing platform — that downstream processing falls under your Data Processing Agreement, not BetterReviews’.
Body and Title text are customer-authored. Customers occasionally paste their own email addresses into a review. BetterReviews strips obvious email patterns before emission as a safeguard, but review text is not a PII-free surface. If you plan to archive review body text in external systems, check it fits your retention and GDPR obligations first.
Troubleshooting
Workflow doesn’t fire when I approve a review. Double-check the workflow is turned On in Flow (new workflows default to Off). If the review was already approved before the workflow existed, the trigger won’t re-fire — approve a new review to test.
Quality Score filter isn’t working. The trigger snoozes until AI analysis finishes. In rare cases (Python service slow), the trigger waits up to 10 minutes. After that, it cancels and alerts our ops team; the review stays approved but no Flow event is emitted. Contact support if you see this pattern repeatedly.
Missing Customer reference. BetterReviews links reviews to Shopify customers by email. Reviews submitted by customers with no prior Shopify order on your store (e.g., friends/family review-seeders who never bought) don’t resolve to a customer. The other reference fields still work.