This workflow corresponds to n8n.io template #16353 — we link there as the canonical source.
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 →
{
"id": "C5GiokodVlu0nDdJ",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Automated Shopify to Odoo Contact Synchronization with Duplicate Removal",
"tags": [],
"nodes": [
{
"id": "41c8ff9f-0b2e-4e5a-88f8-f63e401ba376",
"name": "Split Out4",
"type": "n8n-nodes-base.splitOut",
"position": [
-304,
304
],
"parameters": {},
"typeVersion": 1
},
{
"id": "35b75a24-8adf-4195-889d-fb0ddcce4e51",
"name": "Code6",
"type": "n8n-nodes-base.code",
"position": [
-496,
304
],
"parameters": {},
"typeVersion": 2
},
{
"id": "42e219f7-c4c1-4b1b-b369-d39909b46cce",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
-304,
32
],
"parameters": {},
"typeVersion": 2
},
{
"id": "e21dc260-52d5-4a80-bbe3-ad94cae6a5c3",
"name": "Filter",
"type": "n8n-nodes-base.filter",
"position": [
-128,
32
],
"parameters": {},
"typeVersion": 1
},
{
"id": "344f4bf6-a390-48e4-80d6-2edc76c13eec",
"name": "Code1",
"type": "n8n-nodes-base.code",
"position": [
96,
304
],
"parameters": {},
"typeVersion": 2
},
{
"id": "7256a739-96c0-4378-bebe-f012b45cf1cc",
"name": "Filter1",
"type": "n8n-nodes-base.filter",
"position": [
272,
304
],
"parameters": {},
"typeVersion": 1
},
{
"id": "18532f37-5ce8-4e10-9e32-1e4f579fb269",
"name": "Odoo (Search Contact)",
"type": "n8n-nodes-base.odoo",
"position": [
-496,
32
],
"parameters": {},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "9963cbb2-13a3-45a7-8215-3cc988dbdd2a",
"name": "Odoo (Create Contact)",
"type": "n8n-nodes-base.odoo",
"position": [
64,
32
],
"parameters": {},
"typeVersion": 1,
"alwaysOutputData": false
},
{
"id": "c7997e72-5fe7-449c-9d9a-c3f528b119ff",
"name": "Odoo (Delete a contact)",
"type": "n8n-nodes-base.odoo",
"position": [
304,
32
],
"parameters": {},
"typeVersion": 1
},
{
"id": "8a2a4dd0-9a44-450c-a42e-924fb992862f",
"name": "Odoo (Search Contact)1",
"type": "n8n-nodes-base.odoo",
"position": [
-96,
304
],
"parameters": {},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "54c611b1-c634-42a3-8850-ff336b92a8d3",
"name": "Odoo (Create Contact)1",
"type": "n8n-nodes-base.odoo",
"position": [
512,
304
],
"parameters": {},
"typeVersion": 1,
"alwaysOutputData": false
},
{
"id": "a052cd93-4cb4-4d91-8315-11981c8a90cb",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1248,
32
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "8571f773-b8a1-4019-baa5-5d56d751a423",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1712,
32
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "7f737df4-9a59-4cee-8d5c-1f150d977c43",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-48
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a455d838-a5ac-4d88-9fce-2f516e9a7f35",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-544,
-32
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "59c1c8cd-48a5-4a6b-adb6-01f7a58ee4cc",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "4a5df0eb-f00c-44b0-9db2-eee43b09b7a5",
"name": "Shopify (Trigger Paid Order & Get Data)",
"type": "n8n-nodes-base.shopifyTrigger",
"position": [
-768,
176
],
"parameters": {},
"typeVersion": 1
}
],
"active": false,
"settings": {
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "52f60065-58be-4d4e-8ea2-72fe0579d722",
"connections": {
"Code": {
"main": [
[
{
"node": "Filter",
"type": "main",
"index": 0
}
]
]
},
"Code1": {
"main": [
[
{
"node": "Filter1",
"type": "main",
"index": 0
}
]
]
},
"Code6": {
"main": [
[
{
"node": "Split Out4",
"type": "main",
"index": 0
}
]
]
},
"Filter": {
"main": [
[
{
"node": "Odoo (Create Contact)",
"type": "main",
"index": 0
}
]
]
},
"Filter1": {
"main": [
[
{
"node": "Odoo (Create Contact)1",
"type": "main",
"index": 0
}
]
]
},
"Split Out4": {
"main": [
[
{
"node": "Odoo (Search Contact)1",
"type": "main",
"index": 0
}
]
]
},
"Odoo (Create Contact)": {
"main": [
[]
]
},
"Odoo (Search Contact)": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Odoo (Create Contact)1": {
"main": [
[]
]
},
"Odoo (Search Contact)1": {
"main": [
[
{
"node": "Code1",
"type": "main",
"index": 0
}
]
]
},
"Odoo (Delete a contact)": {
"main": [
[]
]
},
"Shopify (Trigger Paid Order & Get Data)": {
"main": [
[
{
"node": "Odoo (Search Contact)",
"type": "main",
"index": 0
},
{
"node": "Code6",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow triggers on paid Shopify orders and syncs the order’s shipping contact details into Odoo Contacts (res.partner) by searching for existing contacts and creating new ones, with a secondary duplicate-check branch that splits out IDs for additional matching. Triggers…
Source: https://n8n.io/workflows/16353/ — 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.
This workflow triggers when a Shopify order is marked paid, then finds or creates matching products and the customer in Odoo and creates an Odoo sales order, with success notifications to Slack and Gm
This workflow functions like the integration of Shopify products with Odoo products, Shopify customers with Odoo customers, and paid Shopify orders with Odoo sales orders containing multiple products.
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.
Sync New Shopify Products to Odoo Product. Uses odoo, shopifyTrigger. Event-driven trigger; 5 nodes.