Capítulo 7: Workflow
Parabéns por chegar a este último capítulo! Aqui apresentaremos e exploraremos brevemente as poderosas funcionalidades de Workflow do NocoBase. Com elas, você automatiza operações no sistema, economiza tempo e ganha eficiência.
Resposta do desafio anterior
Antes de começar, vamos recapitular o desafio do capítulo anterior. Configuramos com sucesso as permissões de comentário para o papel "Parceiro":
- Permissão de Adicionar: usuários podem publicar comentários.
- Permissão de Visualizar: usuários podem ver todos os comentários.
- Permissão de Editar: usuários só podem editar os próprios comentários.
- Permissão de Excluir: usuários só podem excluir os próprios comentários.

Com essa configuração, Tom pode publicar comentários livremente, ver os comentários de outros membros e ainda assim apenas editar e excluir os seus.

Agora, vamos implementar uma automação: sempre que o responsável de uma tarefa for trocado, o sistema envia automaticamente uma notificação para o novo responsável, avisando que ele assumiu a tarefa.
Workflow: o plugin de workflow é uma poderosa ferramenta de automação, comum na área de Gerenciamento de Processos de Negócio (BPM).
Ele permite projetar e orquestrar processos de negócio baseados em modelos de dados; com a configuração de gatilhos e nós do fluxo, automatiza o andamento dos processos. Esse tipo de plugin é especialmente adequado para processar tarefas repetitivas e orientadas a dados.
7.1 Criando o workflow
7.1.1 Criar workflow no painel de administração
Primeiro, troque para o papel Root, o administrador do sistema com permissões totais. Em seguida, entre no módulo de Workflow.

Clique em "Adicionar" no canto superior direito para criar um novo workflow e preencha as informações básicas:
- Nome: Notificação ao trocar de responsável.
- Tipo de gatilho: selecione "Evento da tabela".

7.1.2 Sobre os tipos de gatilho:
- Evento da tabela: disparado quando os dados na tabela mudam (criação, atualização, exclusão). Ideal para acompanhar mudanças em campos de tarefas, como troca de responsável.
- Tarefa agendada: disparada em horários específicos; adequado para automações de agenda.
- Evento pós-ação: vinculado a um botão; é disparado depois que o usuário executa a ação. Por exemplo, ao clicar em salvar.
Mais à frente, descobriremos outros gatilhos: "Evento pré-ação", "Evento de ação personalizada", "Aprovação"... todos disponibilizados pelos plugins correspondentes.
Neste cenário, usamos o Evento da tabela para acompanhar a mudança do campo "Responsável" na tabela de Tarefas. Após enviar o workflow, clique em Configurar para entrar na página de configuração.

7.2 Configurando os nós do workflow
7.2.1 Configurar a condição do gatilho
Vamos lá, começando pelo fluxo de notificação automática!
Vamos configurar o primeiro nó com a condição que dispara o workflow.
- Tabela: selecione "Tabela de Tarefas". (A tabela que dispara o workflow; os dados correspondentes serão lidos e usados no fluxo. Naturalmente, queremos que o workflow seja disparado quando a tabela de Tarefas mudar.)
- Momento do gatilho: selecione "Após criar ou atualizar".
- Campo do gatilho: selecione "Responsável".
- Condição do gatilho: selecione "ID do responsável existe", garantindo que a notificação só seja enviada quando a tarefa tiver responsável atribuído.
- Pré-carregamento: selecione "Responsável" para usar suas informações nos próximos nós.

7.2.2 Habilitar o canal "Mensagem in-app"
Em seguida, vamos criar um nó de envio de notificação.
Antes disso, criamos o canal de Mensagem in-app para envio.
- Volte à página de gerenciamento de plugins, selecione "Gerenciamento de Notificações" e crie a notificação de tarefa (
task_message). - Após criar o canal, voltamos ao workflow e adicionamos o nó "Notificação".

- Configuração do nó: Canal: selecione "Notificação de tarefa" Destinatário: selecione "Variável do gatilho/Dados do gatilho/Responsável/ID", para localizar o novo responsável. Título da mensagem: "Notificação de troca de responsável" Conteúdo da mensagem: "Você foi designado(a) como o(a) novo(a) responsável."
Após concluir, clique no interruptor no canto superior direito para ativar o workflow.

Configurado!
7.2.3 Testar a notificação
Momento empolgante! Voltamos à página, clicamos em qualquer tarefa, alteramos o responsável e enviamos. O sistema envia a notificação!


O fluxo de configuração do workflow é esse, mas ainda há trabalho:
A notificação precisa inserir dinamicamente as informações da tarefa, senão ninguém saberá qual tarefa foi transferida.
7.3 Refinando o workflow
7.3.1 Versionamento
Voltando à configuração do workflow, você notará que a interface está cinza, sem permitir edição.
Calma! Clique nas reticências no canto superior direito e em Copiar para nova versão. Você cai na configuração da nova versão. As versões anteriores ficam preservadas — clique em Versão para alternar entre o histórico (atenção: versões já executadas não podem mais ser alteradas!).

7.3.2 Personalizar o conteúdo da notificação
Agora, vamos personalizar o conteúdo, adicionando detalhes sobre a transferência.
- Edite o nó de Notificação.
Altere o conteúdo para: "Tarefa《【Nome da tarefa】》, responsável atualizado para: 【Apelido do responsável】"
- Clique nas variáveis à direita para preencher o nome da tarefa e o responsável.
- Em seguida, clique no canto superior direito para ativar essa versão.

Após ativar a nova versão, refazendo o teste, a notificação exibe o nome da nova tarefa.

Resumo
Excelente! Você criou com sucesso um workflow automatizado baseado na mudança de responsável da tarefa. Essa funcionalidade economiza tempo de operações manuais e melhora a eficiência da equipe. Nosso sistema de gerenciamento de tarefas já tem funcionalidades robustas.
Conclusão e próximos passos
Até aqui, você partiu do zero e construiu um sistema completo de gerenciamento de tarefas — abrangendo criação de tarefas, comentários, papéis e permissões, workflow e notificações.
A flexibilidade e extensibilidade do NocoBase trarão possibilidades infinitas. No futuro, você pode explorar mais plugins, customizar funcionalidades ou criar lógicas de negócio mais complexas. Acreditamos que, com este aprendizado, você já domina o uso básico e os conceitos centrais do NocoBase.
Aguardamos sua próxima criação! Se tiver dúvidas, consulte a documentação oficial do NocoBase ou participe da comunidade do NocoBase.
Continue explorando e crie sem limites!

