Automatically Sync Zendrop Order Numbers to Intercom Customer Profiles
When a new order is created in Zendrop, this workflow fetches the order details and updates the matching Intercom user profile with the order number and status. Your support team always has fresh order data right inside Intercom conversations.
- 1
Receive Zendrop Order via Webhook
Add a
Webhooknode as the trigger. Set theHTTP Methodto POST and copy the generated webhook URL into your Zendrop store's webhook settings under order creation events. This node will receive the raw order payload each time a new order is placed. - 2
Extract Key Order Fields
Add a
Setnode connected to the Webhook. Create three fields: setorderNumberto{{$json.body.order_number}},customerEmailto{{$json.body.customer_email}}, andorderStatusto{{$json.body.status}}. Adjust the JSON paths to match the exact field names your Zendrop webhook delivers. - 3
Look Up the Intercom User by Email
Add an
HTTP Requestnode. SetMethodto GET andURLtohttps://api.intercom.io/contacts/search. InHeadersaddAuthorization: Bearer YOUR_INTERCOM_TOKENandAccept: application/json. In theBody(JSON) use{"query":{"field":"email","operator":"=","value":"{{$json.customerEmail}}"}}. This returns the Intercom contact ID for the customer. - 4
Parse the Intercom Contact ID
Add a second
Setnode. Create a field calledintercomContactIdand set its value to{{$json.data[0].id}}. This pulls the first matching contact's ID from the Intercom search response so the next node can target the right profile. - 5
Update the Intercom User with Order Data
Add a final
HTTP Requestnode. SetMethodto PUT andURLtohttps://api.intercom.io/contacts/{{$json.intercomContactId}}. Add headersAuthorization: Bearer YOUR_INTERCOM_TOKEN,Content-Type: application/json, andAccept: application/json. Set the JSON body to{"custom_attributes":{"zendrop_order_number":"{{$node['Extract Order Fields'].json.orderNumber}}","zendrop_order_status":"{{$node['Extract Order Fields'].json.orderStatus}}"}}. Make sure the custom attribute keys exist in your Intercom workspace settings first.
Frequently asked questions
How do I create the custom attributes in Intercom before running this workflow?
Go to your Intercom workspace Settings, then navigate to People Data and select Custom Attributes. Create two text attributes named exactly `zendrop_order_number` and `zendrop_order_status`. The names must match the keys used in the workflow's PUT request body.
What if a customer has no Intercom profile yet when the order comes in?
The search step will return an empty array, causing the contact ID parse to fail. You can handle this by adding an IF node after the search to check whether `$json.data.length > 0`, and if not, route to a separate HTTP Request node that creates a new Intercom contact using the POST /contacts endpoint before updating it.
Can I update the order status again if it changes later in Zendrop?
Yes. Configure Zendrop to also send webhook events for order status updates, not just order creation. The same workflow will fire again, look up the same Intercom user by email, and overwrite the `zendrop_order_status` attribute with the latest value.