Automatically Launch a Mailchimp Campaign When Zendrop Product Prices Drop
This recipe monitors your Zendrop products for price drops via a scheduled HTTP check and instantly triggers a targeted Mailchimp email campaign to alert your customers. Save hours of manual work and never miss a chance to promote a discounted product.
- 1
Schedule a Regular Price Check
Add a
Schedule Triggernode and set it to run every hour (or at your preferred interval). This node kicks off the workflow automatically so you never have to check Zendrop manually. In the node settings, setRuletoHoursandEveryto1. - 2
Fetch Product Prices from Zendrop
Add an
HTTP Requestnode connected to the Schedule Trigger. SetMethodtoGETandURLto your Zendrop API endpoint (e.g.https://api.zendrop.com/v1/products). Add your Zendrop API key as a header:Authorization: Bearer YOUR_API_KEY. Store this key safely in n8n credentials. The response will contain current product prices. - 3
Check If Price Has Dropped Below Threshold
Add an
IFnode to filter only products with a price drop. In theValue 1field enter the expression{{ $json.price }}and set the conditionSmaller ThanwithValue 2as your threshold number (e.g.25). Only products meeting this condition will continue to the next step. Adjust the threshold to match your margin requirements. - 4
Build the Campaign Data
Add a
Setnode on the TRUE branch of the IF node. Create fields that Mailchimp needs: setcampaign_nametoPrice Drop: {{ $json.name }}, setsubject_linetoLimited Time Deal on {{ $json.name }}!, and setlist_idto your Mailchimp audience ID (found in Mailchimp under Audience settings). This prepares a clean data object for the final step. - 5
Create and Send a Mailchimp Campaign
Add an
HTTP Requestnode connected to the Set node. SetMethodtoPOSTandURLtohttps://usX.api.mailchimp.com/3.0/campaigns(replaceusXwith your Mailchimp data center prefix). Add headerAuthorization: apikey YOUR_MAILCHIMP_API_KEY. SetBody Content TypetoJSONand in theBodyfield include:{"type":"regular","recipients":{"list_id":"{{ $json.list_id }}"},"settings":{"subject_line":"{{ $json.subject_line }}","from_name":"Your Store","reply_to":"you@yourdomain.com","title":"{{ $json.campaign_name }}"}}. After the campaign is created, a follow-up send call can be made using the returned campaign ID.
Frequently asked questions
How do I find my Zendrop API key?
Log in to your Zendrop account, navigate to Settings, then API or Integrations. Copy the API key shown there and paste it into the HTTP Request node header in n8n. Keep this key private and never share it publicly.
What if I want to track the previous price to detect a real drop?
You can store the last known price in a Google Sheet or Airtable and add a comparison step before the IF node. Each run updates the stored price after checking, so the next run can compare current vs stored price to confirm a genuine drop.
Can I send to a specific Mailchimp segment instead of the whole list?
Yes. In the Set node, add a `segment_id` field with your desired Mailchimp segment ID. Then in the HTTP Request node body, add `"segment_opts":{"saved_segment_id":YOUR_SEGMENT_ID}` inside the `recipients` object to target that segment.