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

# Collect data in a Flow

> Capture answers with User Input, write custom fields, and tag contacts inside Fliqr AI Flows.

Flows become useful when they remember what contacts said. Capture answers into custom fields, label contacts with tags, then branch or personalize later.

## Before you start

* Create the [custom fields and tags](/docs/core-concepts/contacts) you need.
* Prefer clear field names (`budget_range`, not `q3`).
* Decide validation rules (email format, phone, required answer).

## User Input

Use **User Input** (or **Get User Data**, depending on your builder label) to ask a question and store the reply.

<Steps>
  <Step title="Add User Input">
    Place the block after the prompt message (or include the prompt in the block if your UI combines them).
  </Step>

  <Step title="Choose a reply type">
    Free text, email, phone, number, or multiple choice — match the data you need.
  </Step>

  <Step title="Save to a custom field">
    Select the target custom user field. Later blocks can read it with `{{your_field}}`.
  </Step>

  <Step title="Handle invalid answers">
    Configure retry / failure paths when the reply type is strict (email, phone).
  </Step>
</Steps>

## Set Custom Field

Use **Set Custom Field** when the value is known without asking — for example `source = instagram_story` or a value returned from an [External Request](/docs/core-concepts/flows/external-requests).

## Tag / Untag

Tags are boolean labels. Use them for lifecycle and routing:

* Apply `qualified` after a successful Condition path
* Remove `open_ticket` when a Flow closes the loop
* Let [Automation Rules](/docs/core-concepts/automation-rules) fire when a tag is applied

## Multiple choice answers

For static choices, use Quick Replies or a multiple-choice User Input with fixed options.

For options loaded from an API or spreadsheet, see [Dynamic choices](/docs/core-concepts/flows/dynamic-choices).

## Use the data you collected

| Goal                         | Pattern                                                      |
| ---------------------------- | ------------------------------------------------------------ |
| Personalize the next message | `{{custom_field}}` in a Message block                        |
| Branch                       | [Condition](/docs/core-concepts/flows/conditions) on field or tag |
| Sync to your stack           | External Request or webhook on flow events                   |
| Target later                 | Segment / broadcast by tag or field                          |

<Tip>
  Collect only what you will use. Extra questions increase drop-off and privacy risk.
</Tip>

## Next

<CardGroup cols={2}>
  <Card title="Conditions" icon="code-branch" href="/docs/core-concepts/flows/conditions">
    Branch on fields, tags, and channel.
  </Card>

  <Card title="Contacts" icon="address-book" href="/docs/core-concepts/contacts">
    Field types, tags, and segments in depth.
  </Card>
</CardGroup>
