Visão geral das regras de ciclo de vida
Visão geral das regras de ciclo de vida
As regras de ciclo de vida são a maneira mais fácil de adicionar automação à sua solução.
As regras de ciclo de vida têm 2 partes
- Eventos de ciclo de vida
- Ações de ciclo de vida.
Eventos de ciclo de vida: Eles são gerados sempre que ocorre uma alteração no sistema. Por exemplo, quando você atualiza um lead — sendo o lead um processo —, um evento chamado process:update:post é gerado com os detalhes da alteração.
Ações de ciclo de vida: regras para executar ações automáticas de ciclo de vida com base em eventos de ciclo de vida. Por exemplo, podemos definir que, sempre que um lead for atualizado, uma notificação seja enviada ao responsável pelo lead. Nesse caso, send-notification é a ação de ciclo de vida que queremos executar.
Resumindo, a seguinte estrutura é uma regra de ciclo de vida
`Quando um lead for atualizado, envie uma notificação à pessoa responsável `
- Evento de ciclo de vida -> Quando um lead é atualizado
- Ação de ciclo de vida -> Enviar uma notificação à pessoa responsável
Condições do evento
Na maioria das vezes, queremos adicionar algumas condições para definir quando uma regra deve ser executada. Continuando o exemplo anterior, seria muito mais útil notificar o responsável pelo lead quando ocorrerem atualizações importantes no lead. Por exemplo
When a lead's state changes to converted, send an email to the assignee
Aqui, adicionamos uma condição extra chamada "quando o status do lead mudar para convertido". Essas condições ou critérios extras são implementados por meio de condições de evento, que podemos adicionar a qualquer regra. As condições seguem a gramática padrão do mecanismo de regras.
Definição da ação
Na definição da ação, configuramos os parâmetros exatos necessários para executá-la. Por exemplo, aqui
When a lead's state changes to converted, send an email to the assignee
definiríamos o conteúdo do e-mail da seguinte forma:
{ "emailSubject": "{{process.data.lead_id}} has been conveerted", "emailBody": "Hi {{user.firstName}}, congratulations your lead {{process.data.lead_id}} is now converted."}Aqui, podemos configurar exatamente qual será a ação no contexto do evento, que neste caso é uma atualização de lead. Na definição da ação, você poderá acessar todos os dados relacionados à atualização, como detalhes do processo, dados do usuário etc.
Marcação
As regras de ciclo de vida devem ser associadas a uma entidade meta relevante, como lead, registro ou tarefa.
Síncrono/assíncrono
As regras podem ser processadas de forma síncrona ou assíncrona com o evento. Atualmente, a ordem das regras assíncronas não é garantida.
Preenchimento
Pode ser necessário preencher o evento original com informações adicionais. Os principais aspectos a considerar ao preenchê-lo são
- latência — muitos preenchimentos = muitas buscas de dados = regras mais lentas
- regras mais complexas
Atualmente, o populate é feito em 3 níveis
- process-event
- todos os eventos de tarefa são populados com
populatedTask - process-action
- todos os eventos com a definição correta de populatePath são populados in situ — o objeto do evento original é alterado
- implementação da ação
- as próprias ações individuais também populam dados, geralmente em uma chave chamada
_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 ações
- 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