Aggregate shipment tracking statuses with FedEx, UPS and DHL
Ready for 3.0What this workflow does
This workflow has 22 nodes and runs on a schedule (every 15 minutes). It uses only n8n's built-in nodes. It also calls apis.fedex.com and api-eu.dhl.com over HTTP.
How it runs
Trigger: On a schedule (every 15 minutes).
- Load active shipments (Data table): get
- Active only (Filter): keeps only the items that match a condition
- Switch: routes items into 3 branches
- FEDEX · Check Breaker (Code): runs custom JavaScript code
- UPS · Check Breaker (Code): runs custom JavaScript code
- DHL · Check Breaker (Code): runs custom JavaScript code
- Unknown carrier (Edit Fields (Set)): sets 1 field: canonicalStatus
- FEDEX · IF allowed (If): checks a condition and branches into true / false
- UPS · IF allowed (If): checks a condition and branches into true / false
- DHL · IF allowed (If): checks a condition and branches into true / false
…plus 11 more steps. See the full node list below.
HTTP calls to: apis.fedex.com, api-eu.dhl.com
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (9)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Data table
n8n-nodes-base.dataTable - Filter
n8n-nodes-base.filter - Switch
n8n-nodes-base.switch - Code
n8n-nodes-base.code - If
n8n-nodes-base.if - HTTP Request
n8n-nodes-base.httpRequest - Edit Fields (Set)
n8n-nodes-base.set - Merge
n8n-nodes-base.merge
From the author
Quick Overview This workflow runs every 15 minutes to fetch active shipments from an n8n Data Table, query FedEx, UPS, or DHL tracking APIs with circuit-breaker protection, normalize each response into a shared status schema, and upsert the latest status back…