> For the complete documentation index, see [llms.txt](https://docs.samita.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.samita.io/sa-request-a-quote/quote-form/build-standard-form.md).

# Build a standard form

Build your quote form from a template — the questions you ask, where the form appears, and how it looks.

This walks through the whole form, in the order the editor presents it.

{% stepper %}
{% step %}

### Open the Customize editor

Go to **Quote settings**. On the **Request a Quote** page, find the **Customize** card and click **Customize**. The editor opens full screen.
{% endstep %}

{% step %}

### Open the Quote form tab

The editor has four tabs — **Button & widget**, **Quote form**, **Quote cart page** and **Success message**. Open **Quote form**.
{% endstep %}

{% step %}

### Start from a template

**Form template** shows the template your form is built on, with a short description of who it suits.

Click **Change**. A picker opens, headed **Choose a form template**, with the note "Select a starting point. The form fields will change only after you confirm." There are three:

<table><thead><tr><th width="210">Template</th><th>How the app describes it</th><th>Tagged</th></tr></thead><tbody><tr><td><strong>Simple quote form</strong></td><td>"Best for most stores. Includes login autofill, contact details, company, quantity, request message, and file upload."</td><td><strong>Fast setup</strong> · <strong>7 fields</strong></td></tr><tr><td><strong>Detailed quote form</strong></td><td>"For custom orders, delivery, installation, or project-based quotes. Includes login autofill guidance."</td><td><strong>More details</strong> · <strong>14 fields</strong></td></tr><tr><td><strong>B2B customer form</strong></td><td>"For wholesale or business buyers who need company, shipping, billing, and payment term information"</td><td><strong>B2B</strong></td></tr></tbody></table>

Pick the one whose description matches the work you quote for, then click **Use this template** to confirm. **Cancel** leaves your current form alone. Do this now, before you start editing fields.

<figure><img src="https://2993310686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIvNtDAMNVIdy5nl9kiOU%2Fuploads%2FaX16dwFnnWODL2ZwRbQx%2Fimage.png?alt=media&amp;token=dae67ce3-7ebc-4c9f-b52c-a651a7b2a784" alt=""><figcaption><p>Start from a template rather than an empty form.</p></figcaption></figure>

{% hint style="warning" %}
Picking a different template **replaces the current field list**. The sections and fields on screen are swapped for the new template's own, so any section you added, any field you renamed and anything you removed goes with them. Choose the template first, customise afterwards.
{% endhint %}
{% endstep %}

{% step %}

### Decide whether the form shows on product pages

Under **Product page form display** — "Show the quote form directly on product pages" — tick **Enable product page form display** if you want customers to fill the form in without leaving the product.

Ticking it reveals **Form position on product page**, a dropdown with three choices:

<table><thead><tr><th width="300">Position</th><th>Where the form lands</th></tr></thead><tbody><tr><td><strong>Below Add to Cart button</strong></td><td>High on the page, right under the buy buttons — the most visible option.</td></tr><tr><td><strong>Below product description</strong></td><td>After the sales copy, for a buyer who has read it.</td></tr><tr><td><strong>Below product information</strong></td><td>At the end of the product information block.</td></tr></tbody></table>

<figure><img src="https://2993310686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIvNtDAMNVIdy5nl9kiOU%2Fuploads%2FvJBMWxVKZRj7JYNiEbix%2Fimage.png?alt=media&amp;token=bd8bbd75-7367-40ff-854a-3d1ef3b98289" alt=""><figcaption></figcaption></figure>

**Toggle off this setting** if you would rather customers build a quote cart first.
{% endstep %}

{% step %}

### Work through the Form builder

The **Form builder** — "Manage sections, rows, fields, and validation with the visual form builder" — holds your questions, grouped into sections. Which sections are there depends on the template you just chose:

<table><thead><tr><th width="210">Template</th><th>Sections in the builder</th></tr></thead><tbody><tr><td><strong>Simple quote form</strong></td><td>Contact information · Extra info</td></tr><tr><td><strong>Detailed quote form</strong></td><td>Contact information · Shipping address · Extra info</td></tr><tr><td><strong>B2B customer form</strong></td><td>Contact information · Company information · Shipping address · Billing address · Payment terms · Extra info</td></tr></tbody></table>

Three things you can do to a section:

* **Switch it on or off.** Open the section's settings and tick or untick **Enable**. A disabled section is not shown to the customer, however many fields it holds.
* **Rename it.** The same settings panel has a **Label** — change it to whatever your buyers would call it.
* **Move it.** Drag the section by its handle to reorder the form.

Expand a section with its chevron to see the fields inside it, and use **Add element** to add another field to that section.

Contact and address fields are covered in [Customer information fields](/sa-request-a-quote/quote-form/customer-info-fields.md); company, billing and payment terms in [Build a B2B form](/sa-request-a-quote/quote-form/build-b2b-form.md).

{% hint style="info" %}
Greyed-out builder controls with a padlock line reading "🔐 This feature is available on …" mean the feature sits on a higher plan. Nothing is broken — open **Pricing plans** in the app to see what yours includes.
{% endhint %}
{% endstep %}

{% step %}

### Edit a field

Click any field in the builder and its own settings open, headed with the field's name and "Customize how this field appears on the form."

<table><thead><tr><th width="230">Setting</th><th>What it does</th></tr></thead><tbody><tr><td><strong>Label</strong></td><td>The wording the customer reads. This is the setting merchants change most.</td></tr><tr><td><strong>Hide label</strong></td><td>Keeps the field but drops the label above it.</td></tr><tr><td><strong>Placeholder</strong></td><td>The grey example text inside the empty box. Use it for the format you want — "e.g. 500 units" beats a blank box.</td></tr><tr><td><strong>Help text</strong></td><td>A line under the field, for anything too long for a placeholder.</td></tr><tr><td><strong>Type</strong></td><td>What kind of field it is, and what the customer can type into it.</td></tr><tr><td><strong>Required</strong></td><td>The form will not submit without it. Ask for as few required fields as you can live with.</td></tr><tr><td><strong>Options</strong> / <strong>Add option</strong></td><td>The choices on a select, radio group or checkbox group.</td></tr><tr><td><strong>Choose default value</strong></td><td>What the field starts with when the form loads.</td></tr><tr><td><strong>Limit characters</strong></td><td>Turns on <strong>Min characters</strong> and <strong>Max characters</strong>.</td></tr><tr><td><strong>Column width</strong></td><td>How much of the row the field takes, so two short fields can sit side by side.</td></tr><tr><td><strong>Custom HTML class</strong></td><td>A class name for your own CSS — see <a href="/sa-request-a-quote/settings/custom-css.md">custom-css.md</a>.</td></tr><tr><td><strong>Remove</strong></td><td>Deletes the field. It is on your own fields only: the built-in contact and address fields are protected and have no Remove.</td></tr></tbody></table>

<figure><img src="https://2993310686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIvNtDAMNVIdy5nl9kiOU%2Fuploads%2FYylhOnc58J37qe5Skr4G%2Fimage.png?alt=media&amp;token=2632cd04-0190-47e2-ab00-a699b077ec68" alt=""><figcaption><p>Click on each element and set up further (if needed)</p></figcaption></figure>

Finish with **Save changes** in the field panel, or **Cancel** to drop the edit.

{% hint style="warning" %}
**Limit characters** is validated as you type: **Min characters** and **Max characters** must each be a whole number of 0 or more, and the minimum cannot be greater than the maximum. Get it wrong and the editor blocks the save.
{% endhint %}
{% endstep %}

{% step %}

### Put the fields in the order you want them

Fields are reordered by dragging. Grab a field by the drag handle at the left-hand end of its row and drop it where you want it. Sections carry their own drag handle and move the same way.

Order matters more than it looks: a form that asks for a delivery postcode before it asks for a name reads like a database, not a conversation.

<figure><img src="https://2993310686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIvNtDAMNVIdy5nl9kiOU%2Fuploads%2FhltBM7fT6bs7B45CM5Vc%2Fimage.png?alt=media&amp;token=8c29a96e-b4bc-4db1-91da-dc62f50b0110" alt=""><figcaption><p>Drag and drop the element to change its position/order in the quote form</p></figcaption></figure>
{% endstep %}

{% step %}

### Add your own questions

**Extra info** starts with whatever your template puts there, and that differs by template. The **Simple quote form** arrives with **Quantity** and **Upload files**; the **Detailed quote form** with **Project detail** and **Delivery service**; the **B2B customer form** with **Message**.

Use **Add element** to add anything else you need — lead time, delivery date, project reference.

If a group of questions belongs together and doesn't fit an existing section, use **Add section** to create a new one.

{% hint style="danger" %}
One field is not optional: the form must contain an element whose **name** contains the word *email*. The app blocks the save and tells you so — *Add an element whose name contains "email". Otherwise, customers won't receive the quote email.* Without it, nothing you quote ever reaches the customer.
{% endhint %}

<figure><img src="https://2993310686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIvNtDAMNVIdy5nl9kiOU%2Fuploads%2FEV1UOYJTWDxJ08N4on1N%2Fimage.png?alt=media&amp;token=a1b87553-23fa-4e04-b3db-67568d145f8d" alt=""><figcaption><p>Click Add element to add more custom fields to the quote form</p></figcaption></figure>

<figure><img src="https://2993310686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIvNtDAMNVIdy5nl9kiOU%2Fuploads%2FzAgUP7pbnREWKSAr23Vt%2Fimage.png?alt=media&amp;token=f97b9542-f789-48f2-a5a8-86918b60a61e" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Style the form

**Style** shows the preset your form is using, with a **Change** button that opens the rest of them. The presets are **Material filled**, **Classic**, **Flat**, **Flat round**, **Classic round**, **Line**, **Line round** and **Material outlined** — each shown as a small picture of the input, so pick by eye rather than by name.

Beside it is **Match theme styling if possible**. Tick it and the form borrows your theme's own fonts and inputs instead, which is usually the shortest route to a form that does not look bolted on. The app notes that "Theme styling applies on your storefront and is not shown in this preview", so judge that one on the storefront, not here.

**Customize text** sets the **Font style**, the **Title bar font size** and the **Title bar font weight**. **Customize form color** sets the individual colours — **Title bar color**, **Title bar background**, **Color**, **Background color**, **Border color**, **Button color**, **Button background color**, **Button border** and **Quote popup primary color**.

<figure><img src="https://2993310686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIvNtDAMNVIdy5nl9kiOU%2Fuploads%2FP3KX5kVudAzA7feJCNvn%2Fimage.png?alt=media&amp;token=f82130b1-4254-4ee2-b600-7f6574a3f329" alt=""><figcaption></figcaption></figure>

Full detail: [Match your theme style](/sa-request-a-quote/quote-form/match-theme-style.md).
{% endstep %}

{% step %}

### Read the form back in Preview

The **Preview** panel sits beside the editor and redraws as you work. Two controls on its toolbar are worth using before you save:

* The customer-state button, which switches the preview between **Guest** and **Logged-in** — they see different forms.
* The desktop / mobile toggle, because a long form is a different thing on a phone.
  {% endstep %}

{% step %}

### Save and test it yourself

Change anything and Shopify's save bar appears with **Save** and **Discard changes**. Click **Save**. If a field still has a validation error the editor refuses and says "Please resolve validation errors before saving." — fix the field it names and save again.

Then go to your storefront and submit a real test request. Check it arrives in **Quote list** with everything you expected.

<figure><img src="https://2993310686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIvNtDAMNVIdy5nl9kiOU%2Fuploads%2Fgit-blob-ef137568cadb4c0f6bc373a3c56cc21055ebee52%2Fscreenshot-storefront-quote-cart-page.png?alt=media" alt="Storefront Request a Quote page with the Products selection, Contact information and Review information steps above the Quote Cart"><figcaption><p>The form on the storefront, with <strong>Quote form appearance</strong> set to <strong>Multiple step</strong>.</p></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="info" %}
The template sets your starting point, not your ceiling. Anything the template brings in can be edited or removed, and anything it leaves out can be added with **Add element** or **Add section**. Just remember that switching template later is a restart rather than an edit — it replaces the field list you have built.
{% endhint %}

