Automatically Request Yotpo Reviews After Zendrop Confirms Delivery
When Zendrop marks an order as delivered, this workflow instantly triggers a Yotpo review request email to the customer. Store owners collect more reviews without any manual follow-up.
- 1
Catch the Zendrop Delivery Webhook
Add a
Webhooknode as the trigger. Set theHTTP Methodto POST. Copy the generated webhook URL and paste it into your Zendrop account under Settings > Webhooks, selecting the 'Order Delivered' event. This node will receive the full order payload each time a delivery is confirmed. - 2
Extract Key Order Fields
Add a
Setnode connected to the Webhook. Create fields namedcustomerEmail,customerFirstName,customerLastName,orderId, andproductName. Map each field from the incoming Zendrop payload using expressions such as{{ $json.customer.email }}and{{ $json.order_id }}. This keeps the data clean for the next step. - 3
Filter Only Delivered Orders
Add an
IFnode connected to the Set node. Set the condition so that{{ $json.order_status }}equals the stringdelivered. Connect the TRUE branch to the next step. This prevents any non-delivery webhook events from triggering a review request accidentally. - 4
Send Review Request via Yotpo API
Add an
HTTP Requestnode on the TRUE branch of the IF node. SetMethodto POST andURLtohttps://api.yotpo.com/v1/widget/{{YOUR_YOTPO_APP_KEY}}/products/{{$json.productName}}/reviews/dynamic_link. InBody Parameters(JSON mode) include:emailmapped to{{ $json.customerEmail }},customer_namemapped to{{ $json.customerFirstName }} {{ $json.customerLastName }},order_idmapped to{{ $json.orderId }}, andapp_keyset to your Yotpo app key. Add your Yotpoutoken(secret) as a body parameter namedutoken. Store credentials securely in n8n credentials or environment variables.
Frequently asked questions
Where do I find my Yotpo app key and utoken?
Log in to your Yotpo account, go to Settings > Store Settings > General, and you will find both your App Key and Secret Key (utoken) listed there. Keep these private and store them as n8n credentials.
What if Zendrop does not have a built-in webhook for delivery events?
If your Zendrop plan does not support webhooks, you can instead use an n8n `HTTP Request` node on a schedule to poll the Zendrop Orders API for orders with a 'delivered' status, then feed the results into the same Set and IF nodes.
Will customers receive duplicate review requests if the webhook fires more than once?
Yotpo deduplicates review requests by order ID, so a customer will not receive more than one request for the same order. However, you can also add an extra IF condition checking that the order ID has not been processed before by logging sent IDs in a Google Sheet.