Uma máquina de estados de fluxo de trabalho acompanha o status de tarefas ou itens por etapas definidas, como Rascunho, Em Revisão, Aprovado e Publicado. Sem uma máquina de estados, atualizações manuais de status podem levar a dados inconsistentes e transições perdidas. Fórmulas do Notion podem impor transições válidas e exibir o estado atual claramente. Este artigo explica como construir um banco de dados que usa uma máquina de estados baseada em fórmulas para controlar a progressão do fluxo de trabalho.
Principais Conclusões: Construindo uma Máquina de Estados de Fluxo de Trabalho no Notion
- Propriedade Select com opções de status: Define o estado atual de cada item e serve como entrada para a fórmula.
- Propriedade Fórmula com ifs e contains: Verifica o estado atual e um gatilho de transição para gerar o próximo estado válido ou uma mensagem de erro.
- Propriedade de rollup ou relação para transições: Captura o evento gatilho, como uma caixa de seleção ou campo de data, para avançar o estado.
O Que É uma Máquina de Estados de Fluxo de Trabalho no Notion
Uma máquina de estados é uma estrutura lógica que define um conjunto de estados e as regras para transitar entre eles. No Notion, você implementa isso usando uma combinação de tipos de propriedade: uma propriedade Select para o estado atual, uma propriedade Fórmula para calcular o próximo estado e uma propriedade gatilho, como uma caixa de seleção ou data. A fórmula garante que apenas transições válidas ocorram. Por exemplo, uma tarefa não pode ir de Rascunho diretamente para Publicado sem passar por Em Revisão e Aprovado. Isso evita erros de entrada de dados e mantém o fluxo de trabalho consistente em toda a equipe.
Pré-requisitos: Você precisa de um banco de dados do Notion com pelo menos três propriedades: uma propriedade Select chamada Status, uma propriedade Fórmula chamada Próximo Estado e uma propriedade gatilho, como uma caixa de seleção chamada Aprovado. A fórmula usa as funções if e contains para avaliar o estado atual e a condição do gatilho.
Passos para Construir uma Máquina de Estados de Fluxo de Trabalho Usando Fórmulas
- Crie a propriedade Select para o estado atual
Adicione uma propriedade Select e nomeie como Status. Adicione as opções para cada estado em ordem: Rascunho, Em Revisão, Aprovado, Publicado. Não adicione estados extras como Arquivado ainda; mantenha a lista mínima para a configuração inicial. - Adicione uma propriedade gatilho
Adicione uma propriedade Caixa de Seleção chamada Pronto para Próxima Etapa. Esta caixa de seleção será usada como sinal para avançar o estado. Você também pode usar uma propriedade Data chamada Data de Revisão se preferir um gatilho baseado em tempo. - Crie a propriedade Fórmula
Adicione uma propriedade Fórmula e nomeie como Próximo Estado. Insira a seguinte fórmula para definir as transições:if(prop("Status") == "Rascunho" and prop("Pronto para Próxima Etapa"), "Em Revisão", if(prop("Status") == "Em Revisão" and prop("Pronto para Próxima Etapa"), "Aprovado", if(prop("Status") == "Aprovado" and prop("Pronto para Próxima Etapa"), "Publicado", prop("Status"))))
Esta fórmula verifica o Status atual e a caixa de seleção Pronto para Próxima Etapa. Se a caixa estiver marcada e a transição for válida, retorna o próximo estado. Caso contrário, retorna o estado atual inalterado. - Teste as transições
Crie um novo item e defina Status como Rascunho. Marque a caixa de seleção Pronto para Próxima Etapa. A fórmula Próximo Estado deve exibir Em Revisão. Desmarque a caixa e altere Status de volta para Rascunho. Marque a caixa novamente; a fórmula retorna Em Revisão novamente. Isso confirma que a máquina de estados funciona. - Automatize a atualização de estado
As fórmulas do Notion não podem escrever em outras propriedades automaticamente. Para atualizar a propriedade Status, você deve copiar manualmente o valor de Próximo Estado para Status. Alternativamente, use uma automação do Notion: crie uma automação que seja acionada quando Pronto para Próxima Etapa for marcado e defina Status como o valor de Próximo Estado. Vá ao menu do banco de dados, selecione Automações e crie uma nova automação com a condição “Quando Pronto para Próxima Etapa for marcado” e a ação “Definir Status como Próximo Estado”.
Erros Comuns e Limitações
A fórmula retorna o estado errado
Se a fórmula retornar um estado inesperado, verifique a grafia exata das opções de Status. A fórmula usa comparação de strings sensível a maiúsculas/minúsculas. Por exemplo, “Rascunho” e “rascunho” são diferentes. Certifique-se também de que o nome da propriedade gatilho corresponda exatamente. Se você renomeou Pronto para Próxima Etapa para Aprovar, atualize a fórmula de acordo.
A máquina de estados não impede transições reversas
A fórmula acima só avança. Para evitar retrocessos, adicione condições que verifiquem se o estado atual já está mais adiante na sequência. Por exemplo, se Status for Aprovado, a fórmula deve ignorar a caixa de seleção para Rascunho. A fórmula do passo 3 já faz isso porque cada condição if exige que o estado atual corresponda exatamente. Se um usuário definir manualmente Status como Rascunho depois de Aprovado, a fórmula ainda retornará Rascunho porque a caixa de seleção está desmarcada. Para bloquear edições manuais, use uma fórmula que exiba um erro: if(prop("Status") == "Rascunho" and prop("Pronto para Próxima Etapa"), "Em Revisão", if(prop("Status") == "Em Revisão" and prop("Pronto para Próxima Etapa"), "Aprovado", if(prop("Status") == "Aprovado" and prop("Pronto para Próxima Etapa"), "Publicado", "Transição inválida"))). Isso retorna “Transição inválida” para qualquer estado que não corresponda a uma regra válida.
A automação não atualiza o Status
Se a automação falhar ao atualizar Status, verifique se a automação está ativada e se a propriedade gatilho está definida para o banco de dados correto. Confirme também que a fórmula Próximo Estado não está retornando um erro. Se a fórmula retornar “Transição inválida”, a automação definirá Status como essa string em vez de um estado válido.
Máquina de Estados de Fluxo de Trabalho: Atualização Manual vs Automatizada
| Item | Atualização Manual | Atualização Automatizada |
|---|---|---|
| Como o status muda | Usuário copia o valor de Próximo Estado para a propriedade Status | Automação do Notion define Status quando o gatilho é marcado |
| Complexidade de configuração | Nenhuma automação necessária; apenas fórmula e caixa de seleção | Requer criar uma automação com condição e ação |
| Risco de erro | Usuário pode esquecer de atualizar Status ou copiar valor errado | Automação atualiza consistentemente, mas pode falhar se a fórmula retornar valor inesperado |
| Melhor para | Usuários individuais ou equipes pequenas com poucos itens | Equipes com muitos itens que precisam de transições de estado consistentes |
O método manual funciona para fluxos de trabalho simples com menos de 50 itens. O método automatizado escala melhor, mas requer testes cuidadosos da fórmula e das condições de automação. Para a maioria dos fluxos de trabalho empresariais, comece com atualizações manuais e adicione automação assim que a máquina de estados for verificada.
Agora você pode construir um banco de dados do Notion que impõe uma máquina de estados de fluxo de trabalho usando fórmulas e uma propriedade gatilho. Teste a fórmula com alguns itens antes de escalar para todo o banco de dados. Para fluxos de trabalho avançados, adicione mais estados como Arquivado ou Rejeitado estendendo a fórmula com condições if adicionais. Use a função contains para verificar múltiplas condições de gatilho, por exemplo, tanto uma caixa de seleção quanto uma data estarem presentes.