Workflows
Workflows transformam uma coluna Status em um motor de processos estruturado. Em vez de permitir que qualquer pessoa altere o status de uma linha livremente a qualquer momento, você define exatamente quais transições são permitidas, quem pode acioná-las, quais condições precisam ser atendidas e o que acontece automaticamente após uma transição ser concluída. Isso torna os boards da Copera comparáveis a ferramentas de processo dedicadas como Jira ou ServiceNow — tudo integrado ao seu workspace.
Ativando um Workflow
Os workflows são configurados individualmente por coluna Status. Para ativar um:
- Abra seu board e vá até a tabela que contém a coluna Status que você deseja controlar.
- Clique no cabeçalho da coluna para abrir as configurações da coluna.
- Ative o interruptor Workflow.
- O editor visual de workflow aparece — uma tela mostrando cada status como um nó e cada transição permitida como uma seta direcional entre os nós.
- Defina um Status Inicial — o status com o qual novas linhas começam quando são criadas.
Ao ativar o modo workflow pela primeira vez, a Copera oferece modelos pré-criados para processos comuns, como Desenvolvimento de Software (Backlog → Em Progresso → Code Review → QA → Concluído), Central de Serviços de TI, Integração de RH e Aprovação de Conteúdo. Aplicar um modelo preenche os status e as transições para você, oferecendo um ponto de partida sólido para personalizar.
Transições de Status
Uma transição define um caminho permitido entre dois status. Sem uma transição definida, a alteração de status é bloqueada.
Transições Nomeadas
Cada transição pode ter um nome de exibição que aparece na interface quando os usuários estão escolhendo o que fazer a seguir — por exemplo, "Iniciar Revisão," "Aprovar" ou "Devolver para Revisão." Nomes claros ajudam os membros da equipe a entender o que cada ação significa no contexto do seu processo.
Transições Específicas
Uma transição específica conecta um status particular a outro. Você as desenha no editor visual arrastando de um nó de status para outro. Por exemplo, conectar "A Fazer" diretamente a "Em Revisão" cria uma transição que permite apenas esse caminho.
Transições Globais
Uma transição global origina-se de qualquer status e vai para um destino específico. São úteis para ações que sempre podem acontecer, independentemente de onde uma linha está no processo — por exemplo, uma transição "Cancelar" que move a linha para "Cancelado" a partir de qualquer ponto, ou uma transição "Escalar" que funciona em qualquer etapa.
Botão "De Qualquer Status"
Você pode converter qualquer transição específica em uma transição global diretamente no editor visual. Ao clicar em uma aresta de transição e abrir o painel lateral, marque a caixa "De qualquer status". Isso define a origem como "Qualquer Status" e a aresta se torna tracejada, indicando visualmente que a transição é acessível a partir de todos os status. Desmarque a caixa para restaurar o status de origem específico original.
Isso é especialmente útil quando você percebe durante o design do workflow que uma transição como "Cancelar" ou "Fechar" deve estar disponível em todas as etapas — você não precisa desenhar manualmente arestas individuais de cada status.
Os usuários sempre podem limpar o valor de um status (defini-lo como vazio), independentemente das regras de workflow. Isso é intencional: limpar um status não conta como uma transição e nunca é bloqueado.
Se a linha ainda não tem um status atual (primeira atribuição após a criação), qualquer status permitido pode ser definido livremente. A validação do workflow só se aplica ao alterar de um status definido para outro.
Condições — Quem Pode Executar uma Transição
As condições controlam quais usuários estão autorizados a acionar uma determinada transição. Todas as condições em uma única transição usam lógica E — o usuário deve satisfazer cada condição listada.
| Tipo de Condição | Descrição |
|---|---|
| Função (Role) | O usuário deve ter uma das funções especificadas no board. |
| Usuário | O usuário deve estar em uma lista específica de pessoas nomeadas. |
| Equipe | O usuário deve pertencer a uma das equipes especificadas no workspace. |
| Proprietário da Linha | Apenas o usuário que criou a linha pode acionar esta transição. |
| Responsável | Apenas os usuários atualmente atribuídos à linha (em uma coluna de Usuários) podem acioná-la. |
Os administradores do board ignoram as verificações de condições — eles podem acionar qualquer transição independentemente das condições. No entanto, os administradores não estão isentos dos validadores. Os requisitos de dados se aplicam a todos.
Validadores — O Que Deve Ser Verdadeiro
Os validadores verificam se os dados da linha atendem aos requisitos antes que a transição seja permitida. Ao contrário das condições, os validadores são aplicados a todos os usuários, incluindo administradores.
| Tipo de Validador | Descrição |
|---|---|
| Campo Obrigatório / Campo Não Vazio | Uma coluna especificada deve ter um valor. Se estiver vazia, a transição é bloqueada. |
| Campo Corresponde | O valor da coluna deve corresponder a um padrão que você define. Útil para impor formatos como números de referência ou códigos. |
Cada validador pode exibir uma mensagem de erro personalizada para que os usuários saibam exatamente o que precisam preencher antes de prosseguir com a transição.
Campos Obrigatórios na Transição
Além dos validadores (que verificam dados existentes), uma transição também pode solicitar ao usuário que preencha campos no momento da transição. Quando campos obrigatórios estão configurados, um diálogo aparece assim que o usuário aciona a transição, pedindo esses valores antes que a alteração de status seja concluída.
Isso é útil quando você deseja capturar contexto em um estágio específico — por exemplo, exigir um campo "Motivo da Rejeição" ao mover para um status "Rejeitado."
O Que Acontece no Kanban
Quando você arrasta um cartão para uma nova coluna na visualização Kanban e essa transição tem campos obrigatórios, o cartão se move visualmente para a nova coluna e o diálogo de transição abre imediatamente para coletar os valores que faltam. A alteração de status é finalizada assim que você preenche o diálogo e confirma.
Isso é intencional --- você tem uma experiência fluida de arrastar e soltar em vez de ser bloqueado no meio do arraste, e o aviso garante que a informação seja capturada antes que a movimentação seja efetivada. Se você fechar o diálogo sem concluí-lo, o cartão volta para sua coluna original. (Se uma transição não for permitida de jeito nenhum, o arraste do cartão simplesmente não é aceito e ele retorna ao lugar.)
O aviso de campos obrigatórios faz parte da interface da Copera --- ele aparece sempre que você faz a transição pelo aplicativo, guiando você a preencher os detalhes certos no momento certo.
Se você precisa de uma garantia absoluta de que um campo nunca pode ficar vazio em uma transição (independentemente de como a mudança é feita), adicione um Validador do tipo Campo Obrigatório ou Campo Não Vazio a essa transição, ou marque o campo como Obrigatório no comportamento de campos por status. Validadores e regras de obrigatoriedade por status são aplicados a todos, incluindo administradores do board, então são a ferramenta certa quando o requisito é uma regra estrita de integridade de dados, e não apenas um aviso útil.
Portões de Aprovação
As transições podem exigir aprovação de pessoas designadas antes que a alteração de status entre em vigor. Quando um usuário aciona uma transição com aprovação ativada, a linha é movida para um status Aguardando Aprovação enquanto a solicitação de aprovação é processada. Quando a solicitação é resolvida (aprovada ou rejeitada), a linha é movida para o status de destino ou de volta ao status original.
Tipos de Aprovadores
Você pode designar aprovadores de quatro maneiras:
- Usuários Específicos — Indivíduos nomeados que devem revisar a solicitação.
- Função no Board — Qualquer pessoa que tenha uma função especificada no board (como "Gerente") torna-se um aprovador.
- Proprietário da Linha — A pessoa que criou a linha é o aprovador.
- Baseado em Coluna — Os aprovadores são determinados dinamicamente com base no valor de uma coluna na linha (veja abaixo).
Aprovadores Condicionais Baseados em Coluna
A aprovação baseada em coluna permite direcionar solicitações de aprovação para pessoas diferentes dependendo de um valor na linha — sem criar transições ou workflows separados para cada caso.
Quando você seleciona Baseado em Coluna como tipo de aprovador, três opções de configuração aparecem:
- Coluna de condição — Escolha uma coluna Dropdown (SELECT) da tabela. O valor atual desta coluna na linha determina quem serão os aprovadores.
- Tabela de mapeamento — Para cada opção na coluna selecionada, atribua um ou mais aprovadores. Por exemplo, se sua coluna "Departamento" tem as opções "RH," "Sistemas" e "Financeiro," você pode mapear cada departamento para seu respectivo gerente.
- Aprovadores de fallback — Usuários opcionais que recebem a solicitação de aprovação quando o valor da coluna da linha não corresponde a nenhum mapeamento (ou a coluna está vazia).
Exemplo — Aprovação departamental em múltiplos níveis:
Suponha que você tenha uma coluna "Departamento" com as opções RH, Sistemas e Financeiro. Você pode configurar duas transições:
- Aberto → Em Revisão: Aprovação baseada em coluna no "Departamento" — mapeia RH para Gerente A, Sistemas para Gerente B
- Em Revisão → Concluído: Aprovação baseada em coluna no "Departamento" — mapeia RH para Diretor X, Sistemas para Diretor Y
Cada transição resolve independentemente o aprovador correto para o departamento da linha. Isso cria um fluxo de aprovação em múltiplos níveis onde os gerentes de departamento aprovam primeiro e, em seguida, os diretores de departamento aprovam.
O solicitante (a pessoa que acionou a transição) é automaticamente excluído da lista de aprovadores, mesmo que corresponda ao mapeamento. Uma pessoa não pode aprovar sua própria solicitação.
Políticas de Aprovação
| Política | Comportamento |
|---|---|
| ANY_ONE | O primeiro aprovador a agir (aprovar ou rejeitar) resolve a solicitação para todos. |
| ALL | Cada aprovador designado deve aprovar. Uma única rejeição rejeita toda a solicitação. |
Status de Aguardando Aprovação
Quando a aprovação está ativada em uma transição, o sistema cria automaticamente uma opção de status Aguardando Aprovação na coluna. Este é um status real — não um estado interno oculto — o que significa que funciona perfeitamente com todas as funcionalidades da Copera:
- Filtros: Filtre sua tabela para ver apenas as linhas aguardando aprovação.
- Visualização Kanban: Uma coluna "Aguardando Aprovação" aparece automaticamente, agrupando todas as linhas que aguardam decisões.
- Temporizadores de SLA: Configure condições de SLA para iniciar a contagem quando uma linha entra no status de aguardando e pausar quando sai.
- Automações: Crie automações que são acionadas quando o status de uma linha muda para "Aguardando Aprovação" (por exemplo, atribuir automaticamente um revisor ou enviar uma notificação personalizada).
- Visibilidade por status e regras de campo: Configure substituições de visibilidade e comportamento de campo especificamente para o estado de aguardando.
O status de aguardando aparece no editor visual como um nó distinto com borda âmbar e ícone de ampulheta, facilitando a identificação no gráfico do workflow.
Os status de aguardando aprovação são gerenciados pelo sistema. Eles não podem ser renomeados ou excluídos manualmente — são criados quando você ativa a aprovação em uma transição e são limpos automaticamente quando você a desativa.
Como o fluxo funciona:
- Um usuário aciona uma transição que requer aprovação (por exemplo, Aberto → Em Revisão).
- A linha é movida imediatamente para o status Aguardando Aprovação.
- Os aprovadores designados recebem uma notificação.
- Se aprovada: a linha é movida para o status de destino (Em Revisão).
- Se rejeitada: a linha é movida para o status de rejeição configurado, ou de volta ao status original (Aberto) se nenhum for definido.
Se você tiver múltiplas transições com aprovação ativada, cada uma recebe seu próprio status de aguardando (por exemplo, "Aguardando: Aprovação do Gerente" e "Aguardando: Aprovação do Diretor"), para que você possa distinguir entre diferentes etapas de aprovação.
Tratamento de Rejeições
Quando uma transição é rejeitada, você pode configurar o que acontece com a linha:
- Mover para um status específico (por exemplo, um status "Rejeitado" ou "Precisa de Revisão").
- Se nenhum status de rejeição for configurado, a linha retorna ao status em que estava antes da aprovação ser acionada.
Notificações
Tanto o solicitante quanto os aprovadores designados recebem notificações no aplicativo e por email. Os aprovadores são notificados quando uma nova solicitação de aprovação está aguardando por eles; o solicitante é notificado quando sua solicitação é aprovada ou rejeitada.
Comentários nas Decisões de Aprovação
Os aprovadores podem adicionar um comentário junto com sua decisão. Você pode configurar uma transição para exigir um comentário ao rejeitar, garantindo que o feedback seja sempre documentado.
Apenas uma solicitação de aprovação por linha por coluna Status pode estar pendente ao mesmo tempo. Se uma solicitação já estiver pendente, nenhuma nova transição pode ser acionada até que ela seja resolvida ou cancelada.
Funções Pós-Transição
As funções pós-transição são ações que são executadas automaticamente após uma transição ser concluída com sucesso (incluindo após uma aprovação ser concedida, se aplicável). Elas são executadas sem nenhuma interação do usuário.
| Função | Descrição |
|---|---|
| Definir Campo | Define uma coluna para um valor estático específico. |
| Copiar Campo | Copia o valor de uma coluna para outra coluna na mesma linha. |
| Definir Data Atual | Grava a data e hora atuais em uma coluna de data — útil para registrar quando uma transição ocorreu. |
| Atribuir Usuário Atual | Adiciona o usuário que acionou a transição a uma coluna de Usuários. |
| Atribuir Usuário | Adiciona uma ou mais pessoas específicas a uma coluna de Usuários. |
| Limpar Campo | Remove o valor de uma coluna completamente. |
| Enviar Notificação | Envia uma notificação no aplicativo para usuários específicos com uma mensagem personalizada. |
| Webhook | Envia uma requisição HTTP (POST, PUT ou PATCH) para uma URL externa, permitindo integração com sistemas de terceiros. |
Você pode adicionar múltiplas funções pós-transição a uma única transição, e elas são executadas na ordem em que estão listadas.
Visibilidade por Status
Você pode controlar quais usuários podem ver linhas com base no status atual da linha. Isso é configurado clicando em um nó de status no editor visual e abrindo seu painel de configurações.
| Configuração de Visibilidade | Descrição |
|---|---|
| Baseada em Função | Apenas usuários com funções específicas no board podem ver linhas neste status. |
| Baseada em Usuário | Apenas usuários nomeados específicos podem ver linhas neste status. |
| Proprietário Pode Ver | O criador da linha sempre vê suas próprias linhas, mesmo que as regras de visibilidade os excluiriam. Ativado por padrão. |
| Responsável Pode Ver | Usuários atribuídos à linha sempre a veem. Ativado por padrão. |
Os administradores do board sempre veem todas as linhas, independentemente das regras de visibilidade. As configurações de visibilidade se aplicam apenas a membros regulares e convidados.
Comportamento de Campos por Status
Quando uma linha está em um determinado status, você pode substituir como campos individuais se comportam. Isso também é configurado no painel de configurações do nó de status.
| Comportamento | Descrição |
|---|---|
| Editável | Comportamento normal — o campo pode ser lido e modificado. Este é o padrão. |
| Somente Leitura | O campo é visível, mas não pode ser editado. Administradores ainda podem editar campos somente leitura. |
| Obrigatório | O campo deve ter um valor. Isso é aplicado a todos os usuários, incluindo administradores — é uma regra de integridade de dados, não uma restrição de permissão. |
| Oculto | O campo não é visível para não administradores e é excluído das respostas da API. Administradores ainda podem ver e editar campos ocultos. |
Temporizadores de SLA
As transições de status do workflow podem iniciar, pausar e parar automaticamente colunas de temporizador de SLA. Quando uma linha entra ou sai de status específicos, o temporizador responde de acordo — permitindo o rastreamento automático de quanto tempo o trabalho passa em cada etapa. Consulte a página Rastreamento de SLA para detalhes completos de configuração.
Dicas
- Comece simples. Ative o workflow com algumas transições básicas primeiro e, em seguida, adicione condições, validadores e portões de aprovação conforme seu processo amadurece.
- Use o editor visual para mapear seu processo. Desenhe o fluxo na tela antes de adicionar regras — é muito mais fácil identificar lacunas e loops visualmente.
- Transições globais são ótimas para exceções. Ações de "Cancelar," "Escalar" ou "Fechamento de Emergência" que devem estar sempre disponíveis a partir de qualquer status funcionam perfeitamente como transições globais (a partir de QUALQUER status).
- Combine portões de aprovação com visibilidade por status. Mova uma linha para um status "Aguardando Revisão" que só os revisores podem ver e exija a aprovação deles antes que avance. Isso cria um processo de revisão seguro e auditável.
- Use aprovação baseada em coluna para processos departamentais. Se diferentes departamentos precisam de aprovadores diferentes, use o tipo "Baseado em Coluna" em vez de criar transições separadas para cada departamento.
- Use funções pós-transição para atualizações repetitivas. Registre automaticamente a conclusão, atribua a pessoa que fechou um ticket e limpe campos temporários — sem que ninguém precise se lembrar de fazer isso manualmente.
- Teste com uma linha de exemplo. Antes de implantar um workflow para toda a sua equipe, percorra o processo com uma linha de teste para verificar se cada transição, condição e aprovação se comporta conforme esperado.
Próximos Passos
- Explore Automações para regras "quando isso acontecer, faça aquilo" orientadas por eventos que complementam as transições do workflow.
- Revise Permissões do Board para entender como as funções do board interagem com as condições do workflow.
- Saiba mais sobre Tipos de Campo para entender quais tipos de coluna funcionam com validadores e funções pós-transição.