Sync Shopify Orders to Salesforce Opportunities with Opportunity Products
Streamline sales tracking by automatically sending Shopify orders to Salesforce as Opportunities with associated Opportunity Products. This MESA workflow template transfers order details to Salesforce whenever a new Shopify order is created, allowing you to monitor potential upsell opportunities without manual data entry. Before using this template, ensure you have set up the following templates: “Sync Shopify Customer to Salesforce Account” and “Sync Shopify Product to Salesforce Product and Pricebook Entry.”
Trusted by 1,000+ Shopify merchants — from solo operators to scaling brands.

How it works
10 steps to start syncing Shopify orders to Salesforce opportunities
Order Created
Order Created
Query Single Account
Query Single Account
Custom: Get Order Variant IDs
Custom: Get Order Variant IDs
Query Multiple Product
Query Multiple Product
Mapping to Salesforce Create Opportunity
Mapping to Salesforce Create Opportunity
Create Opportunity
Create Opportunity
Custom: Append Salesforce Product ID to line items
Custom: Append Salesforce Product ID to line items
Loop: Process Each Line Item
Loop: Process Each Line Item
Mapping: Create Opportunity Product
Mapping: Create Opportunity Product
Create Opportunity Product
Create Opportunity Product
*Required: The following must be used with this workflow.
Ready to start syncing Shopify orders to Salesforce opportunities
Get setup in 14 minutes.
Frequently asked questions
What happens if a customer or product doesn't exist in Salesforce yet?
The workflow will fail at Step 2 (for missing customers) or Step 4 (for missing products) because it can't find matching records to link. This is why the two dependency workflows must be installed and running first—they ensure customers and products are synced to Salesforce before orders arrive. If you're enabling this for an existing store, run the dependency workflows first and let them sync your historical data.
Can I modify the opportunity stage instead of always using "Closed Won"?
Yes, you can edit the transform in Step 5 to change the "StageName" mapping. For example, you could set it to "Prospecting" for draft orders, "Closed Won" for paid orders, or use conditional logic based on order tags to set different stages. Just make sure your stage name matches exactly what exists in your Salesforce setup.
Will this create duplicate opportunities if I manually replay the workflow?
Yes, each time the workflow runs it creates a new Opportunity and OpportunityLineItems in Salesforce. There's no duplicate checking built in. If you need to reprocess an order, you should manually delete the original Opportunity in Salesforce first, or modify the workflow to search for existing opportunities by a unique field (like adding a Shopify Order ID field) and update instead of create.
Make this template your own!
Customize this workflow even further:
You're in good company
"MESA has been a game changer for us. And, if you ever get stuck, their support team is always super helpful."
"It's like Zapier but exactly designed for Shopify. I have been able to complete all the workflows that I've needed."
"The MESA team has been amazing at helping us set up our automations. We would highly recommend this app!"
Ready to start syncing Shopify orders to Salesforce opportunities?
7-day free trial • 14 min setup • Cancel anytime
Need help? Our automation experts will help you personalize this workflow for free. Contact support