WooCommerce logo

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.

When this happens

New Submission on your made-to-order build request form

Do this

Create a product in WooCommerce with title, description, SKU and a placeholder price

One-directional. A submission triggers the action — nothing is written back into your form.

Made-to-order shops type the same item twice: once when the build is agreed, again when it goes on sale. This flow handles the second half, creating the catalogue entry as a draft the moment the request comes in.

Workshops and small manufacturers selling repeat commissions get the most from it. The draft carries the wording the customer actually used, so whoever publishes it adds photos and a price instead of reconstructing the specification from an email thread.

Setting it up

  1. 1

    Publish the build request form and make Product Code / Part Number required. It becomes the product SKU, and WooCommerce rejects a duplicate outright.

  2. 2

    Agree the rule internally: anything this Zap creates stays unpublished until a person has added images and set a price. Nothing should reach the shop unattended.

  3. 3

    In Zapier, choose formformform, select the New Submission trigger, and pick the build request form.

  4. 4

    Add the WooCommerce Create Product action, connect the store, and set Status to draft and catalogue visibility to hidden in the action itself.

  5. 5

    Map Product Name to the product title and Product Code / Part Number to the SKU input under inventory.

  6. 6

    Send Product Specifications to the long description and Special Instructions to the short description, so the listing starts from the customer's own wording rather than a blank editor.

  7. 7

    Set the regular price to 0 in the action and treat it as a placeholder. A draft cannot be bought, and pricing a commission is a decision someone has to make by hand.

  8. 8

    Run a test submission, open WooCommerce, Products, confirm the draft carries the SKU and the specification, then switch the Zap on.

What maps where

Using the Production Work Order as the starting point. These are its real fields — swap in your own and the mapping works the same way.

Form fieldWooCommerce
Product NameProduct title on the draft product
Product Code / Part NumberSKU under the product's inventory tab
Product SpecificationsLong product description
Special InstructionsShort description shown beside the price
Quantity RequiredStock quantity, when the build is a limited run
Requestor EmailProduct meta recording who asked for the build

Variations worth knowing

Tag the rush builds on sight

Use a Zapier path on "Rush Order?" and give the yes branch its own Create Product action that adds a rush tag. Tagged drafts can be filtered in the products list, so the person who publishes listings works through the urgent ones before the rest of the queue.

Group builds under the customer they belong to

Map Customer or Sales Order Number into a private product meta field, or prefix the SKU with it in a Formatter step. Repeat commissions for the same account then sort together in wp-admin, which matters when the same part is built to different specifications.

If something isn't arriving

The Zap stops with an invalid or duplicate SKU error.

WooCommerce enforces unique SKUs across the catalogue, including drafts and trashed products. Search the part number in the products list with the trash filter on. If the build genuinely is a repeat, add a suffix in a Formatter step before the SKU is mapped.

The description arrives as one unbroken paragraph.

Product descriptions are stored as HTML, and the line breaks typed into a long answer are not converted for you. Insert a Zapier Formatter, Text, Replace step that swaps line breaks for paragraph tags before mapping the value into the description.

Frequently asked questions

Does the new product go live in the shop automatically?

No, and that is deliberate. The action sets status to draft, so the item exists in wp-admin but is not visible or purchasable. Someone still has to add photography, set the real price and press publish before a customer can see it.

Can the customer set the price from the form?

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.

What if someone requests a build that already exists?

You get a second draft, or a duplicate SKU error if the part number is identical. Add a Find Product step matching on SKU, and let the path continue only when nothing is found, so repeat requests are routed to a person instead.

Related automations

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