Hold pre-orders as on-hold orders before a launch
Every reservation becomes an on-hold WooCommerce order with the chosen variation and quantity, so launch day starts with a real queue.
New Submission on your reservation form
Create an on-hold order in WooCommerce for the upcoming product
One-directional. A submission triggers the action — nothing is written back into your form.
Counting interest in a spreadsheet tells you how many people clicked. An on-hold order tells you what they picked, in which size, and where it has to ship. This flow creates that order while the product is still out of stock.
Brands running a drop or a restock use it to size the production run. When stock lands, the queue is already in WooCommerce in the order it arrived, and working through it is the same job as any other batch.
Setting it up
- 1
Publish the reservation form and offer Product or Variant as a fixed list of variations you can actually make. Free text here cannot be matched to anything in the catalogue.
- 2
Create the upcoming product in WooCommerce first, published but out of stock with backorders allowed. An order cannot hold a line for a product that does not exist yet.
- 3
In Zapier, select formformform, the New Submission trigger, and your reservation form.
- 4
Add the WooCommerce Create Order action, connect the store, and set the order status to on-hold so no payment is expected and no fulfilment email goes out.
- 5
Map Product or Variant to the line item, matching the variation name exactly as WooCommerce spells it, and Quantity to the line quantity.
- 6
Copy Full Name, Email Address and Shipping Address into both the billing and shipping blocks, so the order can be picked at launch without chasing the customer for an address.
- 7
Send Special Requests to the customer note on the order, which is the field the packing team reads before the parcel is made up.
- 8
Reserve one of each variation as a test, check the orders appear on-hold with the correct lines, then turn the Zap on.
What maps where
Using the Pre-Order Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | WooCommerce |
|---|---|
| Full Name | Billing and shipping first and last name |
| Email Address | Billing email on the order |
| Shipping Address | Shipping address, city and postcode |
| Product or Variant | Order line item, matched to the variation |
| Quantity | Line item quantity |
| Special Requests | Customer note on the order |
Variations worth knowing
Set the stock quantity on the upcoming product to the size of the production run and switch backorders off. Once the count is reached the Create Order step fails rather than promising stock you cannot make, and you can close the form or add a waiting-list branch.
Read the Notifications answer in a Zapier path and add a second action sending only the people who opted in to your email tool. The order is still created either way, so a customer who wants no marketing keeps their place in the queue.
If something isn't arriving
Variation matching is exact. Check the option text on the form against the variation attributes on the product page, including capitals and hyphens, or map the variation ID instead of the name so a wording change on the form cannot break it.
WooCommerce sends its own on-hold email, and the default wording reads like an unpaid invoice. Rewrite that template under WooCommerce, Settings, Emails to explain the reservation, or switch the action to pending payment and send your own confirmation from the Zap.
Frequently asked questions
Can we take a deposit when someone reserves?
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.
How do we turn the queue into paid orders at launch?
Filter the orders list by on-hold status and sort by date to get the reservations in the order they arrived. Change each to pending payment and send the customer invoice, or take payment however you already do it for phone orders.
If the launch date moves, does the reservation update?
No. Nothing flows back from WooCommerce into the form or the submission, so the reservation stays exactly as it was made. Email the affected customers from the store, and update the copy on the form itself so new reservations show the new date.
Related automations
- 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.
- Draft a wholesale order from a bulk buying enquiry
Each wholesale request lands as a pending WooCommerce order with the requested line items and the buyer's billing details attached.
- Issue a single-use discount code to survey entrants
A completed feedback survey generates a unique WooCommerce coupon with a fixed discount and a one-use limit, tied to the shopper's email.
- Log a return request against the customer's record
Each return request finds or creates the customer in WooCommerce and records the reason and order number as a note staff can act on.
- Turn a loyalty signup into a store customer account
Each loyalty signup creates a WooCommerce customer with billing name, email, phone and mailing address already filled in.
- 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.
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