Get Instant Slack Alerts When Zendrop Product Costs Change
Automatically check your Zendrop product costs on a schedule and send a Slack message the moment a price changes. Never get caught off-guard by a margin-killing cost increase again.
- 1
Step 1 – Schedule the check
Add a
Schedule Triggernode. SetTrigger Intervalto every 6 hours (or whatever frequency suits you). This node kicks off the workflow automatically without any manual action. - 2
Step 2 – Fetch current costs from Zendrop
Add an
HTTP Requestnode connected to the Schedule Trigger. SetMethodto GET andURLtohttps://app.zendrop.com/api/products(add your API key in theHeadersfield asAuthorization: Bearer YOUR_ZENDROP_API_KEY). This returns your current product list with costs. Store your Zendrop API key in n8n Credentials for security. - 3
Step 3 – Load previous costs from Google Sheets
Add a
Google Sheetsnode set toRead Rowsoperation. Point it to a sheet you create with columnsproduct_id,product_name, andlast_cost. Connect your Google account in n8n Credentials. This sheet acts as your cost memory so the workflow can compare old vs new prices. - 4
Step 4 – Detect cost changes and prepare message
Add a
Codenode. Write a short script that loops through the Zendrop API results, matches each product byproduct_idto the Google Sheets rows, and identifies any where the current cost differs fromlast_cost. Output an array of changed products with fieldsproductName,oldCost,newCost. If nothing changed, output an empty array. Also update the Google Sheet with new costs inside this node using an append/update approach. - 5
Step 5 – Send Slack alert for each changed product
Add a
Slacknode connected to the Code node. SetOperationtoSend Message, choose your alert channel (e.g.#pricing-alerts), and setMessage Textto*Cost Change Detected!*\nProduct: {{ $json.productName }}\nOld Cost: ${{ $json.oldCost }}\nNew Cost: ${{ $json.newCost }}. Connect your Slack workspace via OAuth in n8n Credentials. The node will fire once per changed product.
Frequently asked questions
What if Zendrop does not have a public API?
Zendrop offers an API for its paid plans. If your plan does not include API access, you can export your product CSV manually and upload it to Google Sheets instead, then replace the HTTP Request node with a Google Sheets read node pointing to that import tab.
How do I avoid duplicate Slack alerts?
The Google Sheets node stores the last-known cost after each run. The Code node only flags a product when its current cost differs from the stored value, so once the sheet is updated you will not receive the same alert again until the cost changes a second time.
Can I alert on both price increases and decreases?
Yes. The Code node compares old and new costs numerically, so it catches movement in either direction. If you want separate messages for increases versus decreases, add an IF node after the Code node and branch into two Slack nodes with different message text, such as a warning emoji for increases and a celebration emoji for decreases.