Skip to content

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.

  1. Acesse Modelagem → Catálogo de Processos e abra o processo desejado.
  2. Vá até a aba Variáveis.
  3. Informe um identificador único dentro daquele processo (sem espaços, preferencialmente snake_case) e o valor.
  4. Escolha o tipo (STRING, INTEGER, DECIMAL, BOOLEAN, DATE) — ele determina como o valor chega ao processo: um INTEGER entra como número, não como texto.
  5. 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.

Flowi Agentic — Plataforma de Gestão de Processos com IA