Múltipla Escolha
Apresente uma lista de opções para o respondente escolher. Suporta seleção única, seleção múltipla, texto livre em "Outro", randomização e ordenação alfabética. Cada opção pode ter a sua própria imagem, vídeo ou ícone, e a propriedade layout alterna entre uma lista vertical e uma grade de cartões com imagem — então esse único tipo cobre tanto opções de texto simples quanto opções baseadas em imagem.

Identificador de tipo: multiple_choice
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
choices | Choice[] | Array de opções de escolha. Cada opção tem um id, um label e um media opcional. | [] |
layout | string | Como as opções são apresentadas: stacked (lista vertical, com miniaturas opcionais), blocks (grade de cartões com imagem), staggered (chips do tamanho do conteúdo, que quebram linha) ou grid (grade com número fixo de colunas). | stacked |
allowMultiple | boolean | Permite que o respondente selecione mais de uma opção. | false |
allowOther | boolean | Mostra uma opção "Outro" com um campo de texto livre onde o respondente pode digitar uma resposta personalizada. | false |
randomize | boolean | Randomiza a ordem das opções a cada exibição da pergunta. | false |
alphabeticalOrder | boolean | Ordena as opções alfabeticamente. Ignorado se randomize estiver ativado (a randomização tem precedência). | false |
choiceSource | string | De onde vêm as opções: fixed usa choices; variable as carrega de uma variável. Veja Opções de uma variável. | fixed |
Objeto de Opção
Cada opção no array choices tem:
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador exclusivo desta opção. Usado em saltos de lógica e pontuação. |
label | string | O texto de exibição da opção. |
media | QuestionMedia | Imagem, vídeo ou ícone opcional para esta opção. Defina media.display para controlar como ela é renderizada — veja abaixo. |
Mídia da Opção
Qualquer opção pode ter a sua própria mídia. O media.display decide como ela fica na opção:
| Exibição | Descrição |
|---|---|
thumbnail | Uma imagem pequena ao lado do rótulo da opção. |
background | A imagem preenche a superfície da opção, recortada para preencher. |
background-fit | A imagem preenche a superfície da opção, mas permanece inteira, com bordas contra a cor de fundo da opção. |
A mídia da opção suporta os mesmos tratamentos da mídia da pergunta — filtros, tonalidade, bordas, ponto focal e zoom. Veja Exibição de Mídia da Opção para entender como Preencher e Ajustar diferem e quando usar cada um.
A mídia da opção é no que o antigo tipo de pergunta Escolha por Imagem se transformou. Para montar uma grade de cartões com imagem, use Múltipla Escolha com layout: "blocks" e dê a cada opção um objeto media. Formulários importados do Typeform convertem perguntas picture_choice para esse formato automaticamente.
Validação
Se required for true, o respondente deve selecionar pelo menos uma opção antes de prosseguir.
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
Ao usar equals ou not_equals, o valor de comparação é o ID da opção. Para perguntas de seleção múltipla, equals verifica se o valor está entre os itens selecionados.
Formato da Resposta
- Seleção única (
allowMultiple: false): Uma string (o ID da opção selecionada). - Seleção múltipla (
allowMultiple: true): Um array de strings (os IDs das opções selecionadas).
Pontuação em Modo Quiz
Múltipla Escolha é um tipo de pergunta pontuável em todos os modos de quiz:
- Quiz de Conhecimento: Defina
correctAnswers(array de IDs das opções corretas) ecorrectAnswerScore(pontos por resposta correta). - Qualificação de Leads: Defina
choiceScores(mapeamento de ID de opção para valor de pontos). - Quiz de Correspondência: Defina
choiceOutcomes(mapeamento de ID de opção para IDs de perguntas de tela final).
Atalhos de teclado estão disponíveis para a seleção de opções. Os respondentes podem pressionar teclas de letra (A, B, C etc.) para selecionar opções, que aparecem como indicadores ao lado de cada uma.
Menu Suspenso
Um menu suspenso para selecionar a partir de uma lista de opções. Suporta a mesma configuração da Múltipla Escolha, mas exibe as opções em um formato compacto de menu suspenso. O media por opção e o layout não se aplicam aqui — um menu suspenso sempre renderiza suas opções como texto simples.

