Processos de Fluxo de Trabalho

Os fluxos de trabalho no CRM permitem automatizar processos de negócios simples e complexos dentro do CRM. Você pode criar fluxos de trabalho usando funcionalidades prontas para usar do CRM ou escrever fluxos de trabalho personalizados com código .NET para implementar fluxos de trabalho complexos. Os processos de fluxo de trabalho são executados em segundo plano ou em tempo real e podem, opcionalmente, exigir uma entrada do usuário.

Os fluxos de trabalho podem ser acionados com base em condições específicas ou mesmo iniciados manualmente pelos usuários. Internamente, os fluxos de trabalho do CRM são implementados usando o Windows Workflow Foundation. Neste capítulo, aprenderemos sobre a configuração de fluxos de trabalho.

A configuração de um fluxo de trabalho tem as seguintes partes principais (em sequência) -

  • Configure a entidade na qual o fluxo de trabalho será executado
  • Configure se o fluxo de trabalho será executado de forma síncrona ou assíncrona
  • Configure a mensagem (evento) em que o fluxo de trabalho será executado
  • Configure o escopo em que o fluxo de trabalho será executado
  • Configure as etapas e etapas (ações) do fluxo de trabalho

Fluxo de trabalho síncrono / assíncrono

Ao criar um fluxo de trabalho, você verá a opção Executar este fluxo de trabalho em segundo plano (recomendado), que determina se o fluxo de trabalho será executado em tempo real (de forma síncrona) ou em segundo plano (de forma assíncrona).

Geralmente, a abordagem recomendada é executar os fluxos de trabalho em segundo plano, uma vez que eles usam os recursos do sistema como e quando disponíveis. No entanto, você sempre pode voltar de um fluxo de trabalho em tempo real para um fluxo de trabalho em segundo plano e vice-versa.

Mensagens de fluxo de trabalho

Os fluxos de trabalho podem ser registrados em eventos específicos da seguinte forma -

  • Quando um registro é criado
  • Quando o status de um registro muda
  • Quando um registro é atribuído
  • Quando o valor de um campo de registro muda
  • Quando um registro é excluído

Escopo do Fluxo de Trabalho

Fluxos de trabalho permitem que você defina o escopo em que o fluxo de trabalho será executado. A seguir estão os escopos de fluxo de trabalho com suporte -

User O fluxo de trabalho será executado apenas nos registros pertencentes ao mesmo usuário que o usuário do fluxo de trabalho.
Business Unit O fluxo de trabalho será executado nos registros pertencentes aos usuários da unidade de negócios da mesma forma que o usuário do fluxo de trabalho.
Parent Child Business Units O fluxo de trabalho será executado nos registros pertencentes aos usuários da unidade de negócios, assim como o usuário do fluxo de trabalho, bem como qualquer unidade de negócios filho.
Organization O fluxo de trabalho será executado em registros pertencentes a qualquer usuário do CRM.

Etapas do fluxo de trabalho

Os fluxos de trabalho no CRM são uma combinação de uma série de etapas que o fluxo de trabalho seguirá. Você pode até mesmo dividir essas etapas em estágios lógicos. As etapas a seguir são suportadas por fluxos de trabalho de CRM -

Conditional Steps
Check Condition Especifica uma declaração lógica “se (condição) - então”.
Conditional Branch Especifica uma declaração lógica “else - if - then”. Isso só pode ser usado com uma condição de verificação.
Default Action Especifica uma declaração lógica “else”. Isso só pode ser usado com uma condição de verificação.
Wait Steps
Wait Condition Espera até que uma condição específica seja atendida. Não se aplica a fluxos de trabalho em tempo real.
Parallel Wait Branch Especifica uma condição de espera alternativa com um conjunto de etapas adicionais que podem ser executadas assim que os critérios iniciais forem atendidos.
Action Steps
Create Record Cria um registro da entidade especificada com os valores padrão especificados.
Update Record Atualiza o registro selecionado com valores especificados ou dinâmicos.
Assign Record Atribui o registro selecionado a um usuário ou equipe.
Send Email Envia um email.
Perform Action Especifica as etapas (e ações) do fluxo de trabalho personalizado. Essas etapas personalizadas devem ser desenvolvidas por um desenvolvedor de CRM.
Change Status Altera o status do registro selecionado.
Stop Workflow Pára o fluxo de trabalho atual

Exemplo de fluxo de trabalho

Neste exemplo, criaremos um fluxo de trabalho simples executado em segundo plano para atribuir qualquer registro de contato recém-criado a um usuário específico e, em seguida, enviaremos um e-mail de boas-vindas ao cliente.

