Descripción general de las reglas del ciclo de vida
Descripción general de las reglas del ciclo de vida
Las reglas del ciclo de vida son la forma más sencilla de agregar automatización a tu solución.
Las reglas del ciclo de vida tienen 2 partes
- Eventos del ciclo de vida
- Acciones del ciclo de vida.
Eventos del ciclo de vida: Se generan cada vez que ocurre cualquier cambio en el sistema. Por ejemplo, cuando actualizas un lead —un lead es un proceso—, se genera un evento llamado process:update:post que contiene los detalles del cambio.
Acciones del ciclo de vida: reglas para ejecutar acciones automáticas del ciclo de vida según los eventos del ciclo de vida. Por ejemplo, podemos indicar que cada vez que se actualice un lead, se envíe una notificación a la persona asignada al lead. En este caso, send-notification es la acción del ciclo de vida que queremos ejecutar.
En resumen, lo siguiente es una regla del ciclo de vida
`Cuando se actualice un lead, enviar una notificación a la persona asignada `
- Evento del ciclo de vida -> Cuando se actualiza un lead
- Acción del ciclo de vida -> Enviar una notificación a la persona asignada
Condiciones del evento
La mayoría de las veces, queremos agregar algunas condiciones para determinar cuándo ejecutar una regla. Si continuamos con el ejemplo anterior, sería mucho más útil notificar a la persona asignada al lead cuando ocurran cambios importantes en el lead. Por ejemplo
When a lead's state changes to converted, send an email to the assignee
Aquí agregamos una condición adicional llamada «cuando el estado del lead cambie a convertido». Estas condiciones o criterios adicionales se implementan mediante condiciones de evento que podemos agregar a cualquier regla. Las condiciones siguen la gramática estándar del motor de reglas.
Definición de la acción
En la definición de la acción configuramos los parámetros exactos que se necesitan para ejecutar una acción. Por ejemplo, aquí
When a lead's state changes to converted, send an email to the assignee
querríamos definir qué incluir en el correo electrónico
{ "emailSubject": "{{process.data.lead_id}} has been conveerted", "emailBody": "Hi {{user.firstName}}, congratulations your lead {{process.data.lead_id}} is now converted."}Aquí podemos configurar exactamente cuál será la acción en el contexto del evento, que en este caso es una actualización de lead. En la definición de la acción, podrás acceder a todos los datos relacionados con la actualización, como los detalles del proceso, los detalles del usuario, etc.
Etiquetado
Las reglas del ciclo de vida deben asociarse a una entidad meta relevante, como un lead, un registro o una tarea.
Síncrono/asíncrono
Las reglas se pueden procesar de forma síncrona o asíncrona con el evento. Actualmente, no se garantiza el orden de las reglas asíncronas.
Completar datos
Es posible que sea necesario completar el evento original con información adicional. Los principales aspectos que se deben tener en cuenta al completarlo son
- latencia: demasiadas operaciones para completar datos = demasiadas consultas de datos = reglas más lentas
- reglas más complejas
Actualmente, los datos se completan en 3 niveles
- process-event
- todos los eventos de tareas se completan con
populatedTask - process-action
- todos los eventos que tienen la definición populatePath correcta se completan in situ; el objeto del evento original se modifica
- implementación de la acción
- las acciones individuales también completan datos, normalmente en una clave llamada
_meta
Lista de eventos
- api-check\:post
- booking\:update\:post
- call\:create\:post
- call\:create\:pre
- call\:update\:post
- email\:received\:post
- form-response\:create\:post
- process\:allocate\:post
- process\:create\:post
- process\:create\:pre
- process\:state-change\:post
- process\:update\:post
- process\:update\:pre
- record\:create\:post
- record\:update\:post
- task\:create\:post
- task\:create\:pre
- task\:update\:post
- task\:update\:pre
- upload-job\:complete\:post
- user\:login\:post
- user\:logout\:post
- webhook\:inbound\:post
Lista de acciones
- process\:start
- record\:create
- record-process\:create
- process\:complete
- process\:update
- process\:bulk-update
- process\:find-one-and-update
- task\:create-from-statetask
- task\:allocate
- task\:bulk-update
- record\:find-and-update
- script\:run
- task\:webhook-task-external
- process\:webhook-process-external
- call\:webhook-call-external
- task\:webhook
- process\:bulk-find-and-complete
- process\:update-using-rule
- process\:modify-query
- external-api\:call
- call\:link-record-and-process
- notify\:email
- notify\:sms
- notification\:create
- external-data-store\:push