Identificador de tipo: dropdown
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
choices | Choice[] | Array de opções de escolha. | [] |
allowMultiple | boolean | Permite selecionar várias opções do menu suspenso. | false |
allowOther | boolean | Mostra uma opção "Outro" com campo de texto livre. | false |
placeholder | string | Texto de placeholder mostrado antes de uma seleção ser feita. | Nenhum |
randomize | boolean | Randomiza a ordem das opções. | false |
alphabeticalOrder | boolean | Ordena as opções alfabeticamente. | false |
choiceSource | string | De onde vêm as opções: fixed usa choices; variable as carrega de uma variável. Veja Opções de uma variável. | fixed |
Validação
Se required for true, o respondente deve selecionar pelo menos uma opção.
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
Formato da Resposta
- Seleção única: Uma string (o ID da opção selecionada).
- Seleção múltipla: Um array de strings (os IDs das opções selecionadas).
Pontuação em Modo Quiz
Menu Suspenso é um tipo de pergunta pontuável. A configuração de pontuação é idêntica à da Múltipla Escolha.
Escolha por Imagem
A Escolha por Imagem não é mais um tipo de pergunta separado. Ela foi incorporada à Múltipla Escolha — não existe mais um identificador picture_choice para selecionar.
Para montar a mesma coisa, use uma pergunta de Múltipla Escolha com layout definido como blocks e um objeto media em cada opção. Tudo o que a Escolha por Imagem fazia continua disponível, além dos tratamentos que ela nunca teve: opções em vídeo e ícone, filtros, tonalidade, ponto focal, zoom e um modo Ajustar que mostra imagens largas inteiras em vez de recortá-las.

{
"type": "multiple_choice",
"properties": {
"layout": "blocks",
"choices": [
{ "id": "c1", "label": "Mountains", "media": { "type": "image", "url": "https://…", "display": "background" } },
{ "id": "c2", "label": "Coast", "media": { "type": "image", "url": "https://…", "display": "background" } }
]
}
}
Formulários existentes e importações do Typeform são tratados automaticamente — uma pergunta picture_choice é convertida em Múltipla Escolha com layout: "blocks", então nada precisa ser reescrito.
Sim / Não
Uma pergunta binária simples que apresenta os botões "Sim" e "Não".

Identificador de tipo: yes_no
Propriedades
O tipo de pergunta Sim/Não não tem propriedades adicionais além das propriedades comuns de pergunta.
Validação
Se required for true, o respondente deve clicar em "Sim" ou "Não".
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
Ao usar equals, compare com true (Sim) ou false (Não). Os valores em string "true" e "false" também são aceitos.
Formato da Resposta
A resposta é armazenada como um booleano (true para Sim, false para Não, ou null se não respondida).
Pontuação em Modo Quiz
Sim/Não é um tipo de pergunta pontuável:
- Quiz de Conhecimento: Defina
correctAnswerscom um único valor"true"ou"false". - Qualificação de Leads: Defina
choiceScorescom as chaves"true"e"false". - Quiz de Correspondência: Defina
choiceOutcomescom as chaves"true"e"false".
A pergunta Sim/Não avança automaticamente para a próxima pergunta imediatamente após a seleção. Não há um botão "OK" separado.
Classificação
Apresente uma lista de itens para o respondente organizar na ordem de preferência dele, arrastando e soltando.

Identificador de tipo: ranking
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
choices | Choice[] | Array de itens a classificar. Cada um tem um id e um label. | [] |
choiceSource | string | De onde vêm os itens: fixed usa choices; variable os carrega de uma variável. Veja Opções de uma variável. | fixed |
Validação
Se required for true, o respondente deve enviar uma classificação (todos os itens devem estar em uma ordem definida).
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
Formato da Resposta
A resposta é armazenada como um array de strings (IDs das opções na ordem de classificação do respondente, do primeiro ao último).
["choice_3", "choice_1", "choice_2"]
O campo de classificação usa interação de arrastar e soltar. Em dispositivos móveis, os respondentes podem usar gestos de toque para reordenar os itens.
Matriz
Um tipo de pergunta em grade, em que os respondentes avaliam vários itens (linhas) em várias categorias (colunas). Cada interseção de linha e coluna é uma opção selecionável.

