Automatically Create Asana Tasks for Every Zendrop Undelivered Package
When a Zendrop order goes undelivered, this workflow instantly creates a tracked Asana task so your ops team never loses sight of a problem shipment. Stop manually checking Zendrop and chasing down undelivered orders across spreadsheets.
- 1
Schedule a regular Zendrop order check
Add a
Schedule Triggernode and set it to run every hour (or your preferred interval). This is the heartbeat of the workflow, triggering the Zendrop API poll on a regular cadence. In the node settings, setRuletoEvery Hour. - 2
Fetch recent orders from Zendrop API
Add an
HTTP Requestnode namedGet Zendrop Orders. SetMethodtoGETandURLtohttps://api.zendrop.com/v1/orders?status=undelivered. In theHeaderssection, add anAuthorizationheader with your Zendrop API key in the formatBearer YOUR_API_KEY. Store your API key safely in n8n credentials. Add a note: 'Replace YOUR_API_KEY with your actual Zendrop API token from your Zendrop account dashboard.' - 3
Filter only undelivered orders
Add an
IFnode namedIs Undelivered. InCondition, setValue 1to{{ $json.status }}andValue 2to the stringundeliveredusing theEqualoperation. Only orders matching this status continue to the next step, preventing duplicate or irrelevant tasks from cluttering Asana. - 4
Map order data into a clean task payload
Add a
Setnode namedBuild Task Data. Create three fields:taskNameset toUndelivered Order: {{ $json.order_id }};taskNotesset toCustomer: {{ $json.customer_name }} | Tracking: {{ $json.tracking_number }} | Order Date: {{ $json.created_at }};dueDateset to{{ $now.plus(2, 'days').toISO() }}. This shapes the data cleanly before sending it to Asana. - 5
Create the Asana task
Add an
Asananode namedCreate Asana Task. SetOperationtoCreateandResourcetoTask. Connect your Asana credentials. SetNameto{{ $json.taskName }},Notesto{{ $json.taskNotes }},Due Onto{{ $json.dueDate }}, and select your targetProjectfrom the dropdown. Add a note: 'Make sure your Asana API credentials are set up in n8n under Credentials > Asana API and that you have selected the correct project for ops tracking.'
Frequently asked questions
What Zendrop API endpoint should I use and where do I find my API key?
Log into your Zendrop account, go to Settings > API, and copy your API key. Use it in the HTTP Request node as a Bearer token in the Authorization header. Check Zendrop's official API documentation for the exact endpoint structure, as it may vary by plan.
Can I assign the Asana task to a specific team member automatically?
Yes. In the Asana node, there is an `Assignee` field where you can enter a team member's Asana user GID or email. You can find user GIDs via the Asana API or by inspecting your workspace users in the Asana admin panel.
What happens if the same undelivered order is picked up in multiple polling runs?
To avoid duplicates, consider filtering in your Zendrop API call using a date parameter to only fetch orders updated in the last hour, matching your polling interval. Alternatively, use an Asana search step before creation to check if a task for that order ID already exists.