The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"meta": {
"versionId": "1.0.0",
"createdAt": "2025-09-29T07:07:52.258523",
"updatedAt": "2025-09-29T07:07:52.258534",
"owner": "n8n-user",
"license": "MIT",
"category": "automation",
"status": "active",
"priority": "high",
"environment": "production"
},
"nodes": [
{
"id": "1b1fd43f-5acb-45e7-bd98-e4774754cdfe",
"name": "On order updated",
"type": "n8n-nodes-base.shopifyTrigger",
"position": [
180,
520
],
"parameters": {
"topic": "orders/updated"
},
"credentials": {
"shopifyApi": {
"name": "<your credential>"
}
},
"typeVersion": 1,
"notes": "This shopifyTrigger node performs automated tasks as part of the workflow."
},
{
"id": "d96cde15-f810-4302-aa45-554f6675b505",
"name": "Order exists in Zendesk",
"type": "n8n-nodes-base.if",
"position": [
1220,
540
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json[\"ZendeskTicketId\"] }}",
"operation": "isNotEmpty"
}
]
}
},
"typeVersion": 1,
"notes": "This if node performs automated tasks as part of the workflow."
},
{
"id": "62c09ef2-55c8-4269-9869-c15e8a955169",
"name": "NoOp",
"type": "n8n-nodes-base.noOp",
"position": [
1500,
460
],
"parameters": {},
"typeVersion": 1,
"notes": "This noOp node performs automated tasks as part of the workflow."
},
{
"id": "68f867c3-842c-478a-8afd-c7299e12b98d",
"name": "Find if order already has a ticket in Zendesk",
"type": "n8n-nodes-base.zendesk",
"position": [
480,
660
],
"parameters": {
"options": {
"query": "external_id:1027",
"status": "open"
},
"operation": "getAll"
},
"credentials": {
"zendeskApi": {
"name": "<your credential>"
}
},
"typeVersion": 1,
"alwaysOutputData": true,
"notes": "This zendesk node performs automated tasks as part of the workflow."
},
{
"id": "01d4acba-8641-43e8-b333-e4494a2594d1",
"name": "Keep only ticket Id",
"type": "n8n-nodes-base.set",
"position": [
720,
660
],
"parameters": {
"values": {
"string": [
{
"name": "external_Id",
"value": "={{ $json[\"external_id\"] }}"
},
{
"name": "ZendeskTicketId",
"value": "={{ $json[\"id\"] }}"
}
]
},
"options": {},
"keepOnlySet": true
},
"typeVersion": 1,
"notes": "This set node performs automated tasks as part of the workflow."
},
{
"id": "63099ec6-7ae5-4d88-881b-a6a8ae3a64b8",
"name": "Add ticket info to order data",
"type": "n8n-nodes-base.merge",
"position": [
960,
540
],
"parameters": {
"mode": "mergeByKey",
"propertyName1": "order_number",
"propertyName2": "external_Id"
},
"typeVersion": 1,
"notes": "This merge node performs automated tasks as part of the workflow."
},
{
"id": "79bf059e-d3b9-4323-88e5-7887deae74f7",
"name": "Create new ticket for new orders",
"type": "n8n-nodes-base.zendesk",
"position": [
1500,
640
],
"parameters": {
"description": "=Order #{{ $json[\"order_number\"] }} - {{$json[\"line_items\"].length}} item(s)\n\nOrder:\nCustomer: {{$json[\"customer\"][\"first_name\"]}} {{$json[\"customer\"][\"last_name\"]}} \nemail: {{$json[\"customer\"][\"email\"]}}\nStatus: New order",
"additionalFields": {
"status": "open",
"subject": "=Order #{{ $json[\"order_number\"] }} - {{$json[\"line_items\"].length}} item(s)",
"externalId": "={{ $json[\"order_number\"] }}"
}
},
"credentials": {
"zendeskApi": {
"name": "<your credential>"
}
},
"typeVersion": 1,
"notes": "This zendesk node performs automated tasks as part of the workflow."
},
{
"id": "error-9a843543",
"name": "Error Handler",
"type": "n8n-nodes-base.stopAndError",
"typeVersion": 1,
"position": [
1000,
400
],
"parameters": {
"message": "Workflow execution error",
"options": {}
}
}
],
"connections": {},
"name": "Shopifytrigger Workflow",
"description": "Automated workflow: Shopifytrigger Workflow. This workflow processes data and performs automated tasks.",
"settings": {
"executionOrder": "v1",
"saveManualExecutions": true,
"callerPolicy": "workflowsFromSameOwner",
"errorWorkflow": null,
"timezone": "UTC",
"executionTimeout": 3600,
"maxExecutions": 1000,
"retryOnFail": true,
"retryCount": 3,
"retryDelay": 1000
},
"notes": "Excellent quality workflow: Shopifytrigger Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation.",
"id": "wf66fd6879a7b3"
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
shopifyApizendeskApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Shopifytrigger Workflow. Uses shopifyTrigger, zendesk, stopAndError. Event-driven trigger; 8 nodes.
Source: https://github.com/basictechorg/n8n-business-automation/blob/main/workflows/e-commerce/0269_Shopify_Zendesk_Create_Triggered.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Set Workflow. Uses shopifyTrigger, zendesk, stopAndError. Event-driven trigger; 10 nodes.
Shopify Zendesk. Uses shopifyTrigger, noOp, zendesk. Event-driven trigger; 9 nodes.
This workflow automatically syncs Shopify orders with your Zendesk contacts. Using this workflow, the Shopify email ID, phone number ID and order information will be added or updated to Zendesk contac
Sync New Shopify Products to Odoo Product. Uses odoo, shopifyTrigger, stopAndError. Event-driven trigger; 6 nodes.
Sync New Shopify Customers to Odoo Contacts. Uses odoo, shopifyTrigger, stopAndError. Event-driven trigger; 6 nodes.