Draft an order from a custom quote request
A quote request lands in Shopify as a draft order with the customer attached and the brief in the note, waiting to be priced.
New submission on your quote request form
Create a draft order in Shopify with the requested items and quantities
One-directional. A submission triggers the action — nothing is written back into your form.
Made-to-order work never has a price on the storefront. The quote request form takes the brief, and this flow turns it into a Shopify draft order with the customer attached and the description in the note, so pricing starts from a record rather than an email thread.
Furniture makers, sign shops and anyone quoting bespoke work use it to keep quoting inside the admin they already invoice from. The draft sits unsent until a person puts a real number on the line item.
Setting it up
- 1
Publish the quote request form with Service Type as a choice question listing the pieces you actually make, so each answer can become a line item title without anyone editing it.
- 2
Decide how unpriced work enters Shopify. The Create Draft Order action needs a price on a custom line item, so agree on 0.00 as the placeholder your maker overwrites before sending.
- 3
In Zapier, set formformform as the trigger app, choose New Submission, connect the account and select the quote form, then load a real enquiry as test data.
- 4
Add the Shopify Create Draft Order action, connect the store you invoice from, and map Email Address to the draft's customer email so it attaches to an existing buyer where one exists.
- 5
Build the custom line item: Service Type as the title, a quantity of 1, and the placeholder price you agreed in step two.
- 6
Map Project Description into the draft order note so the brief is on the record, and add a quote-request tag so all of them can be filtered out of the Drafts list.
- 7
Map Project Timeline and Estimated Budget into note attributes, giving the person pricing the job the two constraints they will ask about first.
- 8
Test with a real enquiry, open the draft in Shopify, set the true price and send the invoice by hand once, then turn the Zap on.
What maps where
Using the Quote Request Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | Shopify |
|---|---|
| Full Name | Customer first and last name on the draft order |
| Email Address | Draft order email, used when you send the invoice |
| Service Type | Title of the custom line item |
| Project Description | Draft order note |
| Project Timeline | Note attribute on the draft order |
| Estimated Budget | Note attribute the quote is priced against |
Variations worth knowing
If you quote in multiples — chairs, panels, printed runs — add a quantity question to the form and map it to the line item quantity in place of the hard-coded 1. The draft then carries the shape of the job, and the price per unit is the only thing left for a person to decide.
Use Zapier Paths and branch on whether Company or Organization was filled in. Business enquiries get a trade tag on the draft and a longer lead time in the note; private enquiries get the standard one. Two saved filters in the Drafts list then split the work between whoever prices each kind.
If something isn't arriving
Shopify needs a valid email to attach or create a buyer. If Email Address is optional on the form, or somebody mistypes it, the draft is created orphaned and the invoice has nowhere to go. Make the email question required and re-run the failed Zaps from the Zapier history.
That is the placeholder price behaving as designed — the real number is set when the quote is priced. Sort the Drafts list by the quote-request tag rather than by total, and treat a draft that still reads 0.00 after a few days as an unanswered enquiry.
Frequently asked questions
Can the form take a deposit before the quote is drafted?
Yes. Add products and priced options to the form, then collect payment through secure hosted checkout with Stripe, PayPal, or Square. Payment status is tracked alongside the response.
Does the customer see the draft order straight away?
Not until you send it. A draft sits in your admin, invisible on the storefront, until somebody reviews the price and sends the invoice email from Shopify. The person who filled in the form hears nothing automatically, so say on your confirmation screen when to expect a reply.
What if the quote is for a product I already stock?
Use a product line item rather than a custom one. Map the Service Type answer to a variant with a Zapier lookup table, and the draft arrives carrying the catalogue price instead of a placeholder somebody has to remember to overwrite.
Related automations
- Add a wholesale lead to your Shopify customers
Each wholesale application creates a Shopify customer with the business name, buyer contact and address already filled in.
- Capture pre-orders before a product drop
Each pre-order becomes a draft order tagged with the drop name, so demand is countable in Shopify before the run is committed.
- Grow your marketing list with tagged customers
Each signup becomes a Shopify customer tagged newsletter, so the segment your campaigns send to stays current without an import.
- Route a returns request to a tagged customer record
Each returns request tags the matching Shopify customer returns-open and logs the order number and complaint in their note.
- Tag VIP and loyalty signups
Every membership signup creates a Shopify customer carrying the VIP tag your early-access segments and discounts are built on.
- Add a made-to-order build to the catalogue as a draft
Every build request creates a draft WooCommerce product carrying the item name, its part number as SKU and the full specification.
Build the form first
The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.
Start free