Ejemplos de flujos de trabajo

From SinergiaCRM - Wikisuite
Jump to navigation Jump to search

Introducción

Para facilitar el aprendizaje del uso del módulo de flujos de trabajo a continuación se presentan un conjunto de ejemplos de automatismos que se pueden crear desde el propio módulo y que pueden servir como referencia a las entidades usuarias, ya sea para su réplica o adaptación, ya sea como fuente de inspiración.

Nivel básico

Programar una llamada y enviar un email cuando se da de alta un nuevo interesado

Al dar de alta un nuevo interesado en el CRM (puede ser vía formulario web, vía la propia aplicación, etc.) se desea enviarle un correo de bienvenida y programar una llamada para conocer de primera mano su interés en la organización.


Flujos6.jpg


  • Propiedades: el flujo se ejecutará únicamente sobre los nuevos registros del módulo Interesados.
  • Condiciones: en este caso no se exige ninguna condición específica, las acciones se harán sobre todos los nuevos interesados.
  • Acciones: por un lado, crear un registro en el módulo Llamadas y vincularlo al registro de Interesados en cuestión, marcando la casilla Relacionar con el módulo del Flujo de Trabajo y estableciendo la fecha de la llamada para tres días después del alta así como el asunto de la llamada. Por el otro, enviar un correo a la dirección del nuevo interesado (Registro de correo electrónico), seleccionando la plantilla adecuada. En este caso, la inserción de variables en la plantilla de correo permitiría personalizar el cuerpo del mensaje para cada interesado, indicando, por ejemplo, su nombre.


Enviar un agradecimiento a las personas asociadas al cumplir 10 años

Se desea enviar un correo de felicitación y agradecimiento a los socios que cumplen 10 años como tales. Al mismo tiempo, se desea notificar esta situación al departamento de atención a los socios para que puedan llevar a cabo otras acciones de fidelización, agradecimiento, homenaje, etc.


Flujos9.jpg


  • Propiedades: el flujo se ejecutará sobre Todos los registros del módulo Relaciones con Personas.
  • Condiciones: la persona debe tener una relación de tipo socia activa (sin fecha de baja) y cuya fecha de alta sea 10 años atrás.
  • Acciones: se enviará un mensaje a la dirección de correo electrónico de la persona relacionada con el registro sobre el que se ejecuta el flujo. Se enviará otro mensaje a todos los usuarios del CRM que se encuentren en el rol de Atención a socios.


Felicitar a las personas asociadas por su cumpleaños

Se desea enviar un correo de felicitación a los socios en el día de su cumpleaños.


Flujos10.jpg


  • Propiedades: el flujo se ejecutará sobre Todos los registros del módulo Personas. Se activa la casilla Ejecuciones múltiples para que un mismo socio sea felicitado todos los años.
  • Condiciones: la persona debe tener asociado el tipo de relación Socio. Es interesante observar el uso de la cláusula Uno de. Dado que el campo Tipo de relación en el módulo Personas es multiselección, debe usarse esta cláusula para que socios que tengan otros tipos de relación activos sean reconocidos como tales. Además se usa el parámetro Aniversario para indicar que la comparación se verificará en todos los casos en los que coincidan día y mes con la fecha indicada, omitiéndose el año.
  • Acciones: se enviará un mensaje a la dirección de correo electrónico del registro sobre el que se ejecuta el flujo.


Generar un aviso por devolución de un recibo

En caso de recibir una devolución de un recibo y que así quede registrada en el CRM (ya sea por edición manual, ya sea por carga automática del fichero bancario) se desea reasignar el pago al usuario encargado de los impagos y notificarle el hecho por correo electrónico.


Flujos8.jpg


  • Propiedades: el flujo se ejecutará de forma múltiple (por si un mismo pago es devuelto en más de una ocasión) sobre los Registros modificados del módulo Pagos.
  • Condiciones: el Estado del pago debe ser Impagado y su Fecha de devolución debe haber cambiado.
  • Acciones: se modificará el registro del pago, reasignándolo a un usuario concreto (el encargado de gestionar los impagos), y se notificará el hecho por correo al mismo usuario.


Añadir un donante a una Lista de público objetivo (LPO)

Cuando una persona adquiere la condición de donante se la debe incorporar a una lista de público objetivo determinada a fin de usarla en campañas posteriores.


