Support · n8n

Automatically Create Zendesk Tickets When Zendrop Orders Are Delayed

Polls Zendrop for orders that have been processing longer than expected and instantly creates a Zendesk support ticket for each delayed shipment so your support team can act fast. No more manually checking order statuses or missing delayed packages.

difficulty Intermediatesetup 45 minresult A Zendesk ticket is automatically created for every Zendrop order delayed beyond your defined threshold, giving support agents immediate visibility and a head start on customer communication.
  1. 1

    Schedule a regular order check

    Add a Schedule Trigger node and set it to run every hour (or at the interval that suits your team). This is the heartbeat of the workflow — it wakes up the automation on a cadence so no delayed order goes unnoticed for long. Set the Trigger Interval to Hours and Hours Between Triggers to 1.

  2. 2

    Fetch recent orders from Zendrop

    Add an HTTP Request node named Get Zendrop Orders. Set Method to GET and URL to https://app.zendrop.com/api/v1/orders?status=processing. In the Headers section add Authorization with the value Bearer YOUR_ZENDROP_API_KEY. Store your key in n8n credentials and reference it here. This returns all orders currently in processing state.

  3. 3

    Flag orders delayed beyond your threshold

    Add an IF node named Is Order Delayed?. In the Condition set Value 1 to the expression {{ new Date().getTime() - new Date($json.created_at).getTime() }} (milliseconds since order was created), set the operator to Larger Than, and set Value 2 to 172800000 (48 hours in milliseconds). Orders older than 48 hours in processing state will pass to the True branch. Adjust the number to match your store's expected fulfillment window.

  4. 4

    Format the ticket details

    Add a Set node named Build Ticket Payload on the True branch. Create three fields: subject set to Shipping Delay – Order {{ $json.order_number }}, body set to Order {{ $json.order_number }} placed on {{ $json.created_at }} is still in processing after 48 hours. Customer email: {{ $json.customer_email }}. Please investigate with Zendrop., and priority set to normal. This shapes the data cleanly before sending to Zendesk.

  5. 5

    Create a Zendesk ticket

    Add an HTTP Request node named Create Zendesk Ticket. Set Method to POST and URL to https://YOUR_SUBDOMAIN.zendesk.com/api/v2/tickets.json. Under Authentication choose Basic Auth and enter your Zendesk agent email and API token (generate one in Zendesk Admin > Apps & Integrations > APIs). Set Body Content Type to JSON and paste this body: { "ticket": { "subject": "{{ $json.subject }}", "comment": { "body": "{{ $json.body }}" }, "priority": "{{ $json.priority }}" } }. Each delayed order now becomes a tracked Zendesk ticket.

Frequently asked questions

What if Zendrop's API structure differs from the fields used here?

Run the `Get Zendrop Orders` HTTP Request node manually once and inspect the output in n8n's execution log. Identify the exact field names for order number, creation date, and customer email in the returned JSON, then update the expressions in the `Set` node and `IF` node to match those real field names.

How do I avoid creating duplicate Zendesk tickets for the same delayed order?

The simplest approach is to add a tag or custom field to each Zendesk ticket using the order number, then query Zendesk before ticket creation to check if one already exists. For a quick fix at the beginner level, you can also limit the schedule trigger to once per day so duplicates are minimised during your review window.

Can I notify customers automatically instead of (or in addition to) creating a ticket?

Yes. After the `Create Zendesk Ticket` node you can add a second HTTP Request node that calls your email service (e.g. SendGrid or Mailchimp Transactional) using the `customer_email` field from the Zendrop order to send a proactive delay notification. Keep the Zendesk ticket as your internal record and use the email for customer-facing communication.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.