# Manage Odoo Products from Shopify Updates

**14 min setup**  
**No coding required**  
**Runs automatically**

Maintain consistency between Shopify and Odoo by syncing product details seamlessly. This MESA workflow template triggers whenever a Shopify product is updated, creating the product and variants in Odoo if they don't exist or updating existing entries with the latest changes. Eliminate the need for manual updates across platforms, saving time and ensuring accurate, up-to-date product information in both systems.

## How it works

14 steps to automate this task automatically.

### Shopify Product Updated

- **App connector**: [Shopify](/content/apps/shopify/integrate "View Shopify integration page"/index.html)  
- **Time to complete**: 1 minute

The workflow begins when a product is updated in Shopify, capturing details about the updated product such as title, variants, price, or inventory changes.

### Retrieve Odoo products

- **App connector**: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)  
- **Time to complete**: 1 minute

Fetch all products from Odoo's database to ensure alignment of product data with Shopify.

### Skip product creation

- **App connector**: [Filter](/content/apps/filter/integrate "View Filter integration page"/index.html)  
- **Time to complete**: 1 minute

Check if the product from Shopify already exists in Odoo. If a match is found, it skips the product creation step to avoid duplicates and ensures data consistency.

### Create Odoo Product Template

- **App connector**: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)  
- **Time to complete**: 1 minute

Creates a product template in Odoo to serve as a base for managing variants, ensuring the product structure aligns with Shopify's updated product details.

### Retrieve or create Odoo product ID

- **App connector**: [Transform](/content/apps/transform/integrate "View Transform integration page"/index.html)  
- **Time to complete**: 1 minute

Determines the Odoo product ID by either retrieving it from an existing product or creating a new product if it doesn't already exist.

### Loop Through Shopify Variants

- **App connector**: [Loop](/content/apps/loop/integrate "View Loop integration page"/index.html)  
- **Time to complete**: 1 minute

Iterates through each variant of the Shopify product, ensuring that all variants are individually processed for syncing or updating in Odoo.

### Retrieve product attributes

- **App connector**: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)  
- **Time to complete**: 1 minute

Fetches product attributes from Odoo to match and align with the attributes of the Shopify variant being processed.

### Search for existing variant by SKU

- **App connector**: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)  
- **Time to complete**: 1 minute

Looks up an existing product variant in Odoo using the SKU from the Shopify variant to determine if it needs to be updated or created.

### Search for existing product by SKU

- **App connector**: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)  
- **Time to complete**: 1 minute

Searches Odoo for an existing product using the Shopify variant's SKU to ensure accurate mapping or to prevent duplicate entries.

### Path #1: Product attributes found, no existing variant

- **App connector**: [Paths](/content/apps/paths/integrate "View Paths integration page"/index.html)  
- **Time to complete**: 1 minute

Determines if product attributes are available but no existing product variant is found in Odoo. Proceeds to create a new product variant under these conditions.

### Path #2: Product attributes found, existing variant identified

- **App connector**: [Paths](/content/apps/paths/integrate "View Paths integration page"/index.html)  
- **Time to complete**: 1 minute

Confirms that product attributes are available and the product variant already exists in Odoo. Continues with variant updates or additional actions as needed.

### Path #3: No product attributes, no existing SKU

- **App connector**: [Paths](/content/apps/paths/integrate "View Paths integration page"/index.html)  
- **Time to complete**: 1 minute

Identifies cases where neither product attributes nor an existing SKU are found. Proceeds to handle the product as a standalone entry or logs it for review.

### Path #4: No product attributes, existing SKU found

- **App connector**: [Paths](/content/apps/paths/integrate "View Paths integration page"/index.html)  
- **Time to complete**: 1 minute

Determines that product attributes are missing but an existing product SKU is present.

### Update Odoo Product

- **App connector**: [Odoo](/content/apps/odoo/integrate "View Odoo integration page"/index.html)  
- **Time to complete**: 1 minute

Proceeds to update the product based on the Shopify details.

## Frequently asked questions

### What is a template?

MESA templates are fully pre-configured workflows built and vetted by Shopify Experts. Unlike competitor templates that provide basic scaffolds requiring extensive setup, MESA templates come with all data variables properly mapped, required fields configured, and steps ready to activate. You can turn them on immediately and start automating.

### Can I customize a template?

Absolutely! While our templates work out-of-the-box, every step can be personalized to match your exact business requirements. Add conditional logic, integrate additional apps, or build more sophisticated workflows. MESA's templates provide a solid foundation that you can expand as needed.

### Are templates free?

Yes! Our entire library of expert-built, production-ready templates is free to use. Unlike platforms that charge for premium templates or provide only basic scaffolds, MESA gives you access to hundreds of fully-configured, vetted workflows at no additional cost.

## Make this template your own!

Customize this workflow even further:

- Set custom delays
- Chain multiple actions
- Store data in tables
- Deploy AI agents for smart decisions
