Ir al contenido

Formularios - Captura de datos

El sistema de formularios permite crear formularios de captura de datos que pueden disparar workflows o ser presentados dentro de la ejecución de un workflow. Esta compuesto por dos modulos principales:

  • FormTrigger: Inicia un workflow a partir del envío de un formulario.
  • FormRender: Genera y muestra formularios dentro de un workflow en ejecución.

Organizar formularios con carpetas y etiquetas

Sección titulada «Organizar formularios con carpetas y etiquetas»

Los formularios soportan el mismo sistema de carpetas y etiquetas que los workflows, facilitando la organización de colecciones grandes.

Crea una estructura jerarquica en el panel lateral izquierdo para agrupar formularios relacionados:

  • Haz clic en + Nueva carpeta para crear una carpeta raiz o subcarpeta
  • Arrastra cualquier tarjeta de formulario sobre una carpeta para moverla
  • Haz clic en una carpeta para filtrar la lista y ver solo sus formularios
  • Las carpetas muestran el número de formularios que contienen

Asignación automática al crear: Si hay una carpeta seleccionada cuando haces clic en Nuevo Formulario, el formulario nuevo se coloca automáticamente dentro de esa carpeta.

Las etiquetas son clasificaciones libres que puedes asociar a uno o varios formularios:

  • Agrega etiquetas al crear o editar un formulario
  • Haz clic en una etiqueta en el panel lateral para filtrar por ella
  • Varias etiquetas pueden estar activas a la vez (lógica AND)

La página Configuración → Organización ofrece una vista centralizada de todas las carpetas y etiquetas compartidas entre Workflows, Formularios y Dashboards. Desde ahi puedes renombrar, eliminar o revisar los recuentos de uso por modulo.


Form Trigger - Iniciar workflow desde formulario

Sección titulada «Form Trigger - Iniciar workflow desde formulario»

Es un trigger que inicia el workflow cuando se envia un formulario. Funciona de manera similar al webhook, pero incluye metadata de formulario adicional.

Los datos recibidos incluyen:

{
"campo1": "valor",
"_request": { "method": "POST", "timestamp": "...", "source": "form" },
"_form": { "form_id": "1", "form_name": "Registro", "form_fields": [...] }
}

Soporta flujo OTP (One-Time Password) para verificación de identidad del usuario antes de procesar el envío.


Form Render - Mostrar formularios en el flujo

Sección titulada «Form Render - Mostrar formularios en el flujo»

Genera un formulario pre-poblado con datos del workflow. Dispone de tres modos de salida:

  • url: Retorna una URL para acceder al formulario (modo por defecto).
  • html: Retorna HTML embebible directamente en una página o correo.
  • redirect: Redirige al usuario al formulario automáticamente.

Utiliza sesiones temporales con una duración de 24 horas para pre-llenar los campos del formulario. La tabla form_prefill_sessions almacena estos datos temporales hasta su expiración.


Permite pre-llenar campos del formulario con datos provenientes del workflow. Se utilizan variables dinámicas para referenciar valores de nodos anteriores o variables del workflow:

{
"email": "{{@Webhook.email}}",
"nombre": "{{@HTTP_Request.data.name}}",
"empresa": "{{var.empresa_nombre}}"
}

De esta forma, cuando el usuario accede al formulario, los campos indicados ya contienen los valores correspondientes.


ParámetroTipoDescripción
form_idtextID del formulario a renderizar
field_mappingjsonMapeo de campos con variables dinámicas
output_typeselecturl, html, redirect
redirect_after_submitbooleanRedirigir después de enviar
custom_titletextTítulo personalizado (soporta variables)
custom_descriptiontextareaDescripción personalizada

El campo Imagen y el Logo del formulario (en Ajustes) se eligen de la biblioteca de Recursos con Elegir de la biblioteca. El logo se muestra sobre el título en el formulario público. Para que se vea sin iniciar sesión, la imagen debe ser pública; el selector te lo propone si no lo es.

En un campo select, activa Cargar opciones dinámicas y elige el origen:

  • Endpoint externo (URL): el navegador carga las opciones de una dirección que devuelve una lista.
  • DataStore de Floogos: eliges el grupo, el campo que se muestra y el campo que se guarda (o la Key del registro). Con Probar ves cuántas opciones salen y una vista previa.

Con el DataStore, las opciones las sirve Floogos al formulario público con las mismas restricciones de acceso que el propio formulario (publicado, grupo de seguridad, autenticación). Solo se envían los dos campos elegidos y hasta 500 opciones. Las verá cualquiera que abra el formulario, así que no elijas campos con datos privados.


Un formulario largo se puede mostrar paso a paso. Es lo que usa, por ejemplo, la reserva de citas: elegir el hueco, dejar tus datos y confirmar.

  1. En el editor del formulario, añade un elemento Etapa (en «Elementos de diseño») antes de los campos de cada paso. Todo lo que va debajo de una etapa, hasta la siguiente, forma ese paso. Los campos que queden antes de la primera etapa forman un primer paso.
  2. En los ajustes del formulario activa Mostrar por etapas (asistente). Puedes cambiar el texto de los botones «Siguiente» y «Atrás».
  3. Publica el formulario.

Quien lo rellena ve un indicador de progreso y los botones Siguiente y Atrás. Cada paso se valida antes de avanzar: los campos obligatorios, el formato del email, los selectores y los archivos obligatorios. El botón de envío solo aparece en el último paso, y al enviar se vuelven a comprobar todos los pasos. Se puede volver a un paso ya superado desde el indicador de progreso. Pulsar Intro en un campo avanza al siguiente paso en lugar de enviar el formulario a medias.

Los datos de todos los pasos se envían juntos al workflow, igual que en un formulario normal; las etapas no son campos y no se envían.

Si no activas el asistente, las etapas se ven como simples títulos de sección. Con una sola etapa, el formulario se muestra normal.

Las tablas principales involucradas son:

TablaColumnas clave
formsid, name, description, form_json, settings, public_hash, folder_id, tags
form_prefill_sessionssession_hash, form_id, prefill_data, expires_at (24h)
form_submissionsAlmacena las respuestas enviadas por los usuarios

Webhook (recibe datos parciales del CRM)
-> HTTP (consultar datos adicionales)
-> FormRender (pre-llenar formulario de registro)
-> [Usuario completa el formulario]
FormTrigger (recibe formulario completado)
-> DataStore (guardar cliente)
-> SendMail (enviar confirmacion)
-> End

En este flujo, se reciben datos iniciales desde un CRM via webhook, se enriquecen con una consulta HTTP externa, y se genera un formulario pre-llenado para que el usuario complete la información faltante. Una vez enviado el formulario, un segundo workflow almacena los datos y envia un correo de confirmación.


FormTrigger (solicitud de vacaciones)
-> SetVariable (guardar solicitud)
-> SendMail (notificar al manager)
-> FormRender (formulario de aprobacion para manager)
-> [Manager aprueba/rechaza]
FormTrigger (respuesta del manager)
-> Decision (aprobado?)
-> true: SendMail (notificar aprobacion)
-> false: SendMail (notificar rechazo)
-> End

En este caso, un empleado envia una solicitud de vacaciones mediante un formulario. El sistema notifica al manager y le presenta un formulario de aprobación. Según la respuesta del manager, se notifica al empleado si la solicitud fue aprobada o rechazada.