Automatically Log Zendrop Daily Product Costs to Google Sheets
Every day, this workflow pulls product cost data from Zendrop via its API and appends the results to a Google Sheet for easy tracking and reporting. E-commerce managers get a running cost log without any manual data entry.
- 1
Schedule the workflow to run daily
Add a
Schedule Triggernode. Set theRuleto run once per day at a time that suits your reporting cadence, such as 6:00 AM. This node fires the workflow automatically so you never have to trigger it manually. - 2
Fetch product costs from Zendrop
Add an
HTTP Requestnode connected to the Schedule Trigger. SetMethodtoGETandURLtohttps://api.zendrop.com/api/v1/products. In theHeaderssection addAuthorizationwith the valueBearer YOUR_ZENDROP_API_KEY. Store your API key in n8n credentials and reference it here. The node returns a JSON array of products including cost fields. - 3
Extract and flatten key cost fields
Add a
Setnode after the HTTP Request. Create fields forproductIdmapped to{{ $json.id }},productNamemapped to{{ $json.name }},costmapped to{{ $json.cost }},retailPricemapped to{{ $json.retail_price }}, anddatemapped to{{ $now.toISODate() }}. This produces one clean record per product that is easy to write to a spreadsheet. - 4
Append each row to Google Sheets
Add a
Google Sheetsnode set to operationAppend Row. Connect your Google account in the credentials section. SetSpreadsheet IDto the ID of your target sheet (found in its URL) andSheet Nameto the tab you want to write to, such asDaily Costs. Map the columns to the fields you defined in the Set node:Date,Product ID,Product Name,Cost, andRetail Price. Each product becomes a new row in the sheet.
Frequently asked questions
What if Zendrop does not expose a products API endpoint?
Check Zendrop's current API documentation in your account dashboard under Developer Settings. If the endpoint path differs, update the URL in the HTTP Request node accordingly. Some plans may require contacting Zendrop support to enable API access.
How do I avoid duplicate rows if the workflow runs twice in one day?
Add an `IF` node between the Set and Google Sheets nodes that checks whether today's date already exists in the sheet using a Google Sheets Read operation. Only continue to the Append step if no matching date row is found. Alternatively, schedule the workflow to run only once daily to minimize this risk.
Can I track cost changes over time with this setup?
Yes. Because each run appends new rows with a date stamp, you will build a historical log of costs automatically. You can then use Google Sheets charts or pivot tables to visualize cost trends per product over days, weeks, or months.