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 email, 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 sus reglas de negocio.
1. Acceder a los workflows #
Los workflows se gestionan desde Ajustes > Automatización y comunicación > Flujos de trabajo. La lista muestra todos los workflows existentes con su módulo objetivo, su estado (activo/inactivo) y su descripción.
Desde esta lista, puede:
- Crear un nuevo workflow
- Modificar un workflow existente
- Activar o desactivar un workflow
- Eliminar un workflow
2. Crear un workflow #
La creación de un workflow se realiza en tres etapas: la información básica, el desencadenante y, por último, las condiciones y acciones.
Paso 1 — Información básica #
| Campo | Descripción |
|---|---|
| Nombre | Un nombre explícito para identificar el workflow (p. ej.: “Recordatorio de factura impagada”) |
| Descripción | Una descripción opcional del comportamiento esperado |
| Módulo objetivo | El módulo al que se aplica el workflow (Facturas, Contactos, Tickets…) |
| Estado | Activo o inactivo — un workflow inactivo nunca se ejecuta |
Consejo: Adopte una convención de nombres clara para sus workflows. 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 workflows.
Paso 2 — Desencadenante #
El desencadenante determina cuándo se ejecuta el workflow. Hay disponibles tres tipos de desencadenantes:
| Desencadenante | Comportamiento |
|---|---|
| Al crear | El workflow se ejecuta únicamente al crear un nuevo registro |
| Al modificar | El workflow se ejecuta en cada modificación del registro (incluida la creación) |
| Por intervalo de tiempo | El workflow se ejecuta según una planificación temporal (véase la sección “Planificación”) |
Recurrencia (para el desencadenante “Al modificar”):
Cuando elige el desencadenante “Al modificar”, puede especificar la recurrencia:
- La primera vez que se cumple la condición: el workflow solo se ejecuta una vez por registro, la primera vez que se cumplen las condiciones
- Cada vez que se cumple la condición: el workflow se ejecuta en cada guardado mientras se cumplan las condiciones
Ejemplo: Un workflow “Enviar un email de bienvenida” en el módulo Contactos con la recurrencia “La primera vez que se cumple la condición” garantiza que solo se envíe un email de bienvenida por contacto, aunque la ficha se modifique varias veces posteriormente.
Planificación (desencadenante por intervalo de tiempo) #
Cuando el desencadenante es “Por intervalo de tiempo”, configura la frecuencia de ejecución:
| Frecuencia | Descripción |
|---|---|
| Cada hora | Ejecución cada hora |
| Diario | Ejecución una vez al día a una hora concreta |
| Semanal | Ejecución determinados días de la semana a una hora concreta |
| Mensual por fecha | Ejecución determinados días del mes (p. ej.: el 1 y el 15) |
| Fecha específica | Ejecución única en una fecha concreta |
| Anual | Ejecución en fechas concretas cada año |
Para todas las frecuencias excepto “Cada hora”, define la hora de ejecución.
Nota: Los workflows planificados se ejecutan mediante el planificador de Kafinea. Se aplican a todos los registros del módulo objetivo que coincidan con las condiciones definidas, y no a un único registro. Esto es lo que los hace especialmente potentes para los tratamientos en masa (recordatorios, actualizaciones periódicas, notificaciones…).
Importante: El número de workflows planificados está limitado. Si se alcanza el límite, se desactiva la opción “Por intervalo de tiempo”. Póngase en contacto con su administrador si necesita aumentar este límite.
Paso 3 — Condiciones y acciones #
Después de definir el desencadenante, configura las condiciones de filtrado y las acciones que se ejecutarán.
3. Las condiciones #
Las condiciones determinan qué registros están afectados por el workflow. Funcionan como un filtro avanzado.
Construir una condición #
Cada condición se compone de:
- Un campo del módulo objetivo (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 | Distinto del valor |
| empieza por | El campo empieza por el valor |
| termina por | El campo termina por el valor |
| contiene | El campo contiene el valor |
| no contiene | El campo no contiene el valor |
| es inferior a | Valor numérico o fecha inferior |
| es superior a | Valor numérico o fecha superior |
| es inferior o igual a | Valor numérico o fecha inferior o igual |
| es superior o igual a | Valor numérico o fecha superior o igual |
| está vacío | El campo no tiene valor |
| no está vacío | El campo tiene un valor |
| ha cambiado | El campo se ha modificado (útil con el desencadenante “Al modificar”) |
| ha cambiado a | El campo se ha modificado y su nuevo valor coincide |
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 condición del grupo debe ser verdadera
Puede crear varios grupos de condiciones para construir reglas complejas.
Ejemplo: Para un workflow de recordatorio de facturas impagadas, podría definir:
- Grupo 1 (Y): Estado es igual a “Enviada” Y Fecha de vencimiento es inferior a “hoy”
Este workflow se dirigirá a todas las facturas enviadas cuya fecha de vencimiento haya expirado.
Expresiones en las condiciones #
Además de valores fijos, puede utilizar expresiones dinámicas en las condiciones:
- Hoy: la fecha de hoy
- Mañana: la fecha del 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 qué hace el workflow cuando se cumplen las condiciones. Puede añadir varias acciones a un mismo workflow, que se ejecutarán en el orden indicado.
Enviar un email #
Envía un email a uno o varios destinatarios.
| Parámetro | Descripción |
|---|---|
| Destinatario | Dirección de email de un campo del registro, de un usuario, de un grupo o una dirección fija |
| Asunto | El asunto del email (puede contener variables del registro) |
| Cuerpo | El contenido del email en formato de texto enriquecido (puede contener variables del registro) |
| Archivos adjuntos | Documentos vinculados al registro |
Nota: Los emails no se envían al instante. Se colocan en una cola y los envía el planificador. Por tanto, es normal que haya un pequeño retraso entre el desencadenamiento del workflow y la recepción del email.
Consejo: Utilice las variables (p. ej.:
$contacts-lastname$,$invoice-invoice_no$) para personalizar el contenido del email 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 se va a modificar |
| Valor | El nuevo valor (fijo, expresión o valor de otro campo) |
Ejemplo: Cuando un ticket pasa al estado “Resuelto”, establecer automáticamente el campo “Fecha de resolución” en 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 |
| Estado | El estado inicial de la tarea |
| Prioridad | La prioridad de la tarea |
| Fecha de vencimiento | La fecha límite (puede calcularse, p. ej.: “3 días después 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 fin 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 objetivo | El módulo en el que crear el registro |
| Correspondencia de campos | La asociación entre los campos del registro de origen y los del nuevo registro |
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 de negocio específica desarrollada para su instancia de Kafinea. Estas funciones permiten automatizar tratamientos complejos que no se pueden realizar 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 nuevas.
Webhook #
Envía una solicitud HTTP a un servicio externo cuando se desencadena el workflow. Es la herramienta ideal para conectar Kafinea con otras aplicaciones.
| Parámetro | Descripción |
|---|---|
| URL | La dirección del servicio externo al que llamar |
| Método HTTP | POST, GET, PUT, PATCH o DELETE |
| Formato | El formato de los datos enviados (JSON) |
| Autenticación | Ninguna, Basic Auth, Bearer Token o encabezado personalizado |
Los datos del registro se incluyen automáticamente en la solicitud en formato JSON, con el tipo de registro y el conjunto de sus campos.
Ejemplo: Cuando se finaliza una factura, enviar un webhook a su software de contabilidad para sincronizar automáticamente los asientos.
Consejo: Los webhooks permiten integrar Kafinea con plataformas de automatización como Zapier, Make (ex-Integromat) o n8n, abriendo así posibilidades de integración casi ilimitadas.
Prompt de IA #
Envía los datos del registro a un servicio de inteligencia artificial con un prompt personalizado y, a continuación, actualiza automáticamente campos con la respuesta generada.
| Parámetro | Descripción |
|---|---|
| Prompt | Las instrucciones enviadas a la IA (lo que le pide que haga) |
| Campos que actualizar | Los campos del registro que recibirán la respuesta de la IA |
La IA recibe automáticamente el contexto completo del registro: sus campos, los registros padre vinculados, los documentos adjuntos, las imágenes, las líneas de productos y la información de la organización.
Ejemplo: Al crear un ticket de soporte, utilizar la IA para analizar la descripción del problema y rellenar automáticamente el campo “Categoría” y el campo “Prioridad sugerida”.
Ejemplo: Al recibir una factura de proveedor digitalizada, 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 procedente del registro.
Nota: Esta acción requiere la configuración previa de un proveedor de SMS en los ajustes de Kafinea.
5. Casos de uso habituales #
Automatización comercial #
- Recordatorio de facturas impagadas: workflow planificado diario que envía un email de recordatorio para las facturas cuya fecha de vencimiento ha expirado
- Notificación de nuevo presupuesto: al crear un presupuesto, enviar un email al responsable comercial
- Seguimiento de oportunidades: crear una tarea de recordatorio cuando una oportunidad no se ha actualizado desde hace 7 días
Gestión de proyectos #
- Notificación de asignación: enviar un email a una persona cuando se le asigna una tarea de proyecto
- Actualización de estado: actualizar automáticamente el estado de un proyecto cuando todas sus tareas estén completadas
Soporte al cliente #
- Acuse de recibo: enviar un email de confirmación al cliente al crear un ticket
- Escalado automático: si un ticket no se gestiona en 48 horas, enviar una notificación al responsable del equipo
- Notificación de resolución: enviar un email al cliente cuando el ticket pase al estado “Resuelto”
Recursos humanos #
- Email de bienvenida: enviar un email de bienvenida al crear una nueva ficha de persona
- Recordatorio de fin de contrato: workflow planificado que notifica al departamento de RR. HH. 30 días antes del fin de un contrato de trabajo
Integraciones externas #
- Sincronización contable: enviar un webhook al software de contabilidad con cada factura finalizada
- Notificación Slack/Teams: enviar un webhook a un canal de mensajería cuando se produzcan eventos importantes
- Enriquecimiento con IA: analizar automáticamente los documentos entrantes y rellenar los campos pertinentes
6. Buenas prácticas #
- Un workflow = una responsabilidad: evite sobrecargar un workflow con demasiadas acciones. Prefiera varios workflows sencillos a un workflow complejo
- Póngales nombres claros: un buen nombre de workflow describe su desencadenante y su acción (p. ej.: “Factura — Recordatorio D+30”)
- Pruebe antes de activar: cree el workflow con estado inactivo, verifique las condiciones en algunos registros y, a continuación, actívelo
- Utilice la recurrencia “una sola vez” para las notificaciones puntuales (bienvenida, confirmación) para evitar envíos múltiples
- Documente sus workflows: utilice el campo de descripción para explicar el contexto de negocio y las reglas aplicadas
- Supervise los workflows planificados: compruebe regularmente en el planificador que las ejecuciones se realizan correctamente
7. Preguntas frecuentes #
¿Puedo tener varias acciones en un mismo workflow?
Sí, puede añadir tantas acciones como sea necesario. Se ejecutan en el orden en que aparecen.
Mi email del workflow no se envía inmediatamente, ¿es normal?
Sí, los emails se colocan en una cola y los envía el planificador. El retraso depende de la frecuencia de ejecución del planificador (normalmente, unos minutos).
¿Cómo sé si un workflow se ha ejecutado correctamente?
Consulte el registro de eventos para verificar las ejecuciones e identificar posibles errores.
¿Puedo utilizar un workflow para modificar un registro vinculado (padre o hijo)?
Sí, la acción “Actualizar campos” permite modificar directamente los campos de un registro padre vinculado mediante un campo de referencia. En la interfaz de configuración, los campos de los módulos vinculados aparecen en forma de “(Campo de referencia: (Módulo) Campo objetivo)”. Por ejemplo, puede actualizar el teléfono de una cuenta desde un workflow en los contactos. En cambio, para modificar registros hijos (que referencian el registro actual), utilice la acción “Llamar a una función personalizada” o cree un workflow separado en el módulo hijo.
¿Cuál es la diferencia entre un workflow planificado y el planificador?
El planificador es el motor técnico que ejecuta las tareas en segundo plano (incluidos los workflows planificados). Un workflow planificado es una regla de negocio que usted configura y que será ejecutada por el planificador según la frecuencia definida.
¿Puedo duplicar un workflow existente?
No existe una función de duplicación directa. Debe crear un nuevo workflow y reconfigurar los ajustes manualmente.
¿Los workflows funcionan durante una importación CSV?
No, los workflows no se desencadenan durante una importación CSV. La importación utiliza un procesamiento por lotes optimizado para el rendimiento que no pasa por el mecanismo de desencadenamiento de workflows. Si necesita aplicar tratamientos automáticos después de una importación, puede utilizar un workflow planificado que comprobará periódicamente los registros creados o modificados recientemente.