{% hint style="warning" %}
Always submit one test request yourself before going live. It's the only way to confirm the fields, the email and the quote record all line up.
{% endhint %}

## Where the rest of the settings live

The **Quote form** tab is only the questions. Several things merchants come looking for here are on the other tabs of the same editor:

<table><thead><tr><th width="250">What you want</th><th width="180">Tab</th><th>What you will find</th></tr></thead><tbody><tr><td>The form as one page or as steps</td><td><strong>Quote cart page</strong></td><td><strong>Quote form appearance</strong> — "Controls how the quote form looks on the quote cart page" — set to <strong>Multiple step</strong> or <strong>Single page</strong>.</td></tr><tr><td>What the product rows show</td><td><strong>Quote cart page</strong></td><td><strong>Product list columns</strong> — "The product details shown as columns in the customer's quote cart" — see <a href="/sa-request-a-quote/quote-form/product-group.md">product-group.md</a>.</td></tr><tr><td>Letting customers group products</td><td><strong>Quote cart page</strong></td><td><strong>Enable Quote Sections</strong> — "Lets customers group the products in their quote cart into named sections" — see <a href="/sa-request-a-quote/quote-form/product-group.md">product-group.md</a>.</td></tr><tr><td>The button's wording and placement</td><td><strong>Button &#x26; widget</strong></td><td>Button text, click action, button position and who can see it.</td></tr><tr><td>What happens after submitting</td><td><strong>Success message</strong></td><td>The thank-you wording and <strong>Redirect to custom URL</strong>.</td></tr></tbody></table>

{% hint style="info" %}
The editor warns you about this itself if you try to move between tabs mid-edit: "Save your changes before switching tabs to avoid losing them."
{% endhint %}

## Next steps

* [Customer information fields](/sa-request-a-quote/quote-form/customer-info-fields.md) — fine-tune what you ask for
* [Quoted product group](/sa-request-a-quote/quote-form/product-group.md) — product columns and quote sections on the quote cart page
* [Add reCAPTCHA](/sa-request-a-quote/quote-form/recaptcha.md) — protect the form from spam
* [Build a B2B form](/sa-request-a-quote/quote-form/build-b2b-form.md) — the template for trade buyers


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.samita.io/sa-request-a-quote/quote-form/build-standard-form.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
