Opción Múltiple
Presenta una lista de opciones para que el encuestado elija. Soporta selección única, selección múltiple, texto libre "Otro", aleatorización y orden alfabético. Cada elección puede llevar su propia imagen, video o ícono, y la propiedad layout alterna entre una lista vertical y una cuadrícula de tarjetas con imagen, de modo que este único tipo cubre tanto las opciones de texto simple como las basadas en imágenes.

Type identifier: multiple_choice
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
choices | Choice[] | Array de opciones de elección. Cada elección tiene un id, label y un media opcional. | [] |
layout | string | Cómo se presentan las opciones: stacked (lista vertical, con miniaturas opcionales), blocks (cuadrícula de tarjetas con imagen), staggered (chips del tamaño del contenido que se ajustan en varias líneas) o grid (cuadrícula de columnas fijas). | stacked |
allowMultiple | boolean | Permitir al encuestado seleccionar más de una opción. | false |
allowOther | boolean | Mostrar una opción "Otro" con una entrada de texto libre donde el encuestado puede escribir una respuesta personalizada. | false |
randomize | boolean | Aleatorizar el orden de las opciones cada vez que se muestra la pregunta. | false |
alphabeticalOrder | boolean | Ordenar las opciones alfabéticamente. Se ignora si randomize está habilitado (randomize tiene precedencia). | false |
Objeto de Elección
Cada elección en el array choices tiene:
| Campo | Tipo | Descripción |
|---|---|---|
id | string | Identificador único para esta elección. Usado en saltos lógicos y puntuación. |
label | string | El texto de visualización para la elección. |
media | QuestionMedia | Imagen, video o ícono opcional para esta elección. Establece media.display para controlar cómo se muestra — ver abajo. |
Medios de la Elección
Cualquier elección puede llevar sus propios medios. media.display decide cómo se ubican en la elección:
| Display | Descripción |
|---|---|
thumbnail | Una imagen pequeña junto a la etiqueta de la elección. |
background | La imagen llena la superficie de la elección, recortada para cubrirla. |
background-fit | La imagen llena la superficie de la elección pero se mantiene completa, con bandas contra el color de fondo de la elección. |
Los medios de la elección soportan los mismos tratamientos que los medios de la pregunta: filtros, tinte, bordes, punto focal y zoom. Consulta Visualización de Medios de la Elección para ver en qué se diferencian Fill y Fit y cuándo conviene usar cada uno.
Los medios de la elección son en lo que se convirtió el antiguo tipo de pregunta Elección con Imagen. Para crear una cuadrícula de tarjetas con imagen, usa Opción Múltiple con layout: "blocks" y asigna un objeto media a cada elección. Los formularios importados desde Typeform convierten las preguntas picture_choice a esta forma automáticamente.
Validación
Si required es true, el encuestado debe seleccionar al menos una opción antes de continuar.
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Cuando se usa equals o not_equals, el valor de comparación es el ID de la elección. Para preguntas de selección múltiple, equals verifica si el valor está entre los elementos seleccionados.
Formato de Respuesta
- Selección única (
allowMultiple: false): Un string (el ID de la elección seleccionada). - Selección múltiple (
allowMultiple: true): Un array de strings (los IDs de las elecciones seleccionadas).
Puntuación en Modo Cuestionario
Opción Múltiple es un tipo de pregunta puntuable en todos los modos de cuestionario:
- Knowledge Quiz: Establece
correctAnswers(array de IDs de elecciones correctas) ycorrectAnswerScore(puntos por respuesta correcta). - Lead Qualification: Establece
choiceScores(mapeo de ID de elección a valor de puntos). - Match Quiz: Establece
choiceOutcomes(mapeo de ID de elección a IDs de preguntas de pantalla final).
Los atajos de teclado están disponibles para la selección de opciones. Los encuestados pueden presionar teclas de letras (A, B, C, etc.) para seleccionar opciones, que aparecen como indicadores junto a cada elección.
Desplegable
Un menú desplegable para seleccionar de una lista de opciones. Soporta la misma configuración que Opción Múltiple pero muestra las opciones en un formato de desplegable compacto. El media por elección y el layout no aplican aquí: un desplegable siempre muestra sus opciones como texto simple.