Step 1 - Vá para Configurações → Processos.

Step 2 - Clique em Novo.

Step 3 - Na janela CreateProcess, insira os seguintes detalhes -

Process Name - Novo fluxo de trabalho do cliente (pode ser qualquer nome que você desejar)

Category - Fluxo de Trabalho

Entity - Contato (será a entidade na qual você está criando o fluxo de trabalho. No nosso caso, é o contato)

Run this workflow in the background (recommended)- Marque esta opção porque estamos criando um fluxo de trabalho assíncrono em segundo plano. Finalmente, clique em OK.

Step 4 - Na janela Novo Processo, insira os seguintes detalhes -

Activate As - Processo

Scope - Usuário

Start when - O registro é criado

Clique Add Step → Atribuir registro.

Step 5- Você verá uma nova etapa adicionada ao fluxo de trabalho. Nesta etapa, especificaremos o usuário a quem todos os contatos criados devem ser atribuídos. Insira o nome da etapa comoAssign Record to Team. A opção Atribuir será padronizada como a entidade na qual estamos criando o fluxo de trabalho (Contato em nosso caso). Clique no ícone de pesquisa.

Step 6- Na janela Lookup, selecione qualquer usuário que você deseja. Você pode até selecionar uma equipe específica a quem deseja atribuir os registros. Clique em Adicionar.

Step 7- Adicione outra etapa clicando em Adicionar etapa → Enviar e-mail. Nesta etapa, configuraremos o envio de e-mail ao cliente.

Step 8- Uma nova etapa será adicionada. Digite seu nome como Enviar e-mail para o cliente. Clique em Definir propriedades.

Step 9 - Na próxima janela para configurar o e-mail, execute as seguintes operações−

From- Clique no campo De. No painel direito, selecione OwningUser e User. Clique em Adicionar → OK.

To- Clique no campo Para. No painel direito, selecione Contato e Contato. Clique em Adicionar → OK.

Subject - Insira um Assunto relevante.

Body - Insira um conteúdo de corpo relevante.

Step 10 - Clique em Salvar e depois em Ativar.

Step 11 - No pop-up de Confirmação de ativação do processo que se segue, clique em Ativar.

Step 12- Vá para a guia Contatos e crie um novo contato. Assim que você criar um novo contato salvando o registro, verá o campo Proprietário definido para o usuário, que você configurou no fluxo de trabalho. Além disso, se você clicar na guia Atividades, verá uma atividade de e-mail sendo criada para este contato. Isso confirma que o fluxo de trabalho foi executado com êxito.

Fluxo de trabalho vs plug-in

Fluxos de trabalho e plug-ins podem ser usados ​​para estender e automatizar funcionalidades de CRM. Em muitos cenários, ambas as abordagens podem ser usadas alternadamente no lugar uma da outra. Por exemplo, se você tem um requisito simples de enviar um e-mail para seus clientes, pode fazê-lo por meio de um plugin ou de um fluxo de trabalho.

Então, como você escolhe entre criar um fluxo de trabalho ou um plugin? A lista a seguir tenta explicar o mesmo -

  • Embora plug-ins e fluxos de trabalho possam ser usados ​​para executar lógica síncrona e assíncrona, os plug-ins são geralmente preferidos para lógica síncrona, enquanto fluxos de trabalho para lógica assíncrona.

  • Geralmente, para implementar lógicas de negócios complexas, os plug-ins são preferidos aos fluxos de trabalho. Os fluxos de trabalho são preferidos quando você deseja obter funcionalidades relativamente mais fáceis (como enviar e-mails, atribuir usuários, etc.)

  • Os plug-ins precisam ser desenvolvidos com codificação, enquanto os fluxos de trabalho podem ser configurados diretamente por usuários de negócios sem nenhum conhecimento dos fluxos de trabalho.

  • Os fluxos de trabalho podem ser executados sob demanda. Portanto, se houver requisitos em que o usuário deseja executar alguma lógica manualmente, os fluxos de trabalho seriam uma escolha melhor.

  • Do impacto no desempenho, os plug-ins síncronos fornecem um melhor desempenho (e rendimento) em comparação com fluxos de trabalho em tempo real em cenários onde a frequência de solicitação é mais alta.

Conclusão

Este capítulo nos apresentou uma das funcionalidades mais importantes do CRM - Workflows. Primeiro entendemos os fluxos de trabalho de sincronização / assíncrona, mensagens, escopo, etapas e, finalmente, vimos um exemplo ao vivo de criação e execução de um fluxo de trabalho. Finalmente, vimos as diferenças entre um fluxo de trabalho e um plugin.