ChakraHQChakraHQ

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

Nesta página