Flujos7.jpg


  • Propiedades: el flujo se ejecutará sobre Todos los registros (creados o modificados) del módulo Personas. Aquí cabe tener en cuenta que un donante que pierda la condición de tal no será eliminado automáticamente de la LPO ni por este ni por otro flujo de trabajo, por lo que debería realizarse una desvinculación manual.
  • Condiciones: la persona debe tener asociado el tipo de relación Donante. Es interesante observar el uso de la cláusula Múltiple. Dado que el campo Tipo de relación en el módulo Personas es multiselección, debe usarse esta cláusula para que donantes que tengan otros tipos de relación activos sean reconocidos como tales.
  • Acciones: se debe crear una relación con el módulo Lista de público objetivo, añadiendo la persona a la lista seleccionada. Es interesante observar que en este caso la acción seleccionada, Modificar registro, no tiene efecto alguno sobre el registro del módulo Personas y sirve exclusivamente como vía de acceso a la creación de un registro de relación entre los módulos de Personas y Listas de Público Objetivo.


Enviar correo y crear relación con persona cuando entra un nuevo cliente potencial

Desde el formulario para registro de clientes potenciales es posible crear una nueva persona u interesado. Ver Formulario clásico de campañas.

Las opciones de configuración de este formulario no permiten definir una plantilla de correo para que se envíe a la persona anunciando que sus datos han entrado correctamente al CRM, como sí pasa con el formulario de inscripción a eventos, por ejemplo.

Por otro lado, también es posible que se desee crear un tipo de relación con personas específico para las personas que entran a través de esta vía. En este caso tampoco es posible configurarlo desde la construcción del formulario, como sí que pasa con el formulario de captación de fondos, por ejemplo.

Es posible solventar las dos situaciones con un flujo de trabajo que detecte las personas u interesados que entren vinculados a una campaña en concreto y que les envié un correo con la plantilla que decidamos y cree automáticamente una relación con persona del tipo que le digamos.


FdT cliente potencial.jpg


  • Actuaciones previas: Crear el tipo de relación que desearemos aplicar a los registros, si es uno que no existe a la lista.
  • Módulo base: Personas.
  • Propiedades: Ejecutar siempre sobre registros de nueva creación.
  • Condiciones: que la campaña que tenga vinculada la persona sea "x".
  • Acciones: crear registro de relación con personas del tipo deseado y con fecha de alta "hoy". También se puede vincular a un proyecto en concreto. También se creará una acción que enviará un correo electrónico a la dirección que haya especificado la persona al rellenar el formulario para que tenga constancia que se ha dado de alta correctamente.


Además, desde el mismo flujo de trabajo se puede añadir a la persona o al interesado en una lista de público objetivo. Para hacerlo bastará con añadir la acción que aparece en este otro flujo de trabajo de ejemplo.


Nivel intermedio

Construir el campo Nombre de un módulo de forma automática

En algunos módulos de SinergiaCRM el campo Nombre se genera de forma automática mediante la concatenación de diferentes campos del registro, eximiendo al usuario de tener que introducir un valor manualmente. Esto suele hacerse cuando ese nombre no tiene un valor semántico propio (un compromiso de pago, una inscripción, etc.). En módulos propios creados por la entidad podría darse una necesidad parecida (para el campo Nombre o para cualquier otro) que puede ser resuelta mediante el uso de flujos de trabajo con campos calculados.


FdT Nombre automático.jpg


  • Acciones previas: Crear el campo Nombre automático, de tipo texto, en el módulo Relaciones con Personas.
  • Módulo base: Relaciones con Personas.
  • Condiciones: Ninguna. También se podría añadir que la condición sea que el Nombre tenga valor "nulo". Así, si alguien ha puesto información, ya no se completaría, por ejemplo.
  • Acciones: Calcular Campos.
    • Crear parámetro con la Persona ({P0}).
    • Crear parámetro con el Tipo de relación ({P1}).
    • Crear parámetro con la Fecha de alta ({P2}).
    • Aplicar fórmula sobre el campo Nombre automático: REL. PERSONA: {P0} - {P1} - {P2}.

Los textos que se incluyen en la fórmula se trasladarán al resultado final concatenados con los parámetros evaluados.


Calcular nombre automático en módulo.jpg


Calcular nombre automático en módulo 2.jpg


Crear un contador numérico (código de socio o similar)

