> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inflection.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Inflection Forms

> Collect prospect or customer responses with native Inflection forms.

Inflection's native form builder lets you capture lead and contact data directly from your website — with automatic field mapping and built-in attribution tracking. Create conversion-optimized forms in minutes using your existing contact fields, then connect them to journeys for instant automated follow-up.

<Info>
  Inflection also supports a Forms API (also called custom forms) for more advanced integration scenarios.
</Info>

## Prerequisites

* Access to Inflection with permission to create forms
* Contact fields configured in your Inflection account (navigate to **Connections** > **Contact Fields** to review)
* For first-touch attribution capture: Inflection website tracking script installed on your site

<Info>
  Contact fields with sync preference set to **Always use Salesforce** will not appear in form field mapping lists, as these fields can only be updated by Salesforce. To use these fields in forms, update the sync preference in **Contact Fields**.
</Info>

## Create a New Form

1. Navigate to **Forms** in the left sidebar.
2. Click **New Form**. You can also create a new form directly from the **Folders** tab without navigating away.
3. Enter an internal name in the top-left field (e.g., `webinar_march`). This name is for internal reference only and will not appear on your website.
4. Enter a form title. This title is displayed to visitors on the rendered form.

## Add and Configure Form Fields

1. Locate the contact field list on the left panel of the form builder.
2. Drag and drop fields from the left panel onto the form canvas. The form preview updates in real time on the right.

<Info>
  **Email** is required on every form and cannot be removed.
</Info>

The following options are available for each field:

* **Label**: Change the display label (e.g., rename **First Name** to **Name**). The field mapping indicator below the label confirms which contact field the data maps to.
* **Placeholder**: Set placeholder text displayed inside the input.
* **Width**: Set to **Full** or **Half**. Setting two adjacent fields to half-width places them side by side in a two-column layout.
* **Required**: Toggle to make the field mandatory for submission.
* **URL Pre-fill**: When enabled, the field auto-populates if a matching query parameter is present in the page URL (e.g., `?first_name=John`). Toggle off to opt out.
* **Mapping rule**: Control how submitted values interact with existing contact data. Choose **Overwrite** to always update the contact field with the submitted value, or **Update only if empty** to only populate the field when no value exists on the contact record.

<Info>
  Use **Update only if empty** to protect existing contact data — for example, to avoid overwriting a known lead source with a later form submission.
</Info>

### Add Custom Fields

1. Click **Create Custom Field** below the contact field list.
2. Enter a field name (e.g., **City**) and select a field type (e.g., **Text**).
3. The custom field appears on the canvas. To store its value in a contact property, select a target field from the **Map to** dropdown.

### Add Hidden Fields

1. Click **Add Hidden Field**.
2. Enter a key and a static value (e.g., Key: `webinar_id`, Value: `1234`).
3. Hidden fields are not visible to form visitors but their values are submitted with the form data. Optionally, map hidden fields to a contact property using the **Map to** dropdown.

### Add Custom URL Parameters

1. Click **Add Custom URL Parameter**.
2. Enter the parameter name (e.g., `first_page`).
3. When the form loads on a page with that parameter in the URL, the value is captured and can be mapped to a contact field.

### URL Attribution Capture

Forms automatically capture the following attribution data when the Inflection tracking script is installed on your website:

* First-touch and last-touch UTM parameters (`utm_source`, `utm_medium`, `utm_campaign`, etc.)
* Referrer URL
* Session ID

Map these values to contact fields using the dropdowns in the **URL Query Params** section.

## Style the Form

1. Click the **Form Styling** tab in the form builder (lower right).
2. Configure the following options:
   * **Label display**: Choose between **Label and Placeholder** or **Placeholder Only** (labels move inside input fields).
   * **Font**: Select a font family for the form.
   * **Background**: Choose a solid color or select **Transparent** to show the host page's background through the form — useful when embedding on pages with a non-white background.
   * **Text color**: Set the label and input text color.
   * **Button color**: Set the submit button background color.
   * **Button text color**: Set the submit button text color.
   * **Button label**: Customize the submit button text (default: Submit).
   * **Corner radius**: Adjust the border radius of input fields and buttons.

## Set Up Validation and Tracking

1. Click the **Validation & Tracking** tab (lower right).
2. **Block personal emails**: Toggle on to reject submissions from personal email domains (Gmail, Outlook, Yahoo, etc.).
3. **Consent text**: Enter consent language (e.g., "By submitting this form, you agree to our Privacy Policy"). Add a link URL for the privacy policy page.
4. **Consent checkbox**: Toggle on to display a checkbox that visitors must select before submitting. Map the checkbox to a boolean contact field (e.g., Opt-in) to track opt-in status — when the checkbox is checked on submit, the mapped field is set to true.
5. **reCAPTCHA**: Toggle on to add bot protection to your form. When enabled, Google's reCAPTCHA challenge is presented to visitors identified as suspicious before they can submit.

<Info>
  Google reCAPTCHA is risk-based - the challenge does not appear on every submission. Google determines when to show it based on visitor behavior signals, so most legitimate visitors will submit without interruption.
</Info>

## Configure the Thank You Message

1. Click **Save and Continue** to proceed to Step 2.
2. Choose one of the following:
   * **Thank you message**: Display a default or custom confirmation message after submission.
   * **Redirect URL**: Redirect visitors to a custom thank you page after submission. Enter the full page URL.
3. Click **Save and Continue** to generate the embed code.

## Embed Your Form

1. After saving the thank you message, the embed code is displayed.
2. Click **Copy** to copy the embed script.
3. Paste the script into the HTML of the page on your website where you want the form to appear. The form renders automatically.

<Info>
  Any changes you make to the form in Inflection reflect immediately on your website — no need to update the embed code.
</Info>

## View Form Submissions

1. Navigate to **Forms** and click on your form to open it.
2. Open the **Submissions** tab to view all form submissions.
3. Each submission displays the captured field values, hidden fields, and UTM attribution data.

<Info>
  Form submission data for mapped contact fields will update the contact record according to the mapping rule set for each field (Overwrite or Update only if empty).
</Info>

<Info>
  Each form submission creates a marketing activity entry on the contact's record. Use this activity as a journey trigger or in dynamic list filters to automate follow-up based on form submissions.
</Info>

## Edit an Existing Form

1. Navigate to **Forms** in the left sidebar.
2. Locate the form you want to edit and click **Edit** (or click the form name).
3. Make changes to fields, styling, or validation settings.
4. Click **Save and Continue** through each step. Changes take effect immediately on any page where the form is embedded.
