Los flujos de trabajo (o workflows) son el motor de automatización de Kafinea. Permiten activar automáticamente acciones cuando se produce un evento en un registro: envío de correos electrónicos, actualización de campos, creación de registros, llamada a un servicio externo, etc. Si se configuran correctamente, eliminan las tareas repetitivas, reducen los errores humanos y garantizan la aplicación sistemática de tus reglas de negocio.
1. Acceder a los flujos de trabajo #
Los flujos de trabajo se gestionan desde Configuración > Automatización y comunicación > Flujos de trabajo. La lista muestra todos los flujos de trabajo existentes con su módulo de destino, su estado (activo/inactivo) y su descripción.
Desde esta lista, puedes:
- Crear un nuevo flujo de trabajo
- Modificar un flujo de trabajo existente
- Activar o desactivar un flujo de trabajo
- Eliminar un flujo de trabajo
2. Crear un flujo de trabajo #
La creación de un flujo de trabajo se lleva a cabo en tres pasos: la información básica, el desencadenante y, a continuación, las condiciones y las acciones.
Paso 1 — Información básica #
| Campo | Descripción |
|---|---|
| Nombre | Un nombre claro para identificar el flujo de trabajo (p. ej., «Recordatorio de factura pendiente») |
| Descripción | Una descripción opcional del comportamiento esperado |
| Módulo de destino | El módulo al que se aplica el flujo de trabajo (Facturas, Contactos, Tickets…) |
| Estatuto | Activo o inactivo: un flujo de trabajo inactivo nunca se activa |
Consejo: Establece una convención de nomenclatura clara para tus flujos de trabajo. Por ejemplo: «[Módulo] — Acción» (p. ej., «Factura — Envío automático tras la finalización»). Esto facilita el mantenimiento cuando aumenta el número de flujos de trabajo.
Paso 2 — Desencadenante n. º
El desencadenante determina cuándo se ejecuta el flujo de trabajo. Hay tres tipos de desencadenantes disponibles:
| Disparador | Comportamiento |
|---|---|
| Desde su creación | El flujo de trabajo solo se ejecuta al crear un nuevo registro |
| En la modificación | El flujo de trabajo se ejecuta cada vez que se modifica el registro (incluida su creación) |
| Por intervalos de tiempo | El flujo de trabajo se ejecuta según una programación temporal (véase la sección «Programación») |
Periodicidad (para el desencadenador «Al modificarse»):
Cuando eliges el desencadenador «Al modificarse», puedes especificar la periodicidad:
- La primera vez que se cumple la condición: el flujo de trabajo solo se ejecuta una vez por registro, la primera vez que se cumplen las condiciones
- Cada vez que se cumpla la condición: el flujo de trabajo se ejecuta con cada guardado, siempre que se cumplan las condiciones
Ejemplo: Un flujo de trabajo titulado «Enviar un correo electrónico de bienvenida» en el módulo Contactos, con la periodicidad «La primera vez que se cumpla la condición», garantiza que solo se envíe un correo electrónico de bienvenida por contacto, aunque la ficha se modifique varias veces posteriormente.
Planificación (activación por intervalos de tiempo) #
Cuando el desencadenador es «Por intervalo de tiempo», se configura la frecuencia de ejecución:
| Frecuencia | Descripción |
|---|---|
| Cada hora | Se ejecuta cada hora |
| Diario | Se ejecuta una vez al día a una hora concreta |
| Semanal | Se lleva a cabo algunos días de la semana a una hora concreta |
| Mensual por fecha | Se lleva a cabo en determinados días del mes (por ejemplo, el 1 y el 15) |
| Fecha concreta | Ejecución única en una fecha concreta |
| Anual | Se lleva a cabo en fechas concretas cada año |
Para todas las frecuencias, excepto «Cada hora», debes definir la hora de ejecución.
Nota: Los flujos de trabajo programados se ejecutan mediante el programador de Kafinea. Se aplican a todos los registros del módulo de destino que cumplan las condiciones definidas, y no a un único registro. Esto es lo que los hace especialmente eficaces para los procesamientos masivos (recordatorios, actualizaciones periódicas, notificaciones, etc.).
Importante: El número de flujos de trabajo programados es limitado. Si se alcanza el límite, la opción «Por intervalo de tiempo» se desactivará. Ponte en contacto con tu administrador si necesitas aumentar este límite.
Paso 3 — Condiciones y acciones #
Una vez definido el desencadenante, configura las condiciones de filtrado y las acciones que se deben ejecutar.
3. Las condiciones #
Las condiciones determinan qué registros se ven afectados por el flujo de trabajo. Funcionan como un filtro avanzado.
Crear una condición #
Cada condición se compone de:
- Un campo del módulo de destino (o de un módulo vinculado)
- Un operador de comparación
- Un valor de referencia
Operadores disponibles:
| Operador | Descripción |
|---|---|
| es igual a | Valor exacto |
| no es igual a | Diferente del valor |
| comienza por | El campo comienza con el valor |
| termina en | El campo termina con el valor |
| contiene | El campo contiene el valor |
| no contiene | El campo no contiene el valor |
| es menor que | Valor numérico o fecha anterior |
| es mayor que | Valor numérico o fecha posterior |
| es menor o igual que | Valor numérico o fecha menor o igual que |
| es mayor o igual que | Valor numérico o fecha igual o posterior |
| está vacío | El campo no tiene ningún valor |
| no está vacío | El campo tiene un valor |
| ha cambiado | Se ha modificado el campo (útil con el desencadenador «Al modificarse») |
| ha cambiado a | El campo se ha modificado y su nuevo valor es |
Grupos de condiciones #
Las condiciones se pueden combinar con los operadores lógicos «Y» y «O »:
- Todas las condiciones (Y): todas las condiciones del grupo deben ser verdaderas
- Al menos una condición (O): al menos una de las condiciones del grupo debe ser verdadera
Puede crear varios grupos de condiciones para definir reglas complejas.
Ejemplo: Para un flujo de trabajo de reclamación de facturas pendientes de pago, podría definir:
- Grupo 1 (Y): El estado es «Enviado» Y la fecha de vencimiento es anterior a «hoy»
Este flujo de trabajo se centrará en todas las facturas enviadas cuya fecha de vencimiento haya vencido.
Expresiones en las condiciones #
Además de los valores fijos, puedes utilizar expresiones dinámicas en las condiciones:
- Hoy: la fecha de hoy
- Mañana: el día siguiente
- Ayer: la fecha del día anterior
- Valor de otro campo: comparar un campo con el valor de otro campo del mismo registro
4. Las acciones (tareas) #
Las acciones definen lo que hace el flujo de trabajo cuando se cumplen las condiciones. Puedes añadir varias acciones a un mismo flujo de trabajo, que se ejecutarán en orden.
Enviar un correo electrónico #
Envía un correo electrónico a uno o varios destinatarios.
| Parámetro | Descripción |
|---|---|
| Destinatario | Dirección de correo electrónico de un campo del registro, de un usuario, de un grupo o una dirección fija |
| Asunto | El asunto del correo electrónico (puede contener variables del registro) |
| Cuerpo | El contenido del correo electrónico en formato de texto enriquecido (puede contener variables del registro) |
| Archivos adjuntos | Documentos relacionados con el registro |
Nota: Los correos electrónicos no se envían al instante. Se colocan en una cola y el programador se encarga de enviarlos. Por lo tanto, es normal que haya un ligero retraso entre el inicio del flujo de trabajo y la recepción del correo electrónico.
Consejo: Utiliza las variables (p. ej.:
$contacts-lastname$,$invoice-invoice_no$) para personalizar el contenido del correo electrónico con los datos del registro. La lista de variables disponibles se muestra en el editor.
Actualizar campos #
Modifica automáticamente el valor de uno o varios campos del registro.
| Parámetro | Descripción |
|---|---|
| Campo | El campo que hay que modificar |
| Valor | El nuevo valor (valor fijo, expresión o valor de otro campo) |
Ejemplo: Cuando un ticket pase al estado «Resuelto», establecer automáticamente el campo «Fecha de resolución» con la fecha de hoy.
Crear una tarea (todo) #
Crea automáticamente una tarea en el calendario.
| Parámetro | Descripción |
|---|---|
| Título | El título de la tarea |
| Estatuto | El estado inicial de la tarea |
| Prioridad | La prioridad de la tarea |
| Fecha de vencimiento | La fecha límite (se puede calcular, p. ej., «3 días a partir de hoy») |
| Asignado a | El usuario o el grupo responsable |
Crear un evento #
Crea automáticamente un evento en el calendario (reunión, llamada…).
| Parámetro | Descripción |
|---|---|
| Título | El título del evento |
| Tipo | Llamada, reunión, etc. |
| Fecha y hora | El inicio y el final del evento |
| Asignado a | El usuario o el grupo responsable |
Crear un registro #
Crea automáticamente un nuevo registro en otro módulo.
| Parámetro | Descripción |
|---|---|
| Módulo de destino | El módulo en el que se debe crear el registro |
| Correspondencia de campos | La relación entre los campos de la grabación original y los de la nueva grabación |
Ejemplo: Al crear un presupuesto aceptado, crear automáticamente un pedido de cliente con las mismas líneas de productos.
Llamar a una función personalizada #
Ejecuta una función específica desarrollada para su instancia de Kafinea. Estas funciones permiten automatizar procesos complejos que no se pueden llevar a cabo con las acciones estándar.
Nota: Las funciones personalizadas disponibles dependen de su configuración. Consulte a su integrador para conocer las funciones disponibles y crear otras nuevas.
Webhook #
Envía una solicitud HTTP a un servicio externo cuando se activa el flujo de trabajo. Es la herramienta ideal para conectar Kafinea con otras aplicaciones.
| Parámetro | Descripción |
|---|---|
| URL | El número de teléfono del servicio externo al que hay que llamar |
| Método HTTP | POST, GET, PUT, PATCH o DELETE |
| Formato | El formato de los datos enviados (JSON) |
| Autenticación | Ninguna, autenticación básica, token de portador o encabezado personalizado |
Los datos del registro se incluyen automáticamente en la solicitud en formato JSON, junto con el tipo de registro y todos sus campos.
Ejemplo: Cuando se finalice una factura, envía un webhook a tu programa de contabilidad para sincronizar automáticamente los asientos contables.
Consejo: Los webhooks permiten integrar Kafinea con plataformas de automatización como Zapier, Make (antes Integromat) o n8n, lo que abre un abanico casi ilimitado de posibilidades de integración.
Indicación de IA #
Envía los datos del registro a un servicio de inteligencia artificial con una indicación personalizada y, a continuación, actualiza automáticamente los campos con la respuesta generada.
| Parámetro | Descripción |
|---|---|
| Mensaje | Las instrucciones enviadas a la IA (lo que le pides que haga) |
| Campos que hay que actualizar | Los campos del registro que recibirán la respuesta de la IA |
La IA recibe automáticamente toda la información del registro: sus campos, los registros principales relacionados, los documentos adjuntos, las imágenes, las líneas de productos y los datos de la organización.
Ejemplo: Al crear un ticket de asistencia, utilizar la IA para analizar la descripción del problema y rellenar automáticamente los campos «Categoría» y «Prioridad sugerida».
Ejemplo: Al recibir una factura de un proveedor escaneada, utilizar la IA para extraer automáticamente el importe, la fecha y el número de factura del documento adjunto.
Enviar un SMS #
Envía un SMS a un número de teléfono que figure en el registro.
Nota: Para realizar esta acción, es necesario configurar previamente un proveedor de SMS en los ajustes de Kafinea.
5. Casos de uso habituales #
Automatización comercial #
- Reclamación de facturas pendientes: flujo de trabajo programado diariamente que envía un correo electrónico de reclamación para las facturas cuyo vencimiento ha vencido
- Notificación de un nuevo presupuesto: al crear un presupuesto, enviar un correo electrónico al responsable comercial
- Seguimiento de oportunidades: crear una tarea de recordatorio cuando una oportunidad no se haya actualizado en los últimos 7 días
Gestión de proyectos #
- Notificación de asignación: enviar un correo electrónico a una persona cuando se le asigna una tarea del proyecto
- Actualización del estado: actualizar automáticamente el estado de un proyecto cuando se hayan completado todas sus tareas
Atención al cliente #
- Confirmación de recepción: enviar un correo electrónico de confirmación al cliente al crear un ticket
- Escalado automático: si un ticket no se resuelve en un plazo de 48 horas, enviar una notificación al responsable del equipo
- Notificación de resolución: enviar un correo electrónico al cliente cuando el ticket pase al estado «Resuelto»
Recursos humanos #
- Correo electrónico de bienvenida: enviar un correo electrónico de bienvenida al crear una nueva ficha de persona
- Recordatorio de fin de contrato: flujo de trabajo programado que notifica al departamento de RR. HH. 30 días antes de que finalice un contrato de trabajo
Integraciones externas #
- Sincronización contable: enviar un webhook al software de contabilidad cada vez que se finalice una factura
- Notificaciones en Slack/Teams: enviar un webhook a un canal de mensajería cuando se produzcan eventos importantes
- Enriquecimiento mediante IA: analizar automáticamente los documentos entrantes y rellenar los campos pertinentes
6. Buenas prácticas #
- Un flujo de trabajo = una responsabilidad: evita sobrecargar un flujo de trabajo con demasiadas acciones. Es mejor optar por varios flujos de trabajo sencillos que por uno complejo
- Asigna un nombre claro: un buen nombre para un flujo de trabajo describe su desencadenante y su acción (p. ej., «Factura — Recordatorio a los 30 días»).
- Prueba antes de activarlo: crea el flujo de trabajo con el estado «inactivo», comprueba las condiciones en algunos registros y, a continuación, actívalo
- Utiliza la periodicidad «una sola vez» para las notificaciones puntuales (bienvenida, confirmación) con el fin de evitar envíos múltiples
- Documenta tus flujos de trabajo: utiliza el campo «Descripción» para explicar el contexto empresarial y las reglas aplicadas
- Supervise los flujos de trabajo programados: compruebe periódicamente en el programador que las ejecuciones se desarrollan correctamente
7. Preguntas frecuentes #
¿Puedo incluir varias acciones en un mismo flujo de trabajo?
Sí, puedes añadir tantas acciones como necesites. Se ejecutan en el orden en que aparecen.
Mi correo electrónico del flujo de trabajo no se envía inmediatamente, ¿es normal?
Sí, los correos electrónicos se colocan en una cola y los envía el programador. El tiempo de espera depende de la frecuencia de ejecución del programador (por lo general, unos minutos).
¿Cómo saber si un flujo de trabajo se ha ejecutado correctamente?
Consulte el registro de eventos para comprobar las ejecuciones e identificar posibles errores.
¿Puedo utilizar un flujo de trabajo para modificar un registro vinculado (padre o hijo)?
Sí, la acción «Actualizar campos» permite modificar directamente los campos de un registro padre vinculado a través de un campo de referencia. En la interfaz de configuración, los campos de los módulos vinculados aparecen con el formato «(Campo de referencia: (Módulo) Campo de destino)». Por ejemplo, puede actualizar el número de teléfono de una cuenta desde un flujo de trabajo en los contactos. Sin embargo, para modificar registros hijos (que hacen referencia al registro actual), utilice la acción «Llamar a una función personalizada» o cree un flujo de trabajo independiente en el módulo hijo.
¿Cuál es la diferencia entre un flujo de trabajo programado y el programador?
El programador es el motor técnico que ejecuta las tareas en segundo plano (incluidos los flujos de trabajo programados). Un flujo de trabajo programado es una regla de negocio que usted configura y que el programador ejecutará con la frecuencia definida.
¿Puedo duplicar un flujo de trabajo existente?
No existe una función de duplicación directa. Debes crear un nuevo flujo de trabajo y volver a configurar los parámetros manualmente.
¿Funcionan los flujos de trabajo durante una importación CSV?
No, los flujos de trabajo no se activan durante una importación CSV. La importación utiliza un procesamiento por lotes optimizado para el rendimiento que no pasa por el mecanismo de activación de los flujos de trabajo. Si necesita aplicar procesos automáticos tras una importación, puede utilizar un flujo de trabajo programado que compruebe periódicamente los registros creados o modificados recientemente.