Se desea tener un campo que genere automáticamente un número secuencial o contador que actúe como código de socio, de registro, etc.


FdT CC Código socio.jpg


  • Actuaciones previas: Crear el campo de texto Código de socio en Relaciones con Persona.
  • Módulo base: Relaciones con Personas.
  • Propiedades: Ejecutar una sola vez sobre registros de nueva creación.
  • Condiciones: Que Código de Socio sea nulo (esté vacío) y que el Tipo de relación sea Socio/a.
  • Acciones: Calcular campos:
    • No son necesarios parámetros.
    • Aplicar fórmula sobre el campo Código de Socio usando la función GlobalCounterPerModule(name; numberLength), donde name es el nombre del contador y numberLength la longitud en caracteres del código devuelto: {GlobalCounterPerModule(CodigoSocio; 4)}.


Código socio.jpg


Código socio 2.jpg


  • Si ya existe un número N de registros numerados puede incorporarse la función add y así empezar a contar desde N+1.
  • El código final no tiene por qué ser estrictamente numérico: se puede combinar con texto, parámetros, etc. Por ejemplo: "Factura" + año + código secuencial.


Poner en mayúsculas nombres y apellidos

Se desea modificar el formato de texto de los campos Nombre y Apellidos para que aparezcan escritos completamente en mayúsculas.


FdT CC Nombre y apellidos en mayúsculas.jpg


  • Módulo base: Personas.
  • Acciones: Calcular campos:
    • Crear parámetro Apellidos ({P0}).
    • Crear parámetro Nombre ({P1}).
    • Aplicar fórmula sobre el campo Apellidos: {uppercase({P0})}
    • Aplicar fórmula sobre el campo Nombre: {uppercase({P1})}
Actualmente en un caso como este los textos con caracteres especiales se evalúan de forma incorrecta. Pendiente de revisión.


Poner mayusculas nombre y apellido.jpg


Poner mayusculas nombre y apellido 2.jpg


Incorporar el estado del proyecto a las relaciones con personas

A pesar de que replicar campos entre diferentes módulos no es una práctica recomendada porque siempre existe un cierto riesgo de inconsistencia, a veces, por razones prácticas, se desea poder ver en un módulo el valor de un campo de otro módulo. La acción de los flujos de trabajo que permite calcular campos puede ayudar en este tipo de situaciones. En este ejemplo se añadirá al módulo Relaciones con Personas el campo Estado del proyecto con el que se relaciona cada registro.


FdT CC Estado Proyecto en Relación con Persona.jpg


  • Actuaciones previas: Crear en el módulo Relaciones con Personas el campo Estado proyecto, de tipo desplegable y con la misma lista de valores que el campo Estado del módulo Proyectos.
  • Módulo: Relaciones con Personas.
  • Propiedades: el flujo se ejecutará en la tarea programada nocturna para garantizar una actualización/sincronización diaria del campo calculado.
  • Condiciones: no se establecen condiciones porque se desea aplicar el flujo sobre todos los registros.
  • Acciones: Mediante Calcular campos, crear un parámetro relacionado con el campo Estado de Proyectos ({R0}). Aplicar sobre el campo Estado Proyecto la fórmula {R0} para que, simplemente, se copie el valor de un campo al otro.


Incorporar estado proyecto Relación Persona.jpg


Incorporar estado proyecto Relación Persona 2.jpg


Incorporar estado proyecto Relación Persona 3.jpg


Calcular la duración de una relación con persona / organización

Se desea calcular la duración en días de una relación con persona.


FdT CC Duración relación.jpg


  • Actuaciones previas: Crear en el módulo Relaciones con Personas el campo Duración.
  • Módulo: Relaciones con Personas.
  • Condiciones: Fecha de baja anterior o igual a Hoy, de modo que el cálculo se realizará para los registros que tengan cerrada la relación.
  • Acciones: Calcular campos:
    • Crear parámetro con la Fecha de alta ({P0}).
    • Crear parámetro con la Fecha de baja ({P1}).
    • Crear fórmula sobre el campo Duración: {datediff({P1};{P0}; days)} (devolverá un resultado en días).


Duración relaciones.jpg


Duración relaciones 2.jpg


Jugando con la función if y la función now podría generarse una fórmula que sirviera para todos los registros, tengan o no fecha de baja.

Nivel avanzado

