Hulo Global
Plugins Roadmap
Hulo Global

Review Requests

Automated post-purchase Trustpilot review invitations, timed off order dates — free Trustpilot integration, customer exclusions, cooldown, editable emails.

What it does

Built for production from day one.

Turn happy customers into reviews on autopilot. An hourly worker finds orders that reached Delivered / Payment settled / Shipped a set number of days ago and emails the customer a branded, Trustpilot-style invitation linking to your FREE Trustpilot review page — no paid Automatic Feedback Service. Optionally pull your live TrustScore from the free Trustpilot API to show as social proof. Exclude any customer or domain, respect a per-customer cooldown, dedupe per order, and let anyone unsubscribe in one click. Fully editable email with live preview and test-send, per channel.

Timed off order dates

Send N days after an order reaches Delivered, Payment settled or Shipped — whichever milestone you choose, per channel.

Free Trustpilot, done right

The review button links to trustpilot.com/evaluate/your-domain — organic Service Reviews, completely free. No paid AFS, no per-invite cost.

Live rating as social proof

Show your current star rating + review count right in the email ("Rated 4.8 by 1,240 customers") — pulled live from Trustpilot or Google. Optional; the email works without it.

Trustpilot, Google or anywhere

One-click platform picker builds the review link for Trustpilot, Google reviews, Reviews.io — or paste any custom URL. Trustpilot and Google also show a live star rating in the email.

Product reviews too

Ask for a store review, product reviews, or both. In product mode the email lists the actual items the customer bought, each with its own "Review this" button linking to your storefront's product-review page.

Exclude customers

Never invite specific emails or whole domains — wholesale accounts, staff, VIPs. One-click unsubscribe in every email auto-excludes.

No over-asking

Deduped per order, a per-customer cooldown (default 120 days), and a minimum order value so low-value or repeat orders don't trigger spam.

Your voice

Fully editable subject + HTML body per channel with {{firstName}}, {{orderCode}}, {{businessName}}, {{reviewUrl}} and a live rating block, plus preview and test-send.

Multi-tab admin

Overview (sent / eligible now / opt-outs / failed + your live rating), Settings, Email, Exclusions and an Activity log. WCAG AA in light + dark.

GDPR-friendly

Signed one-click unsubscribe links, an opt-out list, and full send-log auditing.

Install

Three steps, five minutes.

Add the package

Or run the one-line installer that does steps 1–3 for you:

curl -sSL https://huloglobal.com/vendure-plugins/review-requests/install.sh | bash

Prefer to do it by hand?

yarn add @huloglobal/vendure-plugin-review-requests

Register it

In your vendure-config.ts:

# vendure-config.ts import { ReviewRequestPlugin } from '@huloglobal/vendure-plugin-review-requests'; export const config: VendureConfig = { plugins: [ ReviewRequestPlugin.init({ publicBaseUrl: 'https://shop.example.com', licenceKey: process.env.HULO_LICENCE_KEY_REVIEW_REQUESTS, }), // ... your other plugins ], };

Run the migration

The plugin adds its own table(s). Generate + run the migration like any other:

yarn migration:generate AddReviewRequestPluginTables yarn migration:run

That's it. The admin UI tab appears immediately. Without a licence key the plugin runs in a degraded evaluation mode — fine for trying things out. Buy a key →

HTTP endpoints

Every route exposed.

GET/review-requests/optoutPublic: signed one-click unsubscribe page
GET/review-requests/configAdmin: per-channel config
POST/review-requests/configAdmin: save config
GET/review-requests/statsAdmin: KPIs + eligibility preview
GET/review-requests/logAdmin: send log
POST/review-requests/runAdmin: send all due now (licensed)
POST/review-requests/trustpilot/checkAdmin: check live rating + review link
POST/review-requests/template/previewAdmin: render the email with sample data
POST/review-requests/test-sendAdmin: send a test to yourself
POST/review-requests/exclusionsAdmin: exclude an email / domain

FAQ

Common questions.

How do I get a licence key?

Buy here — Stripe Checkout, monthly or lifetime. You'll receive the JWT key by email; set it as HULO_LICENCE_KEY_REVIEW_REQUESTS in your .env.

Does it work without a key?

Yes — the plugin boots in a degraded "evaluation" mode. You can install, configure, and inspect the admin UI before committing.

Where is data stored?

In your Vendure database. The plugin adds its own tables via a migration — your data never leaves your server.

Will it survive a Vendure upgrade?

Tested against Vendure >=3.5.0 <4.0.0 — 3.5, 3.6 and 3.7 are all covered by CI. A boot-time compatibility check emits a non-fatal warning if @vendure/core is outside that range, so upgrades to a future 3.x are safe to try. The 4.0 line will be tested and re-declared once its changelog lands.

Ready to ship?

Buy a key, drop the plugin in, ship today.