Type identifier: dropdown
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
choices | Choice[] | Array de opciones de elección. | [] |
allowMultiple | boolean | Permitir seleccionar múltiples opciones del desplegable. | false |
allowOther | boolean | Mostrar una opción "Otro" con entrada de texto libre. | false |
placeholder | string | Texto de marcador de posición mostrado antes de hacer una selección. | Ninguno |
randomize | boolean | Aleatorizar el orden de las opciones. | false |
alphabeticalOrder | boolean | Ordenar las opciones alfabéticamente. | false |
Validación
Si required es true, el encuestado debe seleccionar al menos una opción.
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Formato de Respuesta
- Selección única: Un string (el ID de la elección seleccionada).
- Selección múltiple: Un array de strings (los IDs de las elecciones seleccionadas).
Puntuación en Modo Cuestionario
Desplegable es un tipo de pregunta puntuable. La configuración de puntuación es idéntica a Opción Múltiple.
Elección con Imagen
Elección con Imagen ya no es un tipo de pregunta independiente. Se fusionó con Opción Múltiple: ya no existe un identificador picture_choice que se pueda seleccionar.
Para crear lo mismo, usa una pregunta de Opción Múltiple con layout establecido en blocks y un objeto media en cada elección. Todo lo que hacía Elección con Imagen sigue disponible, además de los tratamientos que nunca tuvo: elecciones con video e íconos, filtros, tinte, punto focal, zoom y un modo Fit que muestra completas las imágenes anchas en lugar de recortarlas.

{
"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" } }
]
}
}
Los formularios existentes y las importaciones desde Typeform se manejan automáticamente: una pregunta picture_choice se convierte a Opción Múltiple con layout: "blocks" por sí sola, así que no hay que rehacer nada.
Sí / No
Una pregunta binaria simple que presenta los botones "Sí" y "No".

Type identifier: yes_no
Propiedades
El tipo de pregunta Sí/No no tiene propiedades adicionales más allá de las propiedades comunes de preguntas.
Validación
Si required es true, el encuestado debe hacer clic en "Sí" o "No".
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Cuando se usa equals, compara contra true (Sí) o false (No). Los valores de string "true" y "false" también son aceptados.
Formato de Respuesta
La respuesta se almacena como un boolean (true para Sí, false para No, o null si no se responde).
Puntuación en Modo Cuestionario
Sí/No es un tipo de pregunta puntuable:
- Knowledge Quiz: Establece
correctAnswerscon un solo valor de"true"o"false". - Lead Qualification: Establece
choiceScorescon claves"true"y"false". - Match Quiz: Establece
choiceOutcomescon claves"true"y"false".
La pregunta Sí/No avanza automáticamente a la siguiente pregunta inmediatamente al seleccionar. No hay un botón "OK" separado.
Clasificación
Presenta una lista de elementos para que el encuestado los ordene en su orden preferido arrastrando y soltando.

Type identifier: ranking
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
choices | Choice[] | Array de elementos a clasificar. Cada uno tiene un id y label. | [] |
Validación
Si required es true, el encuestado debe enviar una clasificación (todos los elementos deben estar en un orden definido).
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Formato de Respuesta
La respuesta se almacena como un array de strings (IDs de elecciones en el orden clasificado por el encuestado, del primero al último).
["choice_3", "choice_1", "choice_2"]
El campo de clasificación usa interacción de arrastrar y soltar. En dispositivos móviles, los encuestados pueden usar gestos táctiles para reordenar elementos.
Matriz
Un tipo de pregunta basado en cuadrícula donde los encuestados califican múltiples elementos (filas) a través de múltiples categorías (columnas). Cada intersección fila-columna es una opción seleccionable.

