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

# Use dynamic data in a form

> Fetch data from tools like Airtable, Notion or any service with an API. Display dynamic content in your form and use it to hide, validate, and pre-fill fields.

export const SupportBanner = () => {
  const titleId = React.useId();
  return <div className="support-banner" role="region" aria-labelledby={titleId}>
      <span className="support-banner__ring support-banner__ring--outer" aria-hidden="true" />
      <span className="support-banner__ring support-banner__ring--middle" aria-hidden="true" />
      <span className="support-banner__ring support-banner__ring--inner" aria-hidden="true" />
      <span className="support-banner__ring support-banner__ring--center" aria-hidden="true" />

      <div className="support-banner__content">
        <div className="support-banner__title" id={titleId} role="heading" aria-level="2">Still have questions?</div>

        <div className="support-banner__copy">
          <span className="support-banner__line">Our team is happy to help. Start a live chat using the</span>
          <span className="support-banner__line">
            chat bubble <span className="support-banner__chat-icon" aria-hidden="true" /> in the bottom right, or email us at
          </span>
          <span className="support-banner__line">
            <a href="mailto:support@fillout.com">support{'@'}fillout.com</a>
          </span>
        </div>

        <a className="support-banner__cta" href="mailto:support@fillout.com">Contact us</a>
      </div>
    </div>;
};

## Get the data you need

To display dynamic data, first pull the data from Airtable, Notion, or another source into your form. There are several options for doing this, depending on your use case:

* [Login page](/help/login-page) - gives you access to the full user record of whoever logs in
* [URL parameters](/help/url-parameters) - to pass any arbitrary information to your form (e.g., from Stacker, [Softr](/help/embed-fillout-softr), or other portals)
* **Record picker** field type - to access any field in the record that is chosen. (You can also [pre-fill record pickers](https://www.fillout.com/help/record-pickers#how-to-pre-fill-a-record-picker).)
* [Pre-fetch records](/help/pre-fetch-data) - to fetch information from Airtable or Notion before your form loads

## Reference the data in your form

In Fillout, you can **display data almost anywhere**: in question labels, alerts, logic for hiding or validating questions, and more. In this example, we'll use a Text field type, which lets us display uneditable, formatted text.

<Steps>
  <Step title="Connect your Fillout form to Airtable">
    Follow the steps [here](https://www.fillout.com/help/airtable#how-it-works). Once connected, Airtable [fields will automatically show up](https://www.fillout.com/help/additional-integration-mappings#automatic-field-mapping) in the left-hand panel. You can also [manually map](https://www.fillout.com/help/additional-integration-mappings#how-to-map-fields-manually) existing and new fields.

    <img src="https://mintcdn.com/fillout-005a867b/Mmkz4YTYUSJnN_21/images/Screenshot2026-02-05at4.44.30PM.png?fit=max&auto=format&n=Mmkz4YTYUSJnN_21&q=85&s=ce0e290515f25bd8ef04f673b38fd37b" alt="Screenshot 2026 02 05 At 4 44 30 PM" title="Screenshot 2026 02 05 At 4 44 30 PM" style={{ width:"34%" }} width="622" height="810" data-path="images/Screenshot2026-02-05at4.44.30PM.png" />
  </Step>

  <Step title="Add a Heading field">
    First, drag and drop the Heading field from the left-hand panel to your form. In this example, we have a record picker (Choose a manufacturer) that we want to display more information from.

    <img src="https://mintcdn.com/fillout-005a867b/R7rMGlxIdHBwDsJR/images/Screenshot2025-02-13at2.38.50PM.png?fit=max&auto=format&n=R7rMGlxIdHBwDsJR&q=85&s=e79e136fdcbd5ec7cd5e5ba7fc723129" alt="Screenshot of the Fillout form creation page" style={{ width:"81%" }} width="2005" height="663" data-path="images/Screenshot2025-02-13at2.38.50PM.png" />
  </Step>

  <Step title="Reference a field">
    Type **@** in the heading field to open a menu for picking references to previous form inputs. In the reference picker, click the field you want to display.

    <img src="https://mintcdn.com/fillout-005a867b/R7rMGlxIdHBwDsJR/images/Screenshot2025-02-13at2.42.15PM.png?fit=max&auto=format&n=R7rMGlxIdHBwDsJR&q=85&s=c5d5ab47424a36f8a5105da496949d57" alt="Screenshot of the Fillout form creation page" style={{ width:"81%" }} width="1300" height="898" data-path="images/Screenshot2025-02-13at2.42.15PM.png" />
  </Step>

  <Step title="Publish and share">
    That's it! The blue bubbles in the center indicate the fields we are referencing. This text will now automatically change whenever you pick a new value in the record picker.

    <CardGroup>
      <img src="https://mintcdn.com/fillout-005a867b/bR7uzjTGxnYiCLB1/images/publish-form.png?fit=max&auto=format&n=bR7uzjTGxnYiCLB1&q=85&s=f5aebb843a773ddb4ffd5b3298b35abf" alt="Screenshot of the Fillout form creation page" width="1082" height="284" data-path="images/publish-form.png" />

      <img src="https://mintcdn.com/fillout-005a867b/RwMXs5bjvDzocb2x/images/sfml.png?fit=max&auto=format&n=RwMXs5bjvDzocb2x&q=85&s=19e1fc1c71e09081c74688d4b40cdae9" alt="Screenshot of the Fillout form creation page" width="1340" height="668" data-path="images/sfml.png" />
    </CardGroup>

    Test your form in `Preview` mode to see it in action. `Publish` it once all is set.
  </Step>
</Steps>

## Other places to reference data

You can also reference the result of the integration step in [show/hide](/help/conditional-hiding) and [validation](/help/input-validation) conditions to customize your form and prevent input errors. Click a field's <Icon icon="gear-complex" iconType="solid" /> to open the right-hand panel.

For example, let's show a warning when a field is missing in a record.

<img src="https://mintcdn.com/fillout-005a867b/R7rMGlxIdHBwDsJR/images/Screenshot2025-02-13at2.46.55PM.png?fit=max&auto=format&n=R7rMGlxIdHBwDsJR&q=85&s=d3e417c1b3b67239055785beae3dab99" alt="Screenshot of the Fillout form creation page" width="1904" height="592" data-path="images/Screenshot2025-02-13at2.46.55PM.png" />

Reference data in the **Default value** to pre-fill fields. More info [here](/help/prefill-fields).

## Related articles

<CardGroup cols={3}>
  <Card title="Map fields" icon="right-left" iconType="regular" color="#FFC738">
    Configure form fields and values to send to integrations.
  </Card>

  <Card title="URL Parameters" icon="brackets-curly" iconType="regular" color="#FFC738" href="/help/url-parameters">
    Pass information to a form to support pre-filling.
  </Card>

  <Card title="Pre-fetch dynamic data" icon="arrow-turn-down-right" iconType="regular" color="#FFC738" href="/help/pre-fetch-data">
    Fetch info from a tool before your form loads.
  </Card>
</CardGroup>

<SupportBanner />
