Enquiry form template

    What they are asking about, how they would like an answer, and the question itself.

    Reviewed by Ritu Fadadu · Last reviewed

    Preview and code

    Preview

    How should we get back to you?

    Code — replace YOUR_ENDPOINT_ID with your form's ID

    <style>
      .fb-form { display: grid; gap: 1rem; max-width: 36rem; }
      .fb-field { display: flex; flex-direction: column; gap: 0.375rem; }
      .fb-fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
      .fb-label { font-weight: 600; }
      .fb-optional { font-weight: 400; color: #6b7280; }
      .fb-help { margin: 0; font-size: 0.875rem; color: #6b7280; }
      .fb-input { box-sizing: border-box; width: 100%; padding: 0.625rem 0.75rem; border: 1px solid #d1d5db; border-radius: 0.5rem; background: #fff; color: #111827; font: inherit; }
      .fb-input:focus { border-color: #2563eb; outline: 2px solid #2563eb; outline-offset: 1px; }
      .fb-options { display: flex; flex-direction: column; gap: 0.5rem; }
      .fb-option { display: flex; align-items: center; gap: 0.5rem; }
      .fb-check { width: 1.125rem; height: 1.125rem; margin: 0; accent-color: #2563eb; }
      .fb-button { justify-self: start; min-height: 44px; padding: 0.625rem 1.25rem; border: 0; border-radius: 0.5rem; background: #2563eb; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
      .fb-button:hover { background: #1d4ed8; }
      .fb-button:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
      .fb-button:disabled { opacity: 0.6; cursor: wait; }
      .fb-status { margin: 0; min-height: 1.5em; }
      @media (min-width: 640px) {
        .fb-form { grid-template-columns: 1fr 1fr; }
        .fb-field, .fb-button, .fb-status { grid-column: 1 / -1; }
        .fb-field--half { grid-column: auto; }
      }
    </style>
    
    <form id="fb-form" class="fb-form" action="https://formboost.app/f/YOUR_ENDPOINT_ID" method="POST">
      <div class="fb-field fb-field--half">
        <label for="fb-name" class="fb-label">Name</label>
        <input type="text" id="fb-name" name="name" class="fb-input" required autocomplete="name">
      </div>
      <div class="fb-field fb-field--half">
        <label for="fb-email" class="fb-label">Email</label>
        <input type="email" id="fb-email" name="email" class="fb-input" required autocomplete="email">
      </div>
      <div class="fb-field fb-field--half">
        <label for="fb-phone" class="fb-label">Phone <span class="fb-optional">(optional)</span></label>
        <input type="tel" id="fb-phone" name="phone" class="fb-input" autocomplete="tel">
      </div>
      <div class="fb-field fb-field--half">
        <label for="fb-company" class="fb-label">
          Company
          <span class="fb-optional">(optional)</span>
        </label>
        <input type="text" id="fb-company" name="company" class="fb-input" autocomplete="organization">
      </div>
      <div class="fb-field">
        <label for="fb-enquiry_type" class="fb-label">Type of enquiry</label>
        <select id="fb-enquiry_type" name="enquiry_type" class="fb-input" required>
          <option value="">Choose…</option>
          <option value="product-information">Product information</option>
          <option value="pricing">Pricing</option>
          <option value="availability">Availability</option>
          <option value="partnership">Partnership</option>
          <option value="other">Other</option>
        </select>
      </div>
      <div class="fb-field">
        <label for="fb-interest" class="fb-label">
          Product or service you are asking about
          <span class="fb-optional">(optional)</span>
        </label>
        <input type="text" id="fb-interest" name="interest" class="fb-input">
      </div>
      <fieldset class="fb-field fb-fieldset">
        <legend class="fb-label">How should we get back to you?</legend>
        <div class="fb-options">
          <label class="fb-option">
            <input type="radio" name="contact_method" value="email" class="fb-check" required>
            <span>Email</span>
          </label>
          <label class="fb-option">
            <input type="radio" name="contact_method" value="phone" class="fb-check" required>
            <span>Phone</span>
          </label>
        </div>
      </fieldset>
      <div class="fb-field">
        <label for="fb-message" class="fb-label">Your enquiry</label>
        <textarea id="fb-message" name="message" class="fb-input" required rows="5"></textarea>
      </div>
      <input type="hidden" name="page" value="/pricing">
      <!-- Honeypot: keep it hidden. People never see it; bots fill it in and get flagged as spam. -->
      <div
        aria-hidden="true"
        style="position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden"
      >
        <label for="fb-honey">Leave this field empty</label>
        <input type="text" id="fb-honey" name="_honey" tabindex="-1" autocomplete="off">
      </div>
      <input type="hidden" name="_subject" value="New enquiry">
      <button type="submit" class="fb-button">Send enquiry</button>
    </form>
    

    About this template

    An enquiry is a contact message from someone who is closer to buying. This template asks what kind of enquiry it is and which product or service it concerns, so the person who picks it up can answer properly the first time instead of writing back to ask.

    It also asks how the enquirer would like to hear back. Some people want a phone call, most want an email; asking takes one tap, and the phone field is optional so nobody is forced to give a number they did not want to share.

    Use it on product, pricing and service pages, where questions are specific. A hidden page field records which page the enquiry came from, so you can see which pages generate the most interest — and which leave people with questions.

    Fields in this template

    FieldNameTypeRequiredWhy it is there
    NamenameShort textYesRequired.
    EmailemailEmailYesRequired, named email for Auto Reply and the reply-to.
    PhonephonePhoneNoOptional — needed only if they choose a call back.
    CompanycompanyShort textNoOptional context for business enquiries.
    Type of enquiryenquiry_typeDropdownYesRequired dropdown, the first thing you triage on.
    Product or service you are asking aboutinterestShort textNoOptional free text, so the enquiry names the exact product or service.
    How should we get back to you?contact_methodSingle choiceYesRequired. Tells you whether to email or call.
    Your enquirymessageLong textYesRequired. The question itself.
    (hidden)pageHidden valueNoHidden. Set it per page to see where enquiries come from.

    Each name becomes a column in your dashboard and a row in the notification email. The hidden _honey field is the honeypot; _subject sets the email's subject line. Both are reserved fields and never appear in the field table.

    Make it yours

    • Turn the product field into a dropdown if your catalogue is short — answers then group cleanly in the CSV export.
    • Fill page from JavaScript with location.pathname if the form sits in a shared layout.
    • Make the phone field required only if you genuinely call every enquiry back.

    Where the submissions go

    • Each enquiry is stored and emailed to you, with its type and page in the field table.
    • A Slack or Telegram message per enquiry gets it in front of whoever answers fastest, on any plan.
    • On Starter and above, send enquiries into a CRM with a webhook or Zapier, and acknowledge each one with Auto Reply.

    Lead Generation: plans, destinations and a worked setup →

    Before you publish it

    1. Create a form in the Formboost dashboard and replace YOUR_ENDPOINT_ID with its ID.
    2. Pick one variant: HTML posts and reloads, HTML + JS and React send JSON with fetch() and stay on the page.
    3. For the plain HTML version, add a hidden _redirect with an https:// thank-you page on the same site as the form — anything else falls back to Formboost's page.
    4. Submit it once from the live page and check the submission in your dashboard. Every request is acknowledged, so the dashboard is the real test. Troubleshooting covers the rest.

    More form templates

    Put the enquiry form live

    Free forever: 500 submissions a month across 10 forms, no card.