> ## 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.

# Logic

> Make dynamic forms that adapt and adjust based on a respondent's input. Show or hide questions, modify page logic, add calculations, combine forms using logic, and more.

export const Arcade = ({src}) => {
  const fullSrc = src.startsWith('http') ? src : `https://demo.arcade.software/${src}?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true`;
  return <div style={{
    position: "relative",
    paddingBottom: "calc(56.111111% + 41px)",
    height: "0px",
    width: "100%"
  }}>
      <iframe src={fullSrc} title="build.fillout.com" frameBorder="0" loading="lazy" webkitallowfullscreen="true" mozallowfullscreen="true" allowFullScreen allow="clipboard-write" style={{
    position: "absolute",
    top: "0",
    left: "0",
    width: "100%",
    height: "100%",
    colorScheme: "light"
  }} />
    </div>;
};

## Overview

**Form Logic** lets you create dynamic forms that adapt based on respondent input. With Logic, you can show only relevant questions for each respondent. No need for them to skip unnecessary questions.

For example, let’s make a fulfillment order form that handles either delivery or pick-up.

## Interactive demo

<Arcade src="bH336R30Kz4eFIM5j1kr" />

## Guides

<CardGroup cols={2}>
  <Card title="Page logic" icon="diagram-project" iconType="regular" color="#FFC738" href="/page-logic">
    Hide or show certain pages or custom endings based on prior input.
  </Card>

  <Card title="Answer piping" icon="wand-magic-sparkles" iconType="regular" color="#FFC738" href="/answer-piping">
    Insert prior input into fields for a personalized experience.
  </Card>

  <Card title="Conditionally hide fields" icon="eye-slash" iconType="regular" color="#FFC738" href="/conditional-hiding">
    Hide or show fields based on prior input, parameters, or external data.
  </Card>

  <Card title="Calculations and variables" icon="calculator-simple" iconType="regular" color="#FFC738" href="/calculations">
    Calculate prices for order forms, compute the score of a quiz, and more.
  </Card>

  <Card title="Combine and repeat forms" icon="repeat" iconType="regular" color="#FFC738" href="/combine-and-repeat-forms">
    Connect separate forms together or allow users to re-submit a form.
  </Card>

  <Card title="Import subform data" icon="file-fragment" iconType="regular" color="#FFC738" href="/import-subform-data">
    Pass data from a subform to a main form.
  </Card>

  <Card title="Condition groups" icon="table-tree" iconType="regular" color="#FFC738" href="/condition-logic-groups">
    Use nested logic to show, hide, and validate fields based on conditions.
  </Card>

  <Card title="Form validation" icon="square-check" iconType="regular" color="#FFC738" href="/input-validation">
    Collect accurate information from your respondents by validating form inputs.
  </Card>

  <Card title="Integration logic" icon="gear-complex" iconType="regular" color="#FFC738" href="/conditional-integration">
    Perform an integration only when a certain condition is met.
  </Card>
</CardGroup>

## Where logic can be applied

**Use page logic in surveys**

In a survey, certain questions may only be relevant based on the respondent's previous answers. By editing the page logic, respondents skip unnecessary questions, presenting a more focused and tailored survey experience.

**Set conditional fields in application forms**

Application forms often have fields that are only applicable to specific scenarios. Logic can be used to show or hide these fields based on the respondent's input.

**Give dynamic feedback in quizzes**

In a quiz, you can use logic to provide dynamic feedback based on the respondent's answers. For example, if a respondent selects a wrong answer, you can display specific feedback or redirect them to a relevant section for further learning.

**Automated calculations in order forms**

Order forms often involve calculations like pricing, discounts, and taxes. By incorporating logic, you can automate these calculations based on the respondent's inputs, ensuring accurate and efficient order processing.