Identificador de tipo: matrix
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
rows | string[] | Array de rótulos das linhas (os itens sendo avaliados). | [] |
columns | string[] | Array de rótulos das colunas (as categorias de avaliação). | [] |
randomizeRows | boolean | Randomiza a ordem das linhas. | false |
randomizeColumns | boolean | Randomiza a ordem das colunas. | false |
rowSource | string | De onde vêm as linhas: fixed usa rows; variable as carrega de uma variável. Veja Opções de uma variável. | fixed |
columnSource | string | De onde vêm as colunas: fixed usa columns; variable as carrega de uma variável. | fixed |
Validação
Se required for true, o respondente deve selecionar uma opção por linha.
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
Formato da Resposta
A resposta é armazenada como um objeto (Record<string, string>) que mapeia cada rótulo de linha para o rótulo de coluna selecionado:
{
"Product Quality": "Excellent",
"Customer Service": "Good",
"Value for Money": "Average"
}
As perguntas de matriz são exibidas como uma grade responsiva no desktop e se adaptam a um formato empilhado em dispositivos móveis para melhor usabilidade. Tanto as linhas quanto as colunas suportam randomização independente.
Lista
Colete várias entradas do mesmo tipo. Uma Lista contém itens de texto simples (digite e pressione Enter, ou toque em Adicionar) ou itens de composite repetidos — entradas estruturadas construídas a partir de um composite reutilizável, como adicionar qualquer número de membros de conselho em uma única pergunta.
Identificador de tipo: list
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
itemType | string | string para itens de texto simples, composite para instâncias repetíveis de composite. | string |
compositeId | string | O composite referenciado (apenas itens de composite). Definido pelo seletor. | — |
itemPlaceholder | string | Texto de placeholder do campo de entrada (itens de texto). | — |
addButtonLabel | string | Rótulo personalizado do botão Adicionar em ambos os modos de item. | — |
minItems | number | Número mínimo de itens necessário para enviar. | — |
maxItems | number | Número máximo de itens. Limite rígido de 100. | 100 |
itemRegex | string | Padrão de validação por item (itens de texto). | — |
itemRegexError | string | Mensagem de erro mostrada quando o padrão falha. | — |
itemMinLength | number | Mínimo de caracteres por item (itens de texto). | — |
itemMaxLength | number | Máximo de caracteres por item (itens de texto). | — |
allowDuplicates | boolean | Permite adicionar o mesmo item de texto duas vezes (itens de texto). | true |
allowReorder | boolean | Permite que os respondentes arrastem itens para reordenar (itens de texto). | true |
defaultItems | string[] | Itens pré-preenchidos na primeira vez que a pergunta carrega (itens de texto, formulários web). | [] |
displayMode | string | Como uma entrada de composite recolhida é renderizada: compact (resumo de uma linha) ou card (rótulo + valor de cada campo). | compact |
compactFields | string[] | IDs ordenados dos subcampos mostrados no resumo compacto recolhido. O padrão é o primeiro campo do composite. | — |
Validação
Se required for true, pelo menos um item deve ser adicionado. minItems / maxItems são aplicados no envio; as regras de padrão e comprimento por item (itens de texto) são aplicadas conforme cada item é adicionado.
Operadores de Salto de Lógica
list_count_equals, list_count_greater_than, list_count_less_than, contains, not_contains, is_answered, is_not_answered
Os operadores de contagem comparam com o número de itens na resposta.
Formato da Resposta
- Itens de texto: um array de strings.
- Itens de composite: um array de objetos, cada um indexado pelo ID do subcampo:
[
{ "sub_first_name": "Ada", "sub_email": "ada@example.com" },
{ "sub_first_name": "Grace", "sub_email": "grace@example.com" }
]
Cada item de composite também é registrado como uma entrada de composite independente — veja o guia de Composites para a visualização de Entradas entre formulários e os modos de exibição recolhida.
Opções de uma variável
Múltipla Escolha, Menu Suspenso e Classificação podem carregar suas opções de uma variável em vez de uma lista fixa — normalmente a resposta de um nó de dados que chama a sua API. Uma Matriz pode fazer o mesmo com as linhas, as colunas ou ambas.
Configuração
- Adicione um nó de dados que retorne a lista e dê a ele uma Variável de resposta — por exemplo,
breeds. - Nas configurações da pergunta, mude Origem das opções de Lista fixa (o padrão) para De uma variável. Em uma Matriz, use Origem das linhas e Origem das colunas.
- Digite a variável que contém a lista:
{breeds}, ou um caminho dentro da resposta, como{breeds.data}. - Se os seus itens não usam as chaves
labelevalue, abra Seus itens usam outros nomes de campo? e informe o Campo do rótulo e o Campo do valor que os seus dados usam.
Em um formulário no estilo NueForm, coloque o nó de dados antes da pergunta. Em um formulário no estilo Questionário, ajuste Quando executar do nó de dados para Manter atualizado, para que a lista acompanhe as respostas do respondente — veja Estilo Questionário.
Essas configurações de origem só aparecem em perguntas colocadas diretamente no formulário. O construtor não as mostra em uma pergunta dentro de um Grupo de perguntas, de uma Página com várias perguntas ou de um composite, porque essas perguntas guardam a resposta dentro da resposta do elemento que as contém, onde os rótulos não podem ser mantidos. Uma pergunta que já carrega as opções de uma variável mantém a configuração se você a mover para um deles, mas aí as respostas dela mostram os valores dos itens em vez dos rótulos.
Na área de trabalho do construtor, a pergunta mostra Opções de {breeds} no lugar das opções.
Formatos aceitos
A variável precisa conter uma lista JSON — seja de strings simples, em que cada string é ao mesmo tempo o rótulo e o valor:
["Siamese", "Persian"]
seja de objetos com um rótulo e um valor:
[
{ "label": "Siamese", "value": "siamese" },
{ "label": "Persian", "value": "persian" }
]
Objetos que usam outras chaves também funcionam — informe essas chaves em Campo do rótulo e Campo do valor. Para esta resposta, use a variável {breeds.data}, o Campo do rótulo name e o Campo do valor id:
{ "data": [{ "name": "Siamese", "id": "siamese" }, { "name": "Persian", "id": "persian" }] }
Em Múltipla Escolha, um item também pode trazer uma URL image, que vira a imagem daquela opção:
[{ "label": "Siamese", "value": "siamese", "image": "https://example.com/siamese.jpg" }]
Quando a resposta é um objeto, aponte para a lista dentro dele com um caminho de pontos, como {breeds.data}. Para uma chave que não é uma palavra simples, use {breeds["the list"]}.
Como os itens são lidos
- O valor de cada item vira o ID da opção. É o que a resposta armazena, o que as condições de lógica comparam e o que a pontuação do quiz confere.
- Se um objeto tiver só um rótulo ou só um valor, esse dado é usado para os dois. Números e
true/falsesão lidos como texto. - Itens sem valor, ou com o mesmo valor de um item anterior, são ignorados, assim como valores com mais de 500 caracteres. Rótulos com mais de 500 caracteres são encurtados, e só os primeiros 1.000 itens são usados.
- Os rótulos aparecem como texto simples: nenhuma formatação é aplicada e os tokens
{variable}que eles contiverem não são substituídos. - "Outro" continua funcionando em Múltipla Escolha e Menu Suspenso: ele aparece depois dos itens carregados.
- As demais configurações da pergunta — como Permitir seleção múltipla, Ordem aleatória e Ordem alfabética — valem para os itens carregados normalmente.
- Um nó de dados guarda até 4.096 caracteres da resposta, então uma lista longa pode chegar cortada. Veja Respostas de nós de dados como listas de opções.
O que os respondentes veem
Não existe lista fixa de reserva. Enquanto a variável não tiver uma lista utilizável, a pergunta mostra uma das três primeiras mensagens abaixo no lugar das opções. A última aparece acima das opções depois que a lista muda:
| Mensagem | Quando |
|---|---|
| Carregando opções… | O nó de dados que preenche a lista está em execução. |
| As opções aparecerão depois que você responder às perguntas acima. | A variável ainda está vazia — normalmente porque o nó de dados está esperando uma resposta. |
| Não foi possível carregar estas opções. | A variável não contém uma lista utilizável. A pré-visualização do construtor também mostra o motivo. |
| Atualizado com base na sua resposta anterior. | A lista mudou e uma opção que o respondente tinha selecionado não é mais oferecida, então ela foi apagada. |
Respostas salvas
- A resposta armazena os valores dos itens, exatamente como IDs de opção. Em uma Matriz, ela associa o valor de cada linha ao valor da coluna escolhida.
- Os rótulos que o respondente viu são salvos junto com a resposta, então as respostas, as exportações CSV e os e-mails de notificação mostram rótulos em vez de valores.
- Os webhooks enviam os valores junto com um mapa
valueLabelsde cada valor escolhido para o rótulo dele, tanto em envios pela web quanto em envios por ligação telefônica. - A lista é carregada enquanto o respondente preenche o formulário, então o NueForm não confere de novo os valores enviados com ela. Perguntas obrigatórias continuam sendo exigidas. Se uma resposta precisa ser um dos seus próprios itens, verifique isso no seu sistema ao processar a resposta.
Pontuação e condições
- Pontuação: não existe lista fixa para marcar, então o editor de pontuação pede valores de itens, que precisam corresponder exatamente ("Corresponde exatamente ao valor do item."). Veja Modos de formulário.
- Condições: os saltos de lógica e as condições de visibilidade dessas perguntas usam operadores de texto e um valor digitado. Em uma Matriz, o editor de condições oferece apenas
is_answeredeis_not_answered, porque a resposta dela associa linhas a colunas. Veja Saltos de lógica. - Chamadas telefônicas: o agente lê todas as opções da lista, e quem liga pode dizer uma opção ou digitar o número dela. Veja Telefonia.
Propriedades da origem
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
choiceSource | string | fixed usa choices. variable carrega as opções de choiceVariable, e choices é ignorado. | fixed |
choiceVariable | string | A variável que contém a lista, como {breeds} ou {breeds.data}. | — |
choiceLabelField | string | Para itens que são objetos: a chave que contém o rótulo de cada item. | label |
choiceValueField | string | Para itens que são objetos: a chave que contém o valor de cada item. | value |
Uma Matriz tem o mesmo conjunto para cada eixo: rowSource, rowVariable, rowLabelField, rowValueField e columnSource, columnVariable, columnLabelField, columnValueField.