El objetivo del proyecto es permitir la programación de envíos de email a contactos dentro de vtiger CRM. Se ha de permitir desde el envío puntual de un email hasta la asignación de un conjunto de acciones masivamente.
Esta extensión a vtiger CRM consta de 3 nuevos módulos y algunos cambios en el comportamiento básico de vtiger CRM. Los nuevos módulos dotan a la aplicación de capacidad para programar el envío sistemático de emails a intervalos definidos, mientras que los cambios en el propio sistema permiten la agrupación, segmentación y selección de contactos para su inclusión en distintas acciones de marketing.
La idea general es que tenemos un módulo que representa un conjunto de acciones que se pueden tomar. En la versión actual solo hay un tipo de acción que es el envío de emails pero este módulo sirve de base para futuras ampliaciones a otros tipos de acciones.
Una acción no tiene definición en el el tiempo, tan solo es la definición de la acción o email en si mismo. El siguiente módulo es el que nos permitirá ubicar el envío del email (ejecución de la acción) en una fecha determinada. Así, las acciones son un especie de almacén de plantillas que podemos utilizar una y otra vez para distintos contactos en diferentes momentos según el objetivo a conseguir. Incluso podemos aplicar las reglas de privacidad de vtiger CRM para que cada usuario solo vea aquellas plantillas que debe utilizar y/o segmentar las acciones por sectores, países o lo que se estime oportuno.
Dado que es un módulo normal de vtiger CRM, tenemos acceso a una vista de lista donde poder definir filtros, realizar búsquedas y añadir campos personalizados.
En la vista de detalle y edición se ha ampliado la funcionalidad para permitir la visualización y edición de las plantillas de email:
El siguiente módulo denominado Acciones Programadas es el que nos permitirá ejecutar la acción del envío del email en un determinado momento.
Este módulo se compone de los siguientes campos:
Algunos ejemplos del uso de este módulo:
Los contactos se pueden asociar a la programación mediante el uso normal de las listas relacionadas en la pestaña de más información o mediante algunas de las mejoras de asignación que se describen más adelante.
Este módulo lleva la idea de acción programada un poco más lejos al permitir definir grupos de las mismas que facilitarán la asignación de contactos a planes de marketing o contacto digital. O sea, este módulo básicamente permite agrupar para su ejecución conjunta en las fechas programadas.
Este módulo se compone de los siguientes campos:
Los contactos se pueden asociar a la secuencia mediante el uso normal de las listas relacionadas en la pestaña de más información o mediante algunas de las mejoras de asignación que se describen más adelante.
Las acciones programadas se pueden asociar a la secuencia mediante el uso normal de las listas relacionadas en la pestaña de más información. La orden de ejecución de las acciones programadas vendrá definida por las mismas. No se establece el orden en la secuencia sino en la misma programación. La secuencia en sí misma es meramente un ayudante, un sistema que permite agrupar acciones programadas y asignarlas en lote a contactos. Se podría conseguir lo mismo asignando acción programada a acción programada a cada contacto.
Algunos ejemplos del uso de este módulo:
Para facilitar la asignación de contactos a acciones programadas y secuencias hemos implementado algunas mejoras.
Desde la vista de lista de contactos dispondremos de un botón para asignar masivamente contactos a acciones y secuencias. De esta manera utilizando el sistema de filtros disponible podremos segmentar y asignar acciones rápidamente a muchos contactos.
En la pestaña de Más Información del Contacto hemos añadido listas relacionadas a Acciones Programadas y Secuencias para asignar éstas a un contacto rápidamente.
Hemos añadido una lista relacionada en contactos donde se detalla un histórico de acciones realizadas y pendientes de realizar. wishlist Esta capacidad es un tanto limitada. Actualmente se guarda la información en una tabla interna y se obtiene un listado de todo el histórico en la lista relacionada. Esto implica que no soporta paginación y puede ser un problema cuando se hayan enviado muchos emails, no soporta informes ni filtrados sencillos. La solución a todo esto es crear un nuevo módulo para almacenar el histórico.
wishlist: Me gustaría poner una funcionalidad idéntica a la carga de filtros en campañas en las listas relacionadas de acciones programadas y secuencias
Dado la limitación inherente a vtiger CRM que nos impide realizar filtros sobre campos ajenos a la entidad, la opción anterior no permite hacer segmentaciones sobre campos de la cuenta asociada al contacto. Por ejemplo, no podríamos hacer filtros del tipo, “contactos cuya empresa esté ubicada en Alicante”, esto no se puede hacer porque no podemos acceder al campo provincia de la cuenta desde los filtros de contactos.
Para superar esta limitación hemos añadido la capacidad de asignar acciones a contactos en los informes donde sí se pueden realizar filtros como el anterior y mucho más avanzados. Tiene el inconveniente de tener que realizar informes para conseguir la segmentación pero es la forma más rápida y efectiva de conseguir este objetivo.
Es OBLIGATORIO que el informe contenga la columna “Contact ID”, el número identificador interno de la aplicación, ya que al final, este es el único campo importante del informe al utilizarse este para establecer la relación interna.
Se ha ampliado las funcionalidades del sistema de informes para soportar la realización de informes sobre acciones realizadas.
Cada vez que se manda un email, este se integra en el sistema de emails de vtiger CRM de manera automática, de esta forma es sencillo ver los mismos en la pestaña Más Información del contacto.
Se ha ampliado la pantalla de envío de emails con la selección de plantillas desde el módulo de acciones.
wishlist: nos gustaría poder establecer una acción programada desde la pantalla de email. Ya permitimos la selección de la plantilla, así que nos faltan los campos propios de la programación. El problema es que se permite la modificación de la plantilla capturada, lo que nos obligaría a crear una nueva acción con el cuerpo del email y establecer la programación.
Si las acciones y secuencias están desactivadas, desaparecen de todas las opciones de asignación
Se ha implementado un proceso periódico que es capaz de evaluar la lista de acciones pendientes de ejecutar y realizarlas secuencialmente.
Este proceso dispone de parámetros para controlar el número de mensajes enviados por hora o un número máximo de tiempo en el que se ha de ejecutar. De esta manera intentamos ser respetuoso con los recursos del servidor y no inundar el servicio de envíos de email.
wishlist: Según las posibilidades de herramientas encontradas que nos ayuden en esta fase implementaremos el control estadístico de aperturas y rechazos. Es posible que no lleguemos a implementar nada a este respecto aunque nuestra intención es que sí.
Se ejecutan en la fecha indicada o si ya ha pasado se ejecutan de manera inmediata.
Se aplicará a los contactos que se asignen a partir de ese momento.
Las asociaciones realizadas a través de secuencias no se ejecutarán. Si se ha asociado un contacto directamente a la acción programada sí se ejecutará independientemente de la asociación a través de la secuencia. Puedes asignar un contacto a una acción programada sin que haya una secuencia por en medio, o bien puedes ir a una secuencia y asociarle un contacto, de manera que estás asociando el contacto a las acciones de la secuencia. En este segundo caso se tendrían en cuenta las fechas de inicio y fin de la secuencia.
Porque necesitamos eventos basados en tiempo y los flujos de trabajo se basan en eventos de guardar. Porque los flujos de trabajo solo los pueden definir usuarios administradores mientras que la solución implementada aquí se basa en el sistema de privilegios de vtiger CRM. Porque los flujos de trabajo no disponen de un pool de acciones desde la que ir construyendo programas y secuencias.