Auto-Update Your Site Banner When Zendrop Reports Holiday Shipping Delays
Polls Zendrop for active holiday delay notices and instantly fires a webhook to update your website banner, keeping shoppers informed without any manual work. Set it once and let it run every day during peak seasons.
- 1
Step 1 — Schedule a Daily Trigger
Add a
Schedule Triggernode. SetTrigger IntervaltoDaysandDays Between Triggersto1. Choose a time like 07:00 AM so your banner updates before your store's peak traffic. This node fires the workflow automatically every morning. - 2
Step 2 — Fetch Zendrop Delay Notices
Add an
HTTP Requestnode namedGet Zendrop Delays. SetMethodtoGETandURLtohttps://api.zendrop.com/v1/announcements(replace with your actual Zendrop API endpoint). Add anAuthorizationheader using your Zendrop API key as a Bearer token — store it in an n8n credential of typeHeader Auth. The response will include any active holiday delay announcements. - 3
Step 3 — Check If a Delay Exists
Add an
IFnode namedDelay Active?. Set the condition to check{{ $json.data.length }}is greater than0. Route thetruebranch forward to the next step. Thefalsebranch can be left unconnected — if there are no delays, the workflow simply stops and your banner remains unchanged. - 4
Step 4 — Extract the Delay Message
Add a
Setnode namedBuild Banner Payload. Create a new field calledbannerMessageand set its value to{{ $json.data[0].message }}. Optionally add abannerActivefield set totrue. This shapes the data into a clean payload your website webhook can consume. - 5
Step 5 — Send to Your Site Webhook
Add an
HTTP Requestnode namedUpdate Site Banner. SetMethodtoPOSTandURLto your website or CMS webhook endpoint (e.g., a Netlify build hook, WordPress REST endpoint, or custom handler). SetBody Content TypetoJSONand mapbannerMessageandbannerActivefrom the previous node into the request body. Your site receives the payload and displays the delay notice banner automatically.
Frequently asked questions
What if Zendrop changes their API endpoint?
Log in to your Zendrop account, navigate to the API documentation or developer settings, and copy the updated announcements endpoint. Then open the `Get Zendrop Delays` node in n8n and paste the new URL into the `URL` field. No other changes are needed.
How do I make the banner disappear when delays end?
Connect the `false` branch of the `Delay Active?` IF node to a second `HTTP Request` node that POSTs `{ "bannerActive": false }` to your same site webhook. Your site code should hide the banner whenever `bannerActive` is false, giving you full automatic on/off control.
Can I trigger this more than once a day during a crisis?
Yes. In the `Schedule Trigger` node, change `Trigger Interval` to `Hours` and set `Hours Between Triggers` to `2` or `4`. This makes the workflow check Zendrop every few hours so your banner updates much faster when new delay notices are posted.