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 ejecucion de un workflow. Esta compuesto por dos modulos principales:

  • FormTrigger: Inicia un workflow a partir del envio de un formulario.
  • FormRender: Genera y muestra formularios dentro de un workflow en ejecucion.

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 organizacion 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 numero de formularios que contienen

Asignacion automatica al crear: Si hay una carpeta seleccionada cuando haces clic en Nuevo Formulario, el formulario nuevo se coloca automaticamente 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 (logica AND)

La pagina Configuracion → Organizacion 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 verificacion de identidad del usuario antes de procesar el envio.


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 pagina o correo.
  • redirect: Redirige al usuario al formulario automaticamente.

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


Permite pre-llenar campos del formulario con datos provenientes del workflow. Se utilizan variables dinamicas 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.


ParametroTipoDescripcion
form_idtextID del formulario a renderizar
field_mappingjsonMapeo de campos con variables dinamicas
output_typeselecturl, html, redirect
redirect_after_submitbooleanRedirigir despues de enviar
custom_titletextTitulo personalizado (soporta variables)
custom_descriptiontextareaDescripcion personalizada

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 informacion faltante. Una vez enviado el formulario, un segundo workflow almacena los datos y envia un correo de confirmacion.


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 aprobacion. Segun la respuesta del manager, se notifica al empleado si la solicitud fue aprobada o rechazada.