This workflow automatically tracks shipments across multiple courier services, updates Google Sheets, and notifies customers via WhatsApp/Email when status changes.
Good to know
- Runs daily at 9 AM and only sends notifications when shipment status actually changes
- API costs may apply for courier tracking (Delhivery, DHL) and WhatsApp notifications
- Requires Google Sheet with proper column structure and valid API credentials
- Currently supports Delhivery and DHL APIs but easily expandable
How it works
- Daily Trigger : Cron node runs workflow every day at 9 AM
- Get Shipments List : Fetches all shipment data from Google Sheet
- Filter Active Shipments : Excludes delivered orders and empty tracking numbers
- Route by Courier : Directs shipments to appropriate API (Delhivery or DHL)
- Track via APIs : Makes real-time tracking calls to courier services
- Parse Tracking Data : Normalizes different API responses and detects status changes
- Check Status Change : Only processes shipments with actual status updates
- Update & Notify: Simultaneously updates Google Sheet, sends WhatsApp message, and email notification
- Execution Summary : Logs workflow performance metrics
How to use
- Import the JSON workflow into n8n
- Create Google Sheet with columns: tracking_number,order_id,customer_email,customer_phone,courier,status,location,last_updated,estimated_delivery
- Configure credentials: Google Sheets OAuth2, Delhivery API, DHL API, WhatsApp API, SMTP
- Replace YOUR_GOOGLE_SHEET_IDwith actual sheet ID
- Test workflow manually before enabling daily schedule
Requirements
- Google Sheets API access
- Courier API keys (Delhivery, DHL)
- WhatsApp Business API credentials
- SMTP email service
- n8n instance (self-hosted or cloud)
Customizing this workflow
- Add courier services : Create new HTTP Request node and update routing logic
- Change frequency : Modify cron expression (hourly: 0 * * * *, twice daily:0 9,17 * * *)
- Customize notifications : Edit WhatsApp/Email templates in respective nodes
- Add CRM integration : Insert CRM update node after status change detection