Type identifier: matrix
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
rows | string[] | Array de etiquetas de fila (los elementos que se están calificando). | [] |
columns | string[] | Array de etiquetas de columna (las categorías de calificación). | [] |
randomizeRows | boolean | Aleatorizar el orden de las filas. | false |
randomizeColumns | boolean | Aleatorizar el orden de las columnas. | false |
Validación
Si required es true, el encuestado debe seleccionar una opción por fila.
Operadores de Salto Lógico
equals, not_equals, is_answered, is_not_answered
Formato de Respuesta
La respuesta se almacena como un object (Record<string, string>) mapeando cada etiqueta de fila a la etiqueta de columna seleccionada:
{
"Product Quality": "Excellent",
"Customer Service": "Good",
"Value for Money": "Average"
}
Las preguntas de Matriz se muestran como una cuadrícula responsiva en escritorio y se adaptan a un formato apilado en dispositivos móviles para mejor usabilidad. Tanto las filas como las columnas soportan aleatorización independiente.
Lista
Recopila múltiples entradas del mismo tipo. Una Lista contiene elementos de texto simples (escribe y pulsa Intro, o toca Añadir) o elementos de compuesto repetidos — entradas estructuradas creadas a partir de un compuesto reutilizable, como añadir cualquier número de miembros de junta a una sola pregunta.
Type identifier: list
Propiedades
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
itemType | string | string para elementos de texto simples, composite para instancias de compuesto repetibles. | string |
compositeId | string | El compuesto referenciado (solo elementos de compuesto). Se establece a través del selector. | — |
itemPlaceholder | string | Texto de marcador de posición para la entrada de elementos (elementos de texto). | — |
addButtonLabel | string | Etiqueta personalizada para el botón Añadir en ambos modos de elementos. | — |
minItems | number | Número mínimo de elementos requeridos para enviar. | — |
maxItems | number | Número máximo de elementos. Tope absoluto de 100. | 100 |
itemRegex | string | Patrón de validación por elemento (elementos de texto). | — |
itemRegexError | string | Mensaje de error mostrado cuando el patrón falla. | — |
itemMinLength | number | Caracteres mínimos por elemento (elementos de texto). | — |
itemMaxLength | number | Caracteres máximos por elemento (elementos de texto). | — |
allowDuplicates | boolean | Permitir añadir el mismo elemento de texto dos veces (elementos de texto). | true |
allowReorder | boolean | Permitir a los encuestados arrastrar elementos para reordenar (elementos de texto). | true |
defaultItems | string[] | Elementos prerrellenados la primera vez que se carga la pregunta (elementos de texto, formularios web). | [] |
displayMode | string | Cómo se muestra una entrada de compuesto contraída: compact (resumen de una línea) o card (etiqueta + valor de cada campo). | compact |
compactFields | string[] | IDs de subcampos ordenados que se muestran en el resumen contraído compacto. Por defecto, el primer campo del compuesto. | — |
Validación
Si required es true, se debe añadir al menos un elemento. minItems / maxItems se aplican al enviar; las reglas de patrón y longitud por elemento (elementos de texto) se aplican a medida que se añade cada elemento.
Operadores de Salto Lógico
list_count_equals, list_count_greater_than, list_count_less_than, contains, not_contains, is_answered, is_not_answered
Los operadores de recuento comparan contra el número de elementos en la respuesta.
Formato de Respuesta
- Elementos de texto: un array de strings.
- Elementos de compuesto: un array de objetos, cada uno indexado por ID de subcampo:
[
{ "sub_first_name": "Ada", "sub_email": "ada@example.com" },
{ "sub_first_name": "Grace", "sub_email": "grace@example.com" }
]
Cada elemento de compuesto también se registra como una entrada de compuesto independiente — consulta la guía de Compuestos para la vista de Entradas entre formularios y los modos de visualización contraídos.