Catálogo de tipos de campo
El constructor de formularios viene con 17 tipos de campo. Se dividen en tres grupos: campos de entrada que recolectan datos del visitante, campos de opción que limitan la entrada a una lista, y campos de visualización que no aceptan ninguna entrada pero ayudan a estructurar el formulario.

Cuando haces clic en + Campo en la barra de herramientas, obtienes un menú que los muestra todos. Elige el que se ajuste.
Campos de entrada
Estos aceptan entrada libre — un nombre, un número de teléfono, un ensayo.
Text
Una entrada de una sola línea. Mejor para nombres, títulos, respuestas cortas ("¿Cuál es tu canción de adoración favorita?"). El tipo de campo más usado por mucho.
Validación: min_length, max_length. Si estableces ambos, el campo rechaza envíos fuera del rango.
Textarea
Una entrada de varias líneas. Mejor para peticiones de oración, comentarios, respuestas más largas tipo historia. Predeterminada a tres filas de alto — crece automáticamente mientras el visitante escribe.
Validación: igual que Text — min_length, max_length.
Email
Un campo de texto validado contra una expresión regular de correo (cualquiercosa@cualquiercosa.tld). Una entrada con formato incorrecto muestra un error al perder el foco.
El flujo de envío del formulario también usa automáticamente el valor de un campo email como el submitter_email en la fila de envío resultante — eso es lo que aparece en la columna Email en la tabla de envíos. Si tienes múltiples campos de correo, el primero con un valor gana.
Phone
Un campo de texto que acepta un número de teléfono. No hay formato forzado porque la validación de teléfono es desordenada internacionalmente — pero muestra un teclado estilo teléfono en móvil.
Number
Una entrada numérica con min, max y step opcionales. Mejor para conteos ("¿Cuántas personas vienen?"), edades, calificaciones en una escala personalizada.
El valor de step controla la granularidad — step: 1 solo permite números enteros, step: 0.5 permite mitades.
Date
Un selector de fecha. Predeterminado a la fecha de hoy en el marcador de posición. Se almacena como una cadena de fecha ISO (YYYY-MM-DD).
Time
Un selector de hora. Se almacena como HH:MM (24 horas internamente; la configuración regional del visitante controla cómo se muestra).
URL
Un campo de texto validado contra https?://.... Útil para "Enlace a tu video de testimonio" o "Tus redes sociales".
File upload
Permite al visitante adjuntar un único archivo. Las cargas van al bucket de almacenamiento de Supabase form-uploads en la ruta {org_id}/submissions/{submission_id}/{field_id}/{filename}.
Configuración:
- Allowed file types — preestablecidos de checkbox para PDF, Images, Documents, Spreadsheets, más una caja de texto de extensiones personalizadas (
.dwg, .ai, .zip). Predeterminado a PDF + formatos de imagen comunes. - Max file size (MB) — limitado a 100MB. Predeterminado a 5MB.
Si el archivo del visitante falla cualquiera de las verificaciones, el formulario muestra un error en línea antes de que pueda enviar.
Rating
Un control de calificación con estrellas. Los visitantes tocan las estrellas; el valor almacenado es el conteo seleccionado. El número de estrellas es configurable de 1 a 10 (max_stars), predeterminado a 5.
Mejor para "¿Cómo calificarías el servicio de hoy?" o "Califica la experiencia del grupo pequeño".
Campos de opción
Estos limitan la respuesta del visitante a una lista de opciones que controlas. Agregas opciones en la sección Type Options de la configuración del campo — haz clic en + Add option para agregar filas.
Select (única)
Un menú desplegable. El visitante elige una opción. Mejor cuando tienes más de cinco opciones y no quieres que todas estén visibles.
Multi-select
Un menú desplegable que permite múltiples selecciones. Los valores seleccionados se almacenan como un array.
Radio
Como Select, pero se renderiza como una lista vertical de botones de radio. El visitante elige uno. Mejor cuando tienes de dos a cinco opciones y quieres que todas estén visibles.
Checkbox
Este es de doble propósito:
- Sin opciones configuradas — se renderiza como un único checkbox sí/no. Usado para cosas como "Acepto ser contactado". Cuando se marca como obligatorio, el visitante debe marcarlo para enviar.
- Con opciones configuradas — se renderiza como una lista de checkboxes; el visitante puede marcar cualquier número. Se almacena como un array de valores seleccionados.
Campos de visualización
Estos no recolectan nada. Estructuran el formulario.
Heading
Un encabezado de sección de texto más grande dentro de una sección. Nivel configurable: H2, H3 o H4. Útil cuando tienes una única sección larga pero quieres un quiebre visual dentro de ella ("Información personal" luego algunos campos, luego "Tu petición" luego más campos).
Los encabezados no son obligatorios, no se validan y nunca aparecen en los envíos. Son pura disposición.
Divider
Una regla horizontal. Útil entre grupos de campos conceptualmente diferentes cuando no quieres un encabezado. Incluso menos datos que un encabezado — sin etiqueta, sin configuración.
Hidden
Un campo que no se muestra al visitante pero envía un valor predeterminado con el envío. default_value configurable en la configuración del campo.
Casos de uso:
- Etiqueta cada envío con la fuente — por ejemplo, un campo oculto
source = "youth-camp-flyer"para que puedas saber qué envíos vinieron de qué folleto - Pre-rellenar un valor mediante una cadena de consulta de URL (avanzado — requiere un bloque personalizado del constructor de sitios web; aún no es compatible en la URL del formulario independiente)
- Rastrear un código de campaña sin pedirle al visitante que lo escriba
Tabla de decisión rápida
| Quieres… | Tipo de campo |
|---|---|
| Una respuesta corta | Text |
| Una respuesta tipo párrafo | Textarea |
| Un correo obligatorio para contacto | |
| Un número de teléfono | Phone |
| Un conteo, edad o cantidad | Number |
| Una fecha de reserva | Date |
| Una hora de inicio | Time |
| Un enlace | URL |
| Una foto firmada / exención / PDF | File upload |
| Una puntuación de satisfacción 1–5 | Rating |
| Elegir uno de muchos | Select o Radio |
| Elegir muchos de muchos | Multi-select o Checkbox (con opciones) |
| Una casilla de consentimiento | Checkbox (sin opciones) |
| Separador de sección | Heading o Divider |
| Metadatos silenciosos | Hidden |
Lo que no está en el catálogo
Algunos tipos de campo que surgen a veces pero no están incorporados:
- Bloc de firma — aún no compatible. Para exenciones, pide al visitante que escriba su nombre en un campo Text etiquetado como "Escribe tu nombre para firmar".
- Lógica condicional ("mostrar este campo solo si el anterior es sí") — aún no compatible. Si necesitas ramificación, construye dos formularios separados y comparte el enlace correcto según la situación.
- Grupos repetidos ("agregar otro asistente") — no compatible. Pide un conteo en un campo Number en su lugar.
Estos están en la hoja de ruta; el constructor de formularios aún está madurando.
