AutomationFlowsE-commerce › Sync Shopify Customers to Odoo Contacts

Sync Shopify Customers to Odoo Contacts

Original n8n title: Sync New Shopify Customers to Odoo Contacts

Sync New Shopify Customers to Odoo Contacts. Uses odoo, shopifyTrigger. Event-driven trigger; 5 nodes.

Event trigger★★★★☆ complexity5 nodesOdooShopify Trigger
E-commerce Trigger: Event Nodes: 5 Complexity: ★★★★☆ Added:

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 →

Download .json
{
  "id": "Zp0R3I1dUjZOIz2l",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Sync New Shopify Customers to Odoo Contacts",
  "tags": [],
  "nodes": [
    {
      "id": "ae072919-4f88-4722-b139-2628e24b89ba",
      "name": "Filter",
      "type": "n8n-nodes-base.filter",
      "position": [
        -420,
        -40
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{ $json.existing }}"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a36747d5-3381-43b8-9def-e3dbc8942dbd",
      "name": "Search Odoo Contact",
      "type": "n8n-nodes-base.odoo",
      "position": [
        -800,
        -40
      ],
      "parameters": {
        "limit": 1,
        "options": {},
        "resource": "custom",
        "operation": "getAll",
        "filterRequest": {
          "filter": [
            {
              "value": "={{ $('Shopify Trigger').item.json.email }}",
              "fieldName": "email"
            }
          ]
        },
        "customResource": "res.partner"
      },
      "credentials": {
        "odooApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "a52d6acf-e8c2-48cd-b44c-903617c23e9e",
      "name": "Shopify Trigger",
      "type": "n8n-nodes-base.shopifyTrigger",
      "position": [
        -1060,
        -40
      ],
      "parameters": {
        "topic": "customers/create",
        "authentication": "accessToken"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f3023805-dc0b-4745-ab7b-77b2d81137e3",
      "name": "Create Contact",
      "type": "n8n-nodes-base.odoo",
      "position": [
        -240,
        -40
      ],
      "parameters": {
        "resource": "custom",
        "customResource": "res.partner",
        "fieldsToCreateOrUpdate": {
          "fields": [
            {
              "fieldName": "name",
              "fieldValue": "={{ $('Shopify Trigger').item.json.addresses[0].name }}"
            },
            {
              "fieldName": "email",
              "fieldValue": "={{ $('Shopify Trigger').item.json.email }}"
            },
            {
              "fieldName": "street",
              "fieldValue": "={{ $('Shopify Trigger').item.json.addresses[0].address1 }}"
            },
            {
              "fieldName": "street2",
              "fieldValue": "={{ $('Shopify Trigger').item.json.addresses[0].address2 }}"
            },
            {
              "fieldName": "city",
              "fieldValue": "={{ $('Shopify Trigger').item.json.addresses[0].city }}"
            },
            {
              "fieldName": "zip",
              "fieldValue": "={{ $('Shopify Trigger').item.json.addresses[0].zip }}"
            },
            {
              "fieldName": "phone",
              "fieldValue": "={{ $('Shopify Trigger').item.json.addresses[0].phone }}"
            }
          ]
        }
      },
      "credentials": {
        "odooApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1,
      "alwaysOutputData": false
    },
    {
      "id": "4cef59ef-0ba4-4eee-83b6-27254ffd5974",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        -600,
        -40
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "\n\nvar contact_detail = $('Shopify Trigger').item.json\nconsole.log('-------contact_detail--------',contact_detail)\nvar existing_contact = $('Search Odoo Contact').item.json\nconsole.log('-------existing_contact--------',existing_contact,existing_contact.valueOf)\nreturn {existing:existing_contact.id ? true:false,contact_detail:contact_detail}\n"
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "4c04743a-c0c3-4900-9963-3ca05b65908c",
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Create Contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Shopify Trigger": {
      "main": [
        [
          {
            "node": "Search Odoo Contact",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Odoo Contact": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Sync New Shopify Customers to Odoo Contacts. Uses odoo, shopifyTrigger. Event-driven trigger; 5 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More E-commerce workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

E-commerce

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.

Shopify Trigger, Odoo
E-commerce

Sync New Shopify Products to Odoo Product. Uses odoo, shopifyTrigger. Event-driven trigger; 5 nodes.

Odoo, Shopify Trigger
E-commerce

This workflow functions by integrating Shopify customers into Odoo customers. Trigger: Shopify – New Customer Created The workflow starts when a new customer is added in Shopify. Action: Odoo – Search

Odoo, Shopify Trigger
E-commerce

Seamlessly sync newly created Shopify products into Odoo with this smart, no-code n8n workflow. Automatically checks for duplicates and creates new products only when needed – fully compatible with st

Odoo, Shopify Trigger
E-commerce

Seamlessly sync newly created Shopify products into Odoo with this smart, no-code n8n workflow. It automatically checks for duplicates and creates new products only when needed – fully compatible with

Start, Shopify Trigger, Odoo