# Review your variable schema

As responders go through your flow, you will build up a **schema** of answer variables from them — either through answers they have given directly, or other methods. You can view and edit all of your variables in the Schema tab.

<figure><img src="/files/cG548xc181QU2nL59DJy" alt=""><figcaption></figcaption></figure>

### Types of variables:

* [Variables from questions:](/response-data-collection-and-management/variable-schema/variables-from-questions.md) Variables you collect from the responder directly when they answer a question. Examples: `first_name`, `dog_breed, pet_type`
* [Externally provided](/response-data-collection-and-management/variable-schema/external-answers.md): Variables you can pass through the URL of the flow. This can be helpful to add in information about the responder that they might not be able to answer directly, like their unique ID, or Common examples: `UTM source`, \`
* [API lookups:](/response-data-collection-and-management/variable-schema/api-answers.md) you can fetch a new answer from a server that returns JSON responses. This lookup can even use other variables collected with the flow as inputs or parameters. Examples are calling your own healthcare provider database, finding the nearest store location, or looking up current pricing.
* [Calculated inline](/response-data-collection-and-management/variable-schema/calculated-answers.md): Allow you to define new answers based on other answers present within the flow, by writing simple javascript functions that are evaluated within Formsort. A common example is calculating age from a responder’s inputted date of birth (see [here](/response-data-collection-and-management/variable-schema/calculated-answers.md#get-age-from-dob))
* [System library](/response-data-collection-and-management/variable-schema/system-library-answers.md): Variables you can collect about the responder's experience with your flow. Examples include: `current_step_id, is_mobile, is_returning_responder`.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.formsort.com/core-concepts/formsort-quickstart-guides/review-your-variable-schema.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
