Skip to main content

Create your first sales form

Forms are the primary public intake path for orders. A form is a hosted, no-auth-required page that turns visitor submissions into structured orders in your queue.

Create the form

  1. Go to Products.
  2. Open your first product.
  3. Open the Channels tab, then Forms.
  4. Click Create form.
Each form has:
  • A public key (used in the hosted URL)
  • A name
  • A status (active/inactive)
  • A schema version
  • An Offers section — the price/quantity choices a customer can pick (this is what older material may call “package options”)
  • An Options section — extra choices you let the customer make, like a fragrance or color, separate from the offer itself

Required customer fields

Every form collects these by default:
  • Full name
  • Phone number
  • Optional WhatsApp phone
  • State
  • Address
  • Offer selection
Phone numbers are normalized on submission. Contacts are upserted by org + normalized phone, so returning customers are recognized.

Publish and share

  1. Save and set the form to active.
  2. Copy the public form URL (hosted at /public/forms/[publicKey]).
  3. Copy the API submit URL if you are integrating your own landing page.
  4. Copy the embed snippet if you are embedding the form on a WordPress or custom site.
The public form route renders without auth. Anyone with the link can submit. If you’re connecting a form builder like Elementor instead of using EcommOS’s hosted form, see Connect other systems with Channels for the webhook path.

Test one submission

Before going live, run one test submission:
  1. Open the form URL in another browser profile or device.
  2. Submit sample customer details and pick your offer.
  3. Return to Orders in the app.
  4. Confirm a new order appears with:
    • A sequential order number (per product)
    • The customer and contact snapshot
    • The selected offer as the order’s package
    • An order.created event in the timeline
    • Round-robin assignment to an eligible Sales rep (if one exists with product scope)
For non-production testing, use /tools/test-submit on staging to fire controlled submissions without going through the public form UI.

What good first forms look like

  • Short: name, phone, address, offer. Nothing else.
  • One product, one or two offers.
  • WhatsApp field included if your team contacts customers on WhatsApp.
  • State field required so dispatch routing works.
Avoid adding custom fields until your team has worked at least 20 real orders. Most custom fields are noise on day one.

What’s next