Variáveis de Tenant (Configurações Locais)
Nível de acesso requerido
Admin ou Super Admin
As Variáveis de Tenant guardam chaves e valores estáticos que a plataforma injeta como variáveis de processo toda vez que uma instância é iniciada. Elas pertencem a um processo de cada vez: cada variável é gravada junto com a chave do processo a que pertence, e a mesma chave — taxa_cambio, por exemplo — pode existir com valores diferentes em processos diferentes.
Uma variável não vale para o Tenant inteiro
A variável vale para um processo, não para o Tenant inteiro: ela é armazenada com a chave do processo, e a plataforma só a carrega ao iniciar uma instância daquele processo. Se cinco processos precisam do "E-mail do SAC", o valor tem de ser cadastrado nos cinco — o que você cadastrou no processo A simplesmente não existe para o processo B.
Para que servem?
Imagine um processo de faturamento que depende do "E-mail do SAC" ou da "Taxa de Câmbio Padrão". Em vez de cravar esse valor no diagrama BPMN — o que obriga a publicar uma versão nova do processo toda vez que ele muda —, crie uma variável email_sac ou taxa_cambio na configuração daquele processo.
Se a taxa mudar amanhã, você altera o valor na tela e as novas instâncias já nascem com ele, sem republicar nada. As instâncias em andamento mantêm o valor que receberam: a variável é copiada para dentro da instância no momento do start, não relida a cada etapa.
Gerenciando Variáveis
As variáveis moram dentro do processo, e não num item próprio de menu. Quem reúne a configuração de um processo é Catálogo de Processos, e é de lá que se chega a tudo: variáveis, template de business key, política de anexos, bases de conhecimento, agentes e autoaprendizado.
- Acesse Modelagem → Catálogo de Processos e abra o processo desejado.
- Vá até a aba Variáveis.
- Informe um identificador único dentro daquele processo (sem espaços, preferencialmente
snake_case) e o valor. - Escolha o tipo (
STRING,INTEGER,DECIMAL,BOOLEAN,DATE) — ele determina como o valor chega ao processo: umINTEGERentra como número, não como texto. - Marque Secreto quando o valor não deve aparecer na tela nem ser devolvido pela API pública que pré-preenche formulários.
Variáveis secretas e os agentes de IA
Uma variável marcada como Secreta não chega ao agente de IA como valor. No prompt do agente, um {{minha_chave}} que aponta para uma variável secreta é renderizado como {{secret:minha_chave}} — o agente vê o nome, nunca o conteúdo.
Para usar a credencial numa chamada de API, o agente escreve o mesmo identificador na ferramenta de requisição HTTP, por exemplo no cabeçalho:
Authorization: Bearer {{secret:minha_chave}}A plataforma substitui pelo valor real no último instante, já saindo para a rede. O valor não entra no prompt, não é enviado ao provedor do modelo, não fica no histórico da conversa e não aparece no log — que registra o método, a URL, os nomes dos cabeçalhos e o tamanho do corpo.
Escreva o prompt com o nome, não com o valor: um prompt que diz "autentique com {{minha_chave}}" funciona — a chamada é feita, a credencial chega ao destino, e o modelo em nenhum momento vê o valor.
Nas telas, a variável secreta é exibida como ******** também na instância e na tarefa, e não só na tela de variáveis. Quem abre a instância enxerga que a variável existe, nunca o seu conteúdo.
O que isso não protege
O agente só alcança os hosts que o agente dele declarar — veja Até onde o agente pode chamar em Agentes de IA. Sem lista declarada, o comportamento depende da política da instalação (AI_HTTP_TOOL_DEFAULT_POLICY), e endereço interno da rede é sempre bloqueado.
Usando um segredo numa expressão do processo
Uma variável secreta pode ser lida no momento do uso, sem ser copiada para dentro da instância:
${secrets.get(execution, 'minha_chave')}O valor é buscado na hora, usado, e não fica gravado em lugar nenhum — nem nas variáveis da instância, nem no histórico.
A cópia para dentro da instância, e como desligá-la
Por compatibilidade, variáveis secretas também são copiadas para as variáveis da instância no início do processo — e o Flowable grava variável de instância em texto claro, inclusive no histórico, que sobrevive ao término.
Uma instalação nova deve subir com SECRETS_INJECT_INTO_PROCESS_VARIABLES=false. Aí o segredo não entra na instância, e as expressões precisam usar a forma acima. Cada variável não injetada é registrada no log pelo nome, para você enxergar o que ficou de fora.
Uso nos Processos
A variável entra na instância com o nome puro, exatamente como você a cadastrou. Para uma variável chamada minha_variavel, a expressão no BPMN é:
${minha_variavel}
${tenant.minha_variavel} não resolve
Use sempre o nome puro. A plataforma não cria nenhum objeto chamado tenant no escopo do processo, então ${tenant.minha_variavel} não devolve o valor da variável — ela falha ou chega vazia ao seu fluxo, e o diagrama é publicado sem reclamar.
Se algum ponto do seu BPMN usa o prefixo, troque ${tenant.x} por ${x} em todos eles.