DATTA BPM — Fluxos de Trabalho com Triagem Integrada
Coordenar o caminho de centenas de casos — quem faz o quê, em que ordem, com que prazo — em planilhas e trocas de mensagem é receita para prazo perdido e etapa esquecida. Com o DATTA BPM você desenha o fluxo de trabalho visualmente em notação BPMN 2.0 (processo judicial, pedido de empréstimo, pedido de benefício social…), escolhe quais regras de triagem rodam em cada fase e acompanha cada caso em tempo real — com prazos que a plataforma cobra sozinha, decisões automáticas baseadas na triagem e relatórios consolidados no DATTABI.
Menu: e .
Conceitos
| Conceito | O que é |
|---|---|
| Modelo de processo | O desenho BPMN do fluxo (fases, decisões, paralelismos). Versionado: RASCUNHO → PUBLICADO (imutável) → ARQUIVADO. |
| Instância | Um processo de negócio percorrendo o modelo (ex.: o processo judicial 0001234-56.2026…). Identificada pela chave de negócio. |
| Tarefa de usuário | Fase manual: a instância espera até alguém com permissão concluir a fase no monitor. |
| Tarefa de triagem | Fase automática: executa as regras de triagem selecionadas e alimenta as variáveis usadas nas decisões. |
| Gateway exclusivo | Decisão: o fluxo segue pela primeira condição verdadeira; senão, pelo fluxo padrão. |
| Gateway paralelo | Divide o fluxo em ramos simultâneos (fork) e os reencontra (join). |
| Gateway inclusivo | Ativa TODOS os ramos cujas condições forem verdadeiras; a junção espera apenas os ramos que foram ativados. |
| Subprocesso | Agrupa um trecho do fluxo com início/fim próprios dentro do processo (escopo isolado). |
| Chamada de processo | Executa OUTRO modelo publicado como instância filha vinculada; o pai continua quando a filha conclui (calledElement = id do modelo alvo). |
| Evento de fim terminate | Encerra imediatamente o escopo inteiro (o processo todo, ou só o subprocesso), mesmo com ramos paralelos pendentes. |
Como desenhar um fluxo no Process Modeler
- Novo modelo: informe nome, descrição e o contexto de processos — a base que o fluxo orquestra (define o auto-início e o registro de processos existentes). Sem contexto, vale o contexto ativo da plataforma. O contexto é definido na criação e aparece como badge na barra do editor (não há seletor lá): as regras de triagem não dependem desse campo — são escolhidas dentro de cada tarefa ou decisão (item 4).
- O contexto tem que existir no cadastro da plataforma. Um contexto preenchido que não está cadastrado é recusado na hora, com a lista dos contextos aceitos (as mesmas chaves que a plataforma usa —
Processos,CPC, …). Deixar o campo em branco continua valendo e é o caminho para um fluxo que não se prende a um contexto. A verificação vale para os três caminhos de escrita: criar, editar e publicar — inclusive quando o contexto vem declarado no XML (datta:contexto), caso de arquivo.bpmnimportado. Por que importa: a instância herda o contexto do modelo, então um contexto inexistente aqui produz instâncias que nunca conseguem ler a base — ficam sem responsável e sem título descritivo, e o sintoma só aparecia muito depois, no log de outro serviço. - Modelo antigo com contexto inválido continua editável: a verificação só recusa o valor que muda. Renomear, mexer no diagrama ou publicar um modelo que já estava gravado com um contexto inexistente não é bloqueado — do contrário seria impossível corrigir o próprio modelo pela tela.
- Cadastro de contextos fora do ar não bloqueia: se a plataforma não consegue consultar a lista, o contexto informado é aceito e a ocorrência fica registrada no log do serviço. É verificação de forma, não de permissão: indisponibilidade de um serviço não pode impedir você de trabalhar.
- O contexto tem que existir no cadastro da plataforma. Um contexto preenchido que não está cadastrado é recusado na hora, com a lista dos contextos aceitos (as mesmas chaves que a plataforma usa —
- Desenhe o fluxo arrastando elementos da paleta (padrão BPMN 2.0 — a mesma notação do Bizagi/Camunda Modeler). Elementos suportados: evento de início, evento de fim (inclusive terminate), tarefa de usuário, tarefa de serviço (triagem), subprocesso embarcado, chamada de processo, gateways exclusivo, paralelo e inclusivo, eventos de tempo e de mensagem (de início, intermediários e anexados a uma tarefa) e gateway por evento.
- Campos do formulário de uma fase: selecione uma tarefa de usuário e, no painel de propriedades, defina os campos que o responsável preenche ao concluir a fase — cada campo tem nome (variável), rótulo, tipo (texto, número, sim/não, data, lista), se é obrigatório, opções (para lista) e valor padrão. No monitor, Concluir fase abre esse formulário tipado; campos obrigatórios bloqueiam a conclusão até serem preenchidos, e os valores viram variáveis usadas nas condições dos gateways. Compatível com BPMN 2.0 padrão:
ioSpecification(dataInput/dataOutput = obrigatório) epropertyde modelos importados (Bizagi/Camunda) também viram campos. - Regras em qualquer tarefa ou decisão: selecione uma tarefa (de usuário ou de triagem) ou um gateway e clique em Selecionar regras — abre uma janela com filtro por contexto, busca semântica por nome ou texto da regra e seleção de uma ou mais regras. Cada item mostra o contexto legal da regra (CPC/CDC/CPP…).
- Filtro por contexto: a lista traz todo contexto que tem regra ativa, com a quantidade ao lado (CPC (1.076)), mais a opção "Todos os contextos que posso ver". Contexto cujas regras estão todas inativas fica de fora — a janela só seleciona regra ativa, então a opção não levaria a lugar nenhum. Só aparecem os contextos que o seu usuário alcança — o recorte é feito no servidor, a partir dos workspaces de que você participa, e pedir um contexto fora do seu acesso responde "Você não tem acesso a esse contexto de regras" em vez de devolver uma lista vazia sem explicação.
- Pré-seleção: como as regras são catalogadas por contexto legal (detectado por processo na triagem) e o modelo aponta para um contexto de processo (ex.: "Processos"), o contexto do modelo já vem escolhido quando tem regras próprias. Quando não tem, a janela abre em "Todos os contextos que posso ver" e diz por quê — antes ela exibia o catálogo inteiro sem avisar, e as regras pareciam ser as do contexto do modelo.
- Contexto sem regra devolve lista vazia, com a explicação "Este contexto ainda não tem regras — escolha outro contexto no filtro".
- Texto completo da regra: a lista mostra os primeiros 160 caracteres do enunciado; clique no texto (ou em Ver texto completo) para abrir um painel rolável com a regra inteira. Fecha com Esc, clique fora ou Fechar, e o foco volta para o item de onde saiu.
- A busca semântica procura dentro do contexto escolhido no filtro.
- Trocar de contexto não desfaz a seleção: as regras já marcadas continuam gravadas no modelo, inclusive as de outro contexto.
- Marque "Falhar a fase se alguma regra retornar anomalia/erro" para que, ao chegar naquele ponto do fluxo, uma anomalia ou anomalia crítica faça a fase falhar (a instância vai para EM_ERRO, reexecutável no monitor). Sem a marcação, as regras só alimentam as variáveis usadas nas decisões e o fluxo segue.
- As regras pertencem ao elemento, nunca ao modelo inteiro: cada tarefa e cada decisão tem a sua própria seleção. Um selo com a contagem aparece no canto da caixinha ou do losango no diagrama, para se ver de relance onde há triagem vinculada e onde ficou vazio.
- Sem seleção, o comportamento difere por tipo: numa tarefa de triagem rodam TODAS as regras ativas do contexto; numa tarefa de usuário ou gateway não roda regra nenhuma. O painel avisa em cada caso.
- Regras vinculadas a uma junção de caminhos paralelos (gateway paralelo ou inclusivo alcançado por mais de um caminho) não são executadas — ali o processo apenas espera os ramos irmãos. A validação recusa o modelo nesse caso, para a configuração não ficar morta em silêncio.
- Condições de decisão: selecione uma seta que sai de um gateway exclusivo. A condição pode ser montada de duas formas, alternando no topo do painel:
- Assistente (visual): linhas de condição no formato *variável + operador
- valor — a variável vem de uma lista com o resultado da triagem* e os
campos de formulário definidos nas fases do próprio diagrama; o valor é sugerido conforme o tipo (status da triagem, sim/não, opções de lista, número). Com mais de uma linha, escolha se o fluxo exige TODAS (E) ou QUALQUER (OU). A expressão gerada aparece embaixo e é a que fica salva no modelo.
- Script: campo livre para expressões avançadas, ex.:
- Assistente (visual): linhas de condição no formato *variável + operador
qtdAnomalias > 0 && (statusTriagem == 'ANOMALIA' || temAnomaliaCritica)Parênteses e mistura de E/OU só são editáveis aqui — o assistente avisa e mantém o modo script.
Marque uma das saídas como fluxo padrão. Variáveis preenchidas pela triagem: statusTriagem (CONFORME | ANOMALIA | ANOMALIA_CRITICA | INCONCLUSIVO), qtdAnomalias, qtdConformes, qtdSemContexto, qtdNaoAvaliadas, temAnomalia, temAnomaliaCritica, scoreTriagem — além das variáveis informadas ao concluir tarefas de usuário.
qtdSemContexto e qtdNaoAvaliadas são separadas de propósito, e a distinção decide roteamento: a primeira conta regras que a triagem avaliou e não encontrou o dado no processo; a segunda conta regras que a IA não chegou a avaliar porque a chamada ao modelo falhou. Até 2026-08-22 a segunda situação não existia como dado — a regra simplesmente sumia do laudo —, e uma condição escrita como qtdSemContexto == 0 passaria a mudar de ramo por causa de uma indisponibilidade do provedor. Se o seu fluxo precisa reagir a isso, escreva a condição sobre qtdNaoAvaliadas.
- Prazos que a plataforma cobra sozinha (evento de tempo): arraste um evento de borda de tempo para cima de uma tarefa e informe a duração no formato ISO 8601 —
PT48H(48 horas),P15D(15 dias),PT30M(30 minutos). O painel mostra a leitura em português ("dispara 48 horas depois de chegar aqui") e recusa formato inválido antes da publicação. Dois comportamentos, escolhidos no próprio painel:- Interromper a atividade (borda sólida): o prazo estourou → a tarefa é cancelada e o fluxo segue pelo caminho da borda. Use para perda de prazo.
- Não interromper (borda tracejada): a tarefa continua e abre-se um caminho paralelo. Use para escalonamento — "avisa o supervisor, mas o analista segue trabalhando". Com ciclo (
R/PT24H), lembra a cada 24 horas.
Também dá para usar um evento de tempo no meio do fluxo (o processo simplesmente espera aquele período) e um evento de início por tempo, que cria instâncias sozinho numa data (timeDate) ou periodicamente (R/PT24H). O prazo continua contando mesmo com a plataforma reiniciada — nada se perde.
- Esperar algo de fora (evento de mensagem): um evento de mensagem faz o processo parar até que um sistema externo avise que algo aconteceu (juntada de documento, resposta do réu, retorno de outro sistema) — sem ninguém precisar ficar olhando o painel. Dê um nome à mensagem (ex.:
documento-juntado); a correlação usa por padrão o número do processo, e o integrador publica a mensagem pela API do DATTA (veja a referência de API) informando o nome, a chave de correlação e as variáveis:
{"nome": "documento-juntado", "correlacao": "0007580-15.2012.4.04.0000",
"variaveis": {"tipoDocumento": "contestacao"}}As variáveis enviadas entram no processo e podem ser usadas nas decisões. No monitor, Enviar mensagem faz o mesmo pela interface. Um evento de início por mensagem cria uma instância nova quando a mensagem chega, e um evento de envio avisa outros processos DATTA que esperam por ela.
Se nenhum processo estava esperando, a mensagem é descartada (comportamento padrão do BPMN) e a resposta avisa que nenhum destinatário foi alcançado — publique de novo quando o processo chegar na espera.
- "O que vier primeiro" (gateway por evento): para o padrão aguardo a resposta por até 15 dias; se não vier, sigo por outro caminho, use o gateway por evento com duas saídas — uma para um evento de mensagem, outra para um evento de tempo. O primeiro que acontecer decide o caminho e cancela o outro.
- SLA (horas): prazo informativo por fase, exibido no monitor e nos relatórios. Para um prazo que a plataforma cobra de fato, use o evento de borda de tempo (item 6).
- Salvar: no rascunho, "Salvar" grava o diagrama sem publicá-lo, e
Ctrl+S(Cmd+Sno Mac) faz o mesmo pelo teclado. Salve quantas vezes quiser antes de publicar. - Validar e publicar: a validação aponta problemas estruturais em português (ex.: fase sem saída, gateway sem condições). Publicar torna o modelo executável. Para alterá-lo depois há dois caminhos, descritos no item 12: gravar direto na versão publicada (preservando as instâncias em andamento) ou criar uma nova versão (deixando-as na versão atual).
- Salvar alterações em um modelo já publicado: abrir um modelo PUBLICADO mostra o selo Somente leitura e o diagrama continua editável. Ao salvar, você escolhe entre duas saídas — a diferença entre elas é o que acontece com as instâncias que já estão rodando:
- Salvar (ação primária) grava direto na versão publicada, sem trocar de versão. As instâncias em andamento são preservadas na etapa em que estão e passam a seguir o fluxo novo a partir dali. É o caminho para corrigir um fluxo em produção sem parar o que já está em execução. Antes de gravar, uma confirmação mostra quantas instâncias serão preservadas.
- Salvar como nova versão cria o rascunho da próxima versão com as suas alterações e deixa você nele, com "Salvar" e "Publicar" de volta. As instâncias em andamento continuam na versão atual, com o desenho de hoje, e só os processos novos usam a versão nova.
Quando o salvar direto é recusado: se alguma instância em andamento estiver parada numa etapa que o seu desenho remove, ela não teria para onde ir — o modelador nomeia as etapas e as instâncias afetadas e oferece a nova versão, que por definição não mexe no que está rodando. Renomear, mover, reconectar ou acrescentar etapa não cai nesse caso; só remover a etapa onde há instância parada.
Ambos exigem a permissão BPMN_DEPLOY; sem ela, o selo explica que a versão não pode ser alterada e nenhum dos dois botões aparece. Ctrl+S (Cmd+S) dispara a ação primária — e, como ela abre a confirmação, o atalho nunca grava sem você ver o impacto.
- Exportar/Importar troca o XML BPMN 2.0 com ferramentas externas (Bizagi, Camunda Modeler).
- Auto-início (modelo publicado): marque "Iniciar automaticamente a cada novo processo do contexto" no card do modelo para que todo processo NOVO do contexto entre no fluxo sem passo manual (ver seção abaixo).
- Excluir modelo: o card de qualquer modelo tem "Excluir". Instâncias em andamento ou em erro bloqueiam a exclusão (conclua ou cancele antes); modelos com instâncias finalizadas pedem uma segunda confirmação para apagar também o histórico (eventos e resultados). A ação é auditada e irreversível.
Como um registro (processo, pedido, benefício) entra no fluxo
Cinco formas de associar um caso real a um modelo:
- Manual, pelo monitor — Iniciar processo: escolha o modelo, informe a chave de negócio e, opcionalmente, variáveis iniciais (ex.:
valor=50000,renda=8000) que alimentam as condições dos gateways. Números etrue/falsesão convertidos automaticamente. Útil para fluxos manuais (esteira de trabalho sem triagem) — funciona como um formulário leve do caso. - Automático pós-ingestão — ligue o auto-início num modelo publicado. Todo processo NOVO que entrar no contexto (Upload, DATTA Extract, pipeline ou integração) inicia uma instância sozinho. Processos que já existiam quando você ligou a opção NÃO são reprocessados (baseline); há um teto por ciclo para não inundar a fila de triagem e de IA.
- Registrar processos existentes (backfill) — no card de um modelo publicado, Registrar existentes cria uma instância para CADA processo já existente no contexto (ex.: registrar todos os processos judiciais no rito do CPC). As instâncias nascem paradas na primeira fase — nenhuma triagem é disparada no registro; já registrados são ignorados, então dá para rodar de novo sem medo. Complementa o auto-início, que cobre apenas os processos novos a partir de agora.
- Pelo Painel de Processos — na tela de detalhamento de um processo, use Atribuir a modelo BPM... para registrá-lo num modelo publicado; Acompanhar no monitor abre a instância criada.
- Por integração — sistemas externos e o próprio pipeline de ingestão podem criar instâncias informando o modelo, a chave de negócio, o título e as variáveis iniciais; veja a referência de API.
A chave de negócio é o elo com os dados: numa tarefa de triagem, a plataforma busca o processo correspondente na base do contexto e roda as regras da fase contra ele. Se a chave ainda não existir na base, a fase de triagem falha (reexecutável após a ingestão). Fluxos só com fases manuais aceitam qualquer chave.
O que aparece no Process Monitor
- Iniciar processo: escolha um modelo publicado, informe a chave de negócio (ex.: número do processo) e variáveis iniciais opcionais. A plataforma percorre o fluxo automaticamente até a primeira fase manual.
- Lista de instâncias com filtros por modelo e chave, atualizada ao vivo — o indicador "ao vivo" acende quando há eventos.
- Os totalizadores são o filtro de status: os cards Instâncias / Em andamento / Concluídas / Em erro / Canceladas são clicáveis — clicar aplica o status, clicar no card já ativo volta para todas. Não há uma linha separada de botões de status: o número e o filtro são o mesmo controle.
- O título diz QUAL processo é: para processo judicial o título traz a classe processual e a parte principal (ex.: "Mandado de Segurança — FUSOPAR PARAFUSOS LTDA"), com o número na coluna Chave. Título escrito por quem iniciou o processo (ex.: "Pedido R$ 50k — Ana") é preservado. O título vem da base do contexto na leitura, sem regravar a instância: corrigiu o dado na base, o monitor acompanha.
- Só lista processo que existe: instância cuja chave de negócio não existe mais na base do contexto fica fora da lista e do total. Se a base do contexto estiver indisponível, nada é escondido — prefere-se mostrar demais a esconder processo válido.
- Selo "contexto não cadastrado": instância cujo contexto não existe no cadastro da plataforma aparece com um selo âmbar ao lado da chave (e no campo Contexto do detalhe). Passe o mouse para a explicação: o processo continua executando normalmente, mas o enriquecimento que vem da base do contexto — responsável e título descritivo — não se aplica, porque não há base para ler. A instância não é escondida: esconder o problema tiraria o rastro dele. Modelos novos não caem mais nisso (o contexto é verificado na criação); o selo serve às instâncias criadas antes dessa verificação. Se a plataforma não conseguir consultar o cadastro, nada é marcado — marcar por indisponibilidade acusaria contexto válido de inexistente. Quem tem
BPMN_DEPLOYclica no selo e vai direto à correção: o diálogo Trocar o contexto do modelo abre já apontando para o modelo que gerou aquela instância (seção Trocar o contexto de um fluxo). - Selo "segue o contexto ativo" / "não segue o modelo": selo roxo, ao lado da chave e no campo Contexto do detalhe, para a instância que não segue o contexto que o modelo dela declara. É uma pergunta diferente do selo âmbar acima e não pode ser confundida com ele: lá o contexto não existe na plataforma; aqui ele existe, mas esta instância não o acompanha. Duas causas:
- "segue o contexto ativo" — a instância não tem contexto fixado, e contexto em branco significa "resolver pelo contexto ativo da plataforma a cada leitura". Enquanto isso, o modelo declara outro. É um estado legítimo (e por isso o selo só explica, sem oferecer correção): trocar o contexto do modelo não fixa essa instância. O detalhe mostra para onde ela resolve de fato — "ativo da plataforma (hoje Processos) — o modelo declara OnboardingPJ". O "hoje" é literal: o contexto ativo é global e pode mudar depois que a tela carregou, então a frase descreve o momento, não promete.
- "não segue o modelo" — a instância tem um contexto explícito diferente do que o modelo declara (acontece quando o modelo foi repontado sem migrar as instâncias). Aqui há o que corrigir: quem tem
BPMN_DEPLOYclica no selo e cai no diálogo Trocar o contexto do modelo, com a migração marcada.
- Detalhe da instância: diagrama com a fase atual destacada (azul), fases concluídas (verde) e erros (vermelho); linha do tempo de eventos; resultados das regras por fase (com explicação da IA); variáveis atuais.
- Regras por etapa: como as regras são vinculadas a cada tarefa ou ponto de decisão (não ao modelo inteiro), o painel Resultados das regras traz uma pastilha por etapa com a contagem
anomalias/total— clicar recorta a lista para aquela etapa. Etapas com anomalia ficam destacadas em vermelho. Clicar na caixinha (ou no losango) do diagrama faz o mesmo recorte e contorna a etapa selecionada; clicar de novo volta para Todas as etapas. Dentro de cada grupo as anomalias vêm primeiro e o cabeçalho resume "N anomalia(s) em M regra(s)". - Ações: Concluir fase numa fase manual (informando variáveis opcionais), Reexecutar regras numa fase que falhou e cancelar a instância (histórico preservado). O cancelamento vale para instâncias em andamento e em erro — útil quando a fase que falhou não será reexecutada (ex.: desistência); instâncias concluídas ou já canceladas não podem ser canceladas. Triagens que estiverem executando no momento do cancelamento são interrompidas e resultados tardios são descartados. Cancelar uma instância filha (chamada de processo) marca a fase de chamada do pai como erro, reexecutável. Cancelar um pai com chamadas em voo cascateia: todas as instâncias filhas (e netas) ainda ativas são canceladas junto, cada uma com o próprio histórico preservado e o motivo "O processo chamador foi cancelado".
- Exclusão do processo na plataforma: ao excluir um processo no painel Processos, as instâncias BPM daquele número (incluindo chamadas de processo) são removidas automaticamente do monitor — com histórico — e o número volta a ser elegível ao início automático caso o processo seja recarregado. Diferente do cancelar (que preserva o histórico no monitor), essa remoção acompanha a exclusão do próprio processo.
- Prazos e esperas: uma fase parada num evento de tempo mostra a contagem regressiva ("dispara em 2h 14min"); uma tarefa com prazo anexado mostra o relógio do prazo no próprio card. Fases esperando mensagem mostram o nome da mensagem esperada e o botão Enviar mensagem, que publica a mensagem correlacionada com aquele processo. Quando o gateway por evento está ativo, o monitor lista os candidatos ("aguardando o que vier primeiro"). Na linha do tempo aparecem Aguardando evento, Prazo cumprido, Prazo expirado (âmbar), Mensagem recebida/enviada e Evento decidiu o caminho.
- Relatórios (aba): instâncias por status, fases concluídas × tempo médio, gargalos (aguardando agora, com SLA), anomalias por regra e série diária. O painel Anomalias por regra de triagem tem pastilhas de etapa: por padrão soma o modelo inteiro, e escolher uma tarefa/decisão mostra só as anomalias daquela etapa — útil porque cada etapa tem sua própria seleção de regras, e a soma do modelo mistura seleções diferentes.
- Gerar dashboard DATTABI: cria no DATTABI um dashboard consolidado do modelo (KPIs, status, gargalos, anomalias por regra, série temporal) que pode ser publicado em qualquer workspace.
- Abrir modelador: leva direto ao diagrama do processo aberto — com uma instância no detalhe, abre o modelo dela; na lista, abre o modelo do filtro. Sem instância nem filtro (não há um diagrama único a apontar) cai na galeria de modelos.
Trocar o contexto de um fluxo
Contexto errado no modelo acontece — o fluxo nasceu antes do contexto ser cadastrado, ou o nome digitado não era o do cadastro. Como a instância herda o contexto do modelo, corrigir só o modelo deixaria as instâncias apontando para o lugar antigo. A plataforma faz as duas coisas numa operação só, com prévia do impacto e registro em auditoria.
Onde fica
- No Process Modeler: o contexto na barra do editor é um botão — clique nele (ou em Definir contexto, quando o modelo não tem nenhum). Vale também para modelo publicado: contexto é política de execução, não desenho.
- No Monitor: clique no selo contexto não cadastrado da instância, na lista ou no detalhe. Ele leva ao modelo que gerou a instância — é lá que o contexto mora.
O que a prévia mostra (antes de qualquer escrita)
Escolhido o destino, o diálogo mostra, lado a lado, de onde e para onde o enriquecimento passa a ler: o banco do contexto, a entidade (label) e a propriedade de identificação de cada lado. Mais as contagens: quantas instâncias seriam migradas, quantas já estão no destino, quantas seguem o contexto ativo e o total. O botão de confirmar só habilita depois que a prévia aparece e o motivo é preenchido — trocar o contexto muda de qual base vem o dado, e confirmar isso às cegas é o tipo de decisão que só se descobre errada depois.
Quando há instâncias sem contexto fixado, a prévia não se limita a dizer que elas ficam de fora: ela diz para onde elas resolvem, com o contexto ativo daquele momento — "2 instância(s) seguem o contexto ativo (hoje Processos) e continuarão seguindo; como o destino é OnboardingPJ, elas vão resolver para Processos, não para OnboardingPJ." Se a plataforma não conseguir ler qual é o contexto ativo agora, a frase diz isso, em vez de prometer um destino que ninguém apurou.
O que muda e o que não muda
- Muda: o campo contexto do modelo e o das instâncias dele que têm contexto explícito (quando a migração é marcada). O
datta:contextodeclarado no diagrama é realinhado junto, para a próxima versão publicada não desfazer a troca. - Não muda: status, fase atual, tokens, variáveis, chave de negócio e histórico das instâncias. Instância em execução continua exatamente onde estava — o que muda é de onde vem o enriquecimento, não o estado do fluxo.
- Nada é copiado entre bancos. A instância passa a ler de outro contexto; nenhum dado é movido de uma base para outra. E nenhuma instância é apagada.
A regra do contexto em branco
Instância sem contexto fixado nunca é migrada — nem por esta troca, nem pela cascata da renomeação de um contexto. Contexto em branco não quer dizer "sem contexto": quer dizer "resolver pelo contexto ativo da plataforma a cada leitura". Gravar um nome ali converteria uma escolha dinâmica em fixa sem ninguém ter pedido — e, o ponto decisivo, sem volta: depois que o nome está gravado, não há mais como saber quais instâncias eram dinâmicas. Não tocar é recuperável; tocar não é. Entre o reversível e o irreversível, a plataforma escolhe o reversível.
O preço dessa regra é uma divergência legítima — o modelo declara Y, a instância resolve pelo ativo — e ela é anunciada, nunca silenciosa: aparece na prévia (acima) e no monitor, no selo "segue o contexto ativo" da lista e no campo Contexto do detalhe. Quem quiser fixar uma instância nessas condições faz isso deliberadamente, não por efeito colateral de outra operação.
Regras
- Destino tem que estar cadastrado: contexto inexistente é recusado com a mesma mensagem da criação do modelo, listando as chaves aceitas.
- Motivo é obrigatório e vai para a auditoria (
BPMN.MODELO.CONTEXTO_ALTERADO, com quem trocou, origem, destino e quantidade). - Idempotente: instância que já está no destino não é tocada nem entra na contagem de migradas. Repetir a operação não muda nada.
- Instância sem contexto fixado fica de fora (ver A regra do contexto em branco): ela não entra em "a migrar" nem em "continuam no contexto anterior" — é contada à parte, porque nunca seria migrada de todo jeito.
- É por modelo, nunca "mova tudo que é KYB": o modelo carrega a intenção e a instância só herda — uma migração por contexto atravessaria modelos de donos diferentes, e um motivo só não explicaria nenhum deles. Modelo com várias versões: repita a troca em cada versão que tiver instâncias.
- Permissão:
BPMN_DEPLOY(a mesma de editar/publicar modelo). Sem ela, o selo continua explicando o problema, mas não oferece a ação.
Responsável pela instância
Toda instância tem um responsável — a pessoa que responde por aquele caso. Ele serve para acompanhar e filtrar; não é permissão: quem tem BPMN_EXECUTE continua podendo concluir qualquer fase, esteja ela sob sua responsabilidade ou não.
De onde vem
- Da atribuição feita no Painel de Processos. Ao atribuir um processo a um usuário, a plataforma grava o responsável no processo e o propaga para as instâncias BPM daquela chave de negócio. Instância criada depois disso nasce com o responsável vigente.
- Da própria tela. Na lista e no detalhe, clique no responsável (ou em Sem responsável) para atribuir ou reatribuir. Deixar o campo em branco libera a instância — voltar para "sem responsável" é um estado legítimo, não um erro.
Cada troca fica registrada na trilha de auditoria como BPMN.INSTANCIA.RESPONSAVEL_ALTERADO, com quem alterou, de quem para quem.
Como filtrar
Na aba Instâncias e na aba Relatórios, a barra de filtros tem o campo Responsável, com sugestão dos usuários cadastrados, mais dois atalhos:
| Controle | O que mostra |
|---|---|
| Campo Responsável | Só as instâncias daquela pessoa |
| Minhas instâncias | Só as instâncias sob a sua responsabilidade |
| Sem responsável | Só as instâncias que ainda não têm dono |
O filtro combina com modelo, situação e chave de negócio. Nos relatórios ele vale para os quatro blocos ao mesmo tempo (resumo, fases, anomalias por regra e série diária) — o relatório e a lista respondem ao mesmo filtro, então os números batem. Reclicar no atalho aceso limpa o filtro.
Histórico anterior ao recurso
Instâncias criadas antes deste recurso nascem sem responsável e aparecem em Sem responsável. Um administrador pode preencher o histórico de uma vez a partir das atribuições já existentes; a operação é idempotente (reexecutar só alcança o que falta) e informa quantas instâncias continuam sem responsável. O recurso correspondente está descrito na referência de API.
Exemplo prático — esteira de triagem com prazo
- Em , crie o modelo "Rito ordinário — triagem" no contexto "Processos": início → tarefa de triagem → gateway exclusivo → (conforme) fim; (anomalia) tarefa de usuário "Revisão do analista" → fim.
- Na tarefa de triagem, use Selecionar regras e escolha as regras de prazo e intimação. Na seta de anomalia do gateway, use o assistente:
temAnomalia+é verdadeiro; marque a outra saída como fluxo padrão. - Arraste um evento de borda de tempo (interruptivo,
P5D) para a tarefa "Revisão do analista", desviando para "Escalar ao supervisor". - Publique. No card do modelo, clique em Registrar existentes para colocar o acervo atual no fluxo e ligue o auto-início para os novos.
- Acompanhe em : os casos com anomalia param na revisão; se o analista não concluir em 5 dias, a plataforma desvia sozinha para o supervisor. Feche o ciclo com Gerar dashboard DATTABI para a visão executiva.
Permissões
| Permissão | Quem tem por padrão | O que permite |
|---|---|---|
BPMN_VIEW | todos os perfis | ver modelos, monitor e relatórios |
BPMN_EXECUTE | analista, usuário avançado, admin | iniciar instâncias, concluir fases, reexecutar, definir o responsável pela instância |
BPMN_DEPLOY | usuário avançado, admin | criar/editar/publicar modelos, trocar o contexto do modelo e migrar as instâncias dele |
BPMN_ADMIN | admin | gerar dashboards DATTABI e operações administrativas |
Solução de problemas
- "Triagem falhou" / instância em erro: verifique a disponibilidade da IA e use Reexecutar regras na fase. A plataforma também se recupera de reinícios marcando execuções interrompidas para reexecução.
- "Nenhuma das regras selecionadas está ativa": a regra foi desativada/excluída no cadastro de regras após a publicação — publique uma nova versão do modelo com a seleção atualizada.
- Processo não avança após a triagem: confira as condições do gateway — se nenhuma condição é satisfeita e não há fluxo padrão, a instância entra em erro com mensagem indicando o gateway.
- "O contexto '…' não está cadastrado na plataforma": o contexto informado no modelo (ou declarado no XML importado) não existe no cadastro. A mensagem lista os contextos aceitos — use um deles, deixe o campo em branco, ou cadastre o contexto em e tente de novo (o cadastro novo é reconhecido na hora, sem esperar cache).
- Instância com o selo "contexto não cadastrado": o contexto do modelo que originou aquela instância não existe (ou não existe mais) no cadastro. Duas saídas, nenhuma delas exigindo linha de comando: apontar o modelo para o contexto certo — clique no selo e use Trocar o contexto do modelo, que migra as instâncias junto (seção Trocar o contexto de um fluxo) — ou cadastrar o contexto com o mesmo nome em , quando o nome gravado é o correto e só faltava o cadastro. Nenhuma instância é apagada por causa disso: remover histórico é decisão de quem opera.
- A prévia diz "este contexto não identifica os dados por uma entidade": não é erro. Nem todo contexto ancora seus dados numa entidade raiz — um corpus de código processual (CPC, CDC, CPP) guarda artigos, e um grafo de referência guarda dados de consulta. Para esses, não há "processo" a enriquecer: título e responsável ficam como foram gravados na instância. Contextos que ancoram declaram a entidade e a propriedade identificadora no cadastro () — por exemplo
Empresa/cnpjnum dossiê cadastral. Um modelo apontado para contexto sem âncora também não inicia processos automaticamente nem aceita registro em lote: nos dois casos o gatilho é a entidade raiz, e a plataforma diz isso em vez de devolver zero em silêncio. - Uma instância sumiu do filtro por contexto: a plataforma monitora esse caso. Os filtros comparam o contexto por igualdade exata (é o que mantém a busca rápida), e um valor gravado com espaço nas bordas — vindo de importação ou de restauração de backup antigo — não casaria com o nome limpo. O serviço confere isso a cada reinício e publica a métrica
bpmn_contexto_com_padding, que deve ser 0; acima disso, o log registra um aviso e a correção é renomear ou reapontar o contexto, que normaliza o valor. - Monitor lista processos que não existem mais no painel Processos: são órfãs de limpezas em massa feitas por fora da plataforma, anteriores à exclusão em cascata. O time de operação tem um procedimento de saneamento.
- O prazo passou e o processo não desviou: a varredura de prazos roda a cada 15 segundos, então o disparo pode atrasar até um ciclo — normal. Se passar muito disso, confira o modelo: um prazo só vale enquanto o caso estiver na tarefa vigiada; se a fase foi concluída antes, o prazo é desarmado de propósito (não há disparo póstumo).
- "Nenhum processo estava aguardando esta mensagem": não é erro. Ou o processo ainda não chegou na espera, ou a chave de correlação não bate — por padrão ela é o número do processo (chave de negócio). Confira a chave enviada e publique de novo; mensagens não ficam guardadas esperando destinatário.
- O filtro por responsável devolve tudo vazio: confira em Sem responsável. Instâncias criadas antes deste recurso, ou de processos que nunca foram atribuídos, ainda não têm dono — atribua no Painel de Processos ou peça ao administrador o preenchimento do histórico (seção Responsável pela instância).
- Atribuí o processo no painel e a instância continua sem responsável: a propagação é imediata, mas depende do monitor estar no ar no momento da atribuição. Reatribua pela própria tela do monitor ou repita a atribuição no painel; a operação é idempotente.
- "Este modelo não tem diagrama": o modelo foi publicado sem o desenho do fluxo, então não há o que exibir no modelador nem no monitor. O processo continua executando normalmente — as instâncias andam e o painel de fases mostra o progresso; só o diagrama fica indisponível. Para vê-lo, publique uma nova versão com o fluxo desenhado. Modelos novos não caem mais nisso: publicar sem desenho é recusado na validação.
- "O XML pode estar corrompido": diferente do caso acima — aqui o arquivo em si não é legível (importação de
.bpmntruncado ou editado à mão). Reimporte o arquivo original ou redesenhe o fluxo no modelador. - O modelo não publica com evento de tempo: a expressão precisa ser ISO 8601 (
PT48H,P15D,R/PT24H). A mensagem de validação aponta o elemento e o formato esperado. Ciclos abaixo de 60 segundos são recusados de propósito, para não criar tempestade de instâncias.