Automatically Send Trustpilot Review Invites When Zendrop Marks Orders as Delivered
When Zendrop marks an order as delivered, this workflow automatically sends a Trustpilot review invitation to the customer. Store owners get more reviews without any manual follow-up.
- 1
Step 1 — Receive Zendrop Delivered Webhook
Add a
Webhooknode as the trigger. Set the HTTP method toPOST. Copy the generated webhook URL and paste it into your Zendrop account under Settings > Webhooks. Choose theorder.deliveredor equivalent delivery status event. This node will fire every time an order is marked delivered. - 2
Step 2 — Extract Customer and Order Data
Add a
Setnode after the webhook. Create fields to hold the key values from the incoming payload: setcustomerEmailto{{ $json.body.customer.email }},customerNameto{{ $json.body.customer.name }}, andorderReferenceto{{ $json.body.order.id }}. Adjust the expression paths to match the exact field names Zendrop sends in its webhook payload. - 3
Step 3 — Check That Email Exists
Add an
IFnode to make sure the customer email is not empty before calling Trustpilot. Set the condition:{{ $json.customerEmail }}isnot empty. Connect thetruebranch to the next step and leave thefalsebranch unconnected (or connect to a Stop node) to avoid sending broken invitations. - 4
Step 4 — Send Trustpilot Review Invitation
Add an
HTTP Requestnode. Set Method toPOSTand URL tohttps://invitations-api.trustpilot.com/v1/private/business-units/YOUR_BUSINESS_UNIT_ID/email-invitations. Under Authentication chooseHeader Authand add your Trustpilot API key asapikeyin the header. Set Body Type toJSONand paste the body:{ "consumerEmail": "{{ $json.customerEmail }}", "consumerName": "{{ $json.customerName }}", "referenceId": "{{ $json.orderReference }}", "locale": "en-US", "senderEmail": "reviews@yourdomain.com", "senderName": "Your Store Name", "templateId": "YOUR_TEMPLATE_ID" }. Replace placeholders with your real Trustpilot Business Unit ID, template ID, and sender details. Store your API key in an n8n credential. - 5
Step 5 — Log the Result
Add a final
Setnode to capture the Trustpilot API response. Set a fieldinvitationStatusto{{ $json.status }}andinvitationIdto{{ $json.id }}. You can connect this to a Google Sheets or Airtable node later to build an audit log of all invitations sent.
Frequently asked questions
How do I find my Trustpilot Business Unit ID?
Log in to your Trustpilot Business account, go to Integrations > API, and your Business Unit ID is displayed there. It is a long alphanumeric string and must be included in the API URL.
What Zendrop plan do I need for webhooks?
Zendrop's webhook functionality is available on their Plus or Pro plans. Check your current plan under Settings in the Zendrop dashboard and upgrade if the Webhooks option is not visible.
Will customers receive duplicate invitations if the order status updates multiple times?
Trustpilot's API deduplicates invitations by `referenceId` within a set window, but to be safe you should use the order ID as the referenceId and consider adding a check against a log (e.g., Google Sheets) before calling the API to confirm the invitation has not already been sent.