What This Workflow Does
This workflow watches for new customers created in Shopify.
It checks if each customer already exists in Odoo by email.
If the customer is new, the workflow adds them to Odoo contacts automatically.
This stops duplicate contacts and saves time on manual data entry.
It keeps Shopify and Odoo customer data synced and accurate.
Who Should Use This Workflow
Users who manage a Shopify store and use Odoo for ERP.
Anyone who needs to keep customer records synced without doing it by hand.
It helps reduce errors from manual copying and saves many work hours.
Best for stores with frequent new customer signups.
Tools & Services Used
- n8n automation platform: to build and run the workflow.
- Shopify API and webhook: to detect new customers (Shopify Trigger node).
- Odoo API: to search and create contacts in Odoo (Odoo nodes).
- JavaScript Code node: to check if a contact already exists.
Inputs, Processing, and Output
Inputs
- New customer creation events from Shopify webhook.
- Customer email and address data from Shopify JSON.
Processing Steps
- Shopify Trigger listens for new customer events.
- Search Odoo contacts by email to find duplicates.
- Code node tests if contact exists or not.
- Filter blocks existing contacts from proceeding.
- Create Contact node adds new customers into Odoo.
Output
- New customer contact added to Odoo only if not already existing.
Beginner Step-by-Step: How To Use This Workflow In n8n
Step 1: Import Workflow
- Download the workflow by clicking the Download button on this page.
- In the n8n editor, click Import from File and select the downloaded workflow.
Step 2: Configure Credentials
- Add your Shopify API Key and Access Token in the Shopify Trigger node.
- Add your Odoo API Key and URL in both Odoo nodes.
Step 3: Check Node Settings
- Confirm the Search Odoo Contact node uses the filter
{{ $('Shopify Trigger').item.json.email }}correctly. - In the Create Contact node, map Shopify customer data fields properly:
- name =
{{ $('Shopify Trigger').item.json.addresses[0].name }} - email =
{{ $('Shopify Trigger').item.json.email }} - street =
{{ $('Shopify Trigger').item.json.addresses[0].address1 }}
- name =
Step 4: Test the Workflow
- Run the workflow manually with a test customer.
- Check that no duplicates are created in Odoo.
Step 5: Activate the Workflow
- Switch the workflow toggle to enabled to run automatically.
- Verify Shopify webhook URL is correct to receive events.
Follow these steps carefully to have a running workflow syncing Shopify customers to Odoo without manual work.
For users managing self-host n8n, all these steps remain the same inside the self-hosted editor.
Common Problems and Solutions
Search Odoo Contact node returns no data
Often caused by wrong filter syntax or missing email in Shopify data.
Check Shopify JSON data paths and use correct email field in the Odoo search filter.
403 Forbidden error from Shopify Trigger
Usually a permissions or token issue.
Verify Shopify private app has correct scopes and API key matches what is in n8n credentials.
Customization Ideas
- Add JavaScript phone validation in the Code node to ensure valid phone numbers before sending to Odoo.
- Modify the Create Contact node to pass Shopify customer tags to Odoo custom fields.
- Add logic to update existing contacts in Odoo if customer data changed in Shopify.
- Extend workflow to handle multiple Shopify addresses per customer by looping or splitting data.
Pre-Production Checklist
- Test Shopify webhook triggers with dummy customers to ensure data arrives.
- Confirm Odoo API Key has rights to read and create contacts.
- Run workflow manually in test mode to avoid duplicates on live data.
- Backup Odoo contact records before first automated run.
Deployment Guide
Turn the workflow on in n8n to enable automatic running.
Make sure the Shopify webhook URL is set correctly to your n8n webhook URL.
Use execution logs to watch for errors during first runs.
Check periodically to keep syncing working well as store grows.
Summary
✓ Saves many hours by automating customer contact sync from Shopify to Odoo.
✓ Stops duplicate contact entries by checking email first.
✓ Keeps customer data up-to-date without manual copy-pasting.
→ Workflow triggers on new Shopify customers, checks Odoo, adds if new.
→ Easy to import and start inside n8n with provided steps.