How it works

Follow these 8 simple steps to start converting Shopify draft orders to HubSpot deals automatically

Shopify logo icon

Draft Order Created

App connector: Shopify • Time to complete: 0 minutes (Auto-configured)
Why this matters: This trigger captures draft orders the moment they're created in Shopify, enabling immediate CRM tracking of quotes and custom orders that represents potential revenue before it converts to actual sales.

When any draft order is created in Shopify—whether you're building a custom quote for a wholesale customer, creating a proposal for a sales consultation, or preparing an invoice for manual payment—this trigger captures the complete draft order details including customer information, line items, and total value. The trigger watches your store continuously and passes the draft order data to the next step immediately after creation.

Create Deal

App connector: HubSpot • Time to complete: 3 minutes
Why this matters: Establishes the draft order as a tracked opportunity in HubSpot's CRM, giving sales teams visibility into potential revenue and enabling pipeline management for custom orders and quotes.

You'll configure two critical fields: the pipeline and deal stage. The pipeline is your sales process (like "Sales Pipeline" or "Wholesale Pipeline"), and the deal stage is where this quote should start (like "Qualified," "Proposal Sent," or "Quote Created"). The deal name automatically combines the customer's first and last name, the draft order name (like "#D1234"), email, and order ID for easy identification. The deal amount uses the draft order's total price directly from Shopify.

Search for Contact

App connector: HubSpot • Time to complete: 0 minutes (Auto-configured)
Why this matters: Looks for an existing HubSpot contact before creating a new one, preventing duplicate contact records and maintaining clean CRM data when customers have placed previous orders or been entered manually.

The step queries HubSpot's contact database filtering by email address using the draft order's email. It limits the search to return just 1 contact since email addresses should be unique. If a matching contact exists, it returns the contact ID needed to create the association; if no contact exists, the search returns empty and the workflow branches to create a new contact instead.

Path 1 Rule (Existing Contact)

App connector: Paths • Time to complete: 0 minutes (Auto-configured)
Why this matters: When a contact already exists in HubSpot, this path associates the new deal directly with that existing contact, maintaining relationship history and preventing duplicate contact creation.

The step checks if the search results from Step 3 "is not empty." If a contact was found, the workflow continues down this path to create the deal-to-contact association using the existing contact ID. If no contact exists (results are empty), this path stops and the workflow routes to Path 2 instead to create a new contact.

Create Contact Association (Path 1)

App connector: HubSpot • Time to complete: 0 minutes (Auto-configured)
Why this matters: Links the new deal to the existing contact in HubSpot, creating the relationship that enables proper pipeline tracking, contact activity history, and sales reporting for customers you've worked with before.

The step creates an association between the contact found in Step 3 and the deal created in Step 2. It uses association type "4" which is HubSpot's standard code for contact-to-deal relationships. The contact ID comes from the search results, and the deal ID comes from the deal creation step. This association makes the deal appear on the contact's record in HubSpot and vice versa.

Path 2 Rule (New Contact)

App connector: Paths • Time to complete: 0 minutes (Auto-configured)
Why this matters: When no matching contact exists in HubSpot, this path creates a new contact record from the draft order customer information, ensuring every deal has an associated contact for proper CRM tracking.

The step checks if the search results from Step 3 "is empty." If no contact was found (customer is new to HubSpot), the workflow continues down this path to create a new contact record with the draft order customer information. If a contact already exists (Path 1 handled it), this path stops.

Create Contact (Path 2)

App connector: HubSpot • Time to complete: 0 minutes (Auto-configured)
Why this matters: Establishes a new contact record in HubSpot for first-time customers, populating their email, first name, and last name from the draft order to create a complete contact profile.

The step creates a new HubSpot contact using the customer information from the Shopify draft order. It populates the email, first name, and last name fields with data from the draft order's customer record. This creates a basic contact record in HubSpot that can be enriched later as your team learns more about the customer or as they interact with your business.

hubspot logo icon

Create Contact Association (Path 2)

App connector: HubSpot • Time to complete: 0 minutes (Auto-configured)
Why this matters: Links the new deal to the newly created contact in HubSpot, completing the CRM setup for first-time customers and ensuring the deal is properly associated for tracking and reporting.

The step creates an association between the newly created contact from Step 8 and the deal from Step 2. It uses the same association type "4" for contact-to-deal relationships. The contact ID comes from the contact creation step, and the deal ID comes from Step 2. This makes the deal visible on the new contact's record and provides full context for sales follow-up.

Make it your own

Customize this workflow even further:

Add line item details to deal description
Add a transform step before deal creation that formats {{shopify.line_items}} into a readable list and includes it in the deal's description field, giving sales teams visibility into what products are in the quote.
Set deal properties from draft order tags
Add conditional logic that checks {{shopify.tags}} and sets custom HubSpot deal properties like "Deal Type," "Priority," or "Source" based on tags applied to the draft order in Shopify.
Notify sales team of high-value deals
Add a filter after deal creation that checks if {{shopify.total_price}} exceeds a threshold and sends Slack or email notifications to sales leadership when large opportunities are created.
Update deals when draft orders are completed
Create a companion workflow triggered by "Draft Order Completed" that updates the HubSpot deal stage to "Closed Won" and adds the order details, creating a complete sales cycle from quote to purchase.

Frequently asked questions

What happens if the same draft order creates multiple deals?
Each time a draft order is created, this workflow runs once and creates one deal. However, if a draft order is deleted and recreated, it would create a new deal. Consider adding logic to check for existing deals with the same draft order ID to prevent duplicates if this is a concern for your workflow.
Can I customize the deal name format?
Yes, edit the "Create Deal" step and modify the dealname field. The default format includes customer name, draft order number, email, and ID, but you can rearrange, add, or remove any of these elements to match your naming conventions.
Will this work for draft orders that convert to regular orders?
This workflow only triggers when draft orders are created. When a draft order is completed and converts to a regular order, you'll need a separate workflow (like the companion workflow suggested above) to update the deal stage in HubSpot to reflect the conversion.
What is a template?
Templates are pre-made workflows by our team of experts. Instead of building a workflow from scratch, these have all the steps needed to complete the task.
Can I personalize a template?
Yes! Every step can be customized to meet your exact requirements. Additionally, you can even add more steps and make it more sophisticated.
Are templates free?
Yes! Our entire library containing hundreds of templates are free to use and customize to your exact needs.

Ready to start converting Shopify draft orders to HubSpot deals automatically?

Join thousands who've automated their work and saved an average of 3.5 hours every week.

Start with this template — It's free
7-day free trial • 10 min setup • Cancel anytime