Aplicar el IVA en un pago

El módulo Pagos tiene el campo Importe, que se quiere complementar con los campos IVA a aplicar, Importe IVA e Importe total para emular los datos que aparecerían en una factura.


FdT CC Calcular IVA.jpg


  • Actuaciones previas:
    • Crear el campo IVA a aplicar como desplegable en Compromisos de Pago y en Pagos .
    • Crear los campos Importe IVA e Importe total en Pagos.
  • Módulo base: Pagos.
  • Condiciones: Que se produzca una modificación en el Importe (base) del pago.
  • Acciones: Calcular campos:
    • Crear parámetro relacionado de Compromiso de Pago: IVA a aplicar {R0}.
    • Crear parámetro Importe ({P0}).
    • Aplicar fórmula sobre el campo IVA a aplicar: {R0}
    • Aplicar fórmula sobre el campo Importe IVA: {multiply({divide({R0};100)}; {P0})}
    • Aplicar fórmula sobre el campo Importe total: {add({multiply({divide({R0};100)}; {P0})}; {P0})}


Calcular IVA e importes en Pago.jpg


Calcular IVA e importes en Pago 2.jpg


Si en un compromiso no se indicara el IVA a aplicar, en el pago el Importe IVA sería 0 y el Importe total sería igual al Importe (base).


Dar de baja una relación con persona cuando se da de baja un compromiso de pago

En muchas ocasiones, cuando a una persona se le crea un compromiso de pago y este tiene cierta periodicidad, se quiere dar de alta al mismo tiempo una relación con persona de tipo "Socio" o "Donante", por ejemplo.

Este proceso se puede hacer manualmente, creando la relación con persona desde el propio módulo, o automáticamente si se usa un Formulario de captación de fondos o un flujo de trabajo.

Siguiendo esta lógica, tendría sentido que al darse de baja el compromiso de pago, se desee también que se dé de baja automáticamente la relación con persona creada paralelamente. Sin embargo, aunque la creación de ambos registros puede ser automática simultáneamente, no hay manera de dar de baja el compromiso de pago y que también se dé de baja la relación, si no es con flujos de trabajo.

Para realizar este automatismo, primero de todo se deberá crear una relación entre ambos módulos, para dejar constancia del vínculo entre ambos registros. La relación debe ser 1 a 1, es decir, un compromiso de pago por cada relación con persona. Para crear la relación se puede seguir lo descrito en Gestión de relaciones entre módulos.


Relación 1-1.png


Y luego se debe especificar en cada compromiso de pago cuál es su relación con persona vinculada, o viceversa. Esta vinculación puede ser automática o manual:

  • Relacionar automáticamente dos registros de compromisos de pago y relaciones con personas:
    • Creando únicamente el compromiso de pago desde el formulario, ver Formulario de captación de fondos, y configurar un flujo de trabajo para que cada vez que se cree un compromiso de pago desde el formulario, se cree una relación con persona de tipo X y relacionada con el compromiso de pago.
    • Creando un compromiso de pago manualmente y configurar un flujo de trabajo para que cada vez que se cree un compromiso de pago con características específicas, se cree una relación con persona de tipo X y relacionada con el compromiso de pago.


Crear relación.png


  • Relacionar manualmente dos registros de compromisos de pago y relaciones con personas:
    • Creando el compromiso de pago y la relación con persona desde el formulario, ver Formulario de captación de fondos, y posteriormente ir a buscar los registros creados y vincularlos manualmente.
    • Creando el compromiso de pago y la relación con persona manualmente y vincularlas entre ellas también manualmente.

De esta manera, se podrá ver en una relación de tipo "Socio" qué compromiso de pago es desde el que se está pagando la cuota. Este comportamiento también es interesante en casos en los que la persona que tenga la relación con persona y la persona que tenga el compromiso de pago, no sean las mismas. Esto podría pasar, por ejemplo, cuando la persona que deseamos dejar registrada como "Socia" es un menor y quien realiza el pago de la cuota es su adulto responsable.

Además, tener ambos registros vinculados permitirá realizar la baja "completa" desde cualquier de los lados, dar de baja el compromiso de pago dando de baja la relación con persona, o viceversa. Para tener en cuenta ambas situaciones se deberán crear dos flujos de trabajo muy similares:


1) Dar de baja automáticamente la relación con persona cuando se da de baja manualmente el compromiso de pago.


FdT baja relacion persona.jpg


  • Módulo base: Compromisos de Pago
  • Propiedades: Ejecutar al guardar y en registros modificados. No marcar ejecuciones repetitivas.
  • Condiciones: el compromiso de pago debe de tener cualquier cambio en la fecha de baja. *
  • Acciones: Modificar registro de relación con persona cambiando el valor de la fecha de baja.


2) Dar de baja automáticamente el compromiso de pago cuando se da de baja manualmente la relación con persona.


FdT Baja compromiso de pago.jpg


  • Módulo base: Relaciones con personas
  • Propiedades: Ejecutar al guardar y en registros modificados. No marcar ejecuciones repetitivas.
  • Condiciones: la relación con persona debe de tener cualquier cambio en la fecha de baja. *
  • Acciones: Modificar registro de compromiso de pago cambiando el valor de la fecha de baja.


* Se pueden añadir más condiciones para especificar más las características de los compromisos de pago y/o de las relaciones con personas sobre los que se ejecute. Como por ejemplo que el tipo de pago sea "Cuota" o que el medio sea "Domiciliación". Lo propio sería especificar las mismas condiciones que tiene el compromiso de pago que se crea paralelamente a la relación con persona que también se quiere dar de baja.

Notificar N asistencias injustificadas

Es posible recibir, si se desea, un aviso cuando una persona inscrita haya tenido N o más faltas de asistencia injustificadas a las Sesiones de un Evento. Se podrían preparar con este objetivo dos flujos de trabajo siempre que se tengan en cuenta las Actuaciones previas señaladas en cada caso:

1) El primer Flujo de trabajo realizará el recuento acumulado de Asistencias con estado "No, injustificado".


FdT Asistencias recuento faltas injustificadas.jpg


  • Actuaciones previas:

- Crear un campo de tipo numérico en Asistencias, Nº de falta. No es obligatorio que se muestre en las vistas.

- Crear un campo de tipo numérico en Inscripciones, Nº de faltas totales. No es obligatorio que se muestre en las vistas.

  • Módulo base: Asistencias.
  • Propiedades: Ejecutar solo al guardar sobre registros modificados.
Al especificar estas propiedades, el flujo de trabajo solo se ejecutará sobre las asistencias que a partir de la creación del mismo se modifiquen con el estado "No, injustificado" y no se aplicará sobre el histórico.
  • Condiciones: que el Estado de la Asistencia sea "No, injustificado".
  • Acciones: calcular campos para el recuento de las faltas acumuladas que tiene una inscripción concreta. En el campo "Nº de faltas" se cogerá el valor del campo "Nº de faltas totales" y se le sumará 1. De esta manera, la primera falta injustificada será 1 y las siguientes irán incrementando en uno cada vez. Posteriormente, se debe modificar registro de inscripciones para actualizar el campo "Nº de faltas totales" con el nuevo valor conseguido en "Nº de faltas".
Cabe tener en cuenta que, según como está planteado este flujo de trabajo, si se modifica el estado de una asistencia de "No, injustificado" a "No, justificado", por ejemplo, esto no hará que se reste 1 al número de faltas totales reflejadas en la inscripción. De desear este comportamiento, se deberá crear un flujo de trabajo extra que realice esta acción.


2) El segundo Flujo de trabajo realizará un envío de notificación cuando el campo "Nº de faltas totales" de las Inscripciones tenga un valor igual a N.


FdT Inscripciones notificacion faltas injustificadas.jpg


  • Actuaciones previas: Crear la plantilla de correo que se desee enviar como notificación.
  • Módulo base: Inscripciones.
  • Propiedades: Ejecutar siempre sobre todos los registros.
  • Condiciones: que el "Nº de faltas totales" sea "Igual a" el número que se desee.
  • Acciones: Enviar email con la plantilla que se haya preparado y en el correo/usuario que se desee. Modificar registro de Inscripciones y devolver el campo "Nº de faltas totales" a 0*.
Devolver el campo "Nº de faltas totales" a 0 se hace para volver a empezar el recuento. Si no se desea, se puede obviar este paso y el CRM seguirá el recuento una vez enviado el aviso. Se pueden programar otros flujos de trabajo para que se envíen avisos cuando se lleguen a N+X faltas injustificadas, si así se desea.


Volver al índice