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

# Surveys

> Build ordered voice surveys with structured answers and conditional questions.

Survey agents ask an ordered set of questions, save each response in a structured format, and can choose later questions from earlier answers.

## Add survey questions

Each question has a stable question code, prompt, response type, and enabled state.

* Use **Free response** when you want to preserve an open-ended answer.
* Use **Select from options** when the answer must map to a canonical option code.

You can author up to 200 response options for one question. For a long list, the agent uses the options to classify the contact's answer without reading the entire list aloud unless the contact asks to hear the choices.

The agent can map a natural answer to a configured option. For example, an Age question can define options such as `18–24`, `25–29`, and `30–34`. If the contact says “33,” the agent selects the `30–34` option.

## Make a question conditional

Use **Ask this question when** on a question that should only apply to some contacts.

<Steps>
  <Step title="Add the screening questions first">
    Add enabled select questions such as Age and Residency before any question that depends on them.
  </Step>

  <Step title="Add a condition">
    Open **Ask this question when**, select an earlier question, and select one or more answers that make the current question applicable.
  </Step>

  <Step title="Combine conditions">
    Add an AND condition when every selected answer must match. Add an OR group when either group may match.
  </Step>

  <Step title="Save and test the agent">
    Confirm that each screening-answer combination asks the intended questions and bypasses the others.
  </Step>
</Steps>

A question used by a later condition is marked **Answer required for routing**. The contact must give a configured answer before the survey can continue. The agent explains why an answer is needed and rephrases the question when the response is missing or does not match a configured option.

<Note>
  Conditions use canonical answers from earlier select questions. Free-response questions cannot control routing.
</Note>

## Combine screening and follow-up rules

You can use the same rule system for an initial question set and a later follow-up. For example:

* Age and Residency determine whether `Q1`, `Q2`, `Q5A`, and `Q6` apply.
* `Q5B` depends on one or more configured answers from `Q5A`.
* When the `Q5A` condition does not match, the survey proceeds directly to `Q6`.

Questions excluded by these rules appear as **Not applicable** in the call details. This is different from **Not reached**, which means the call ended before an applicable question could be asked.

## Pre-call question selection

If you also select questions through a pre-call response, that response creates the candidate question set first. Conditional rules then decide which candidates apply during the call.

The candidate set must include each routing question before any selected question that depends on it. AgentCallback stops the call before dialing if the pre-call response omits or reorders a required dependency.

## Next step

Use [call logs](/monitoring/call-logs) to review structured Survey responses and questions marked not applicable.
