Dados e conexõesGuia

Variáveis e segredos

Uma variável é um valor com nome que os scripts e flows do projeto leem quando rodam — uma região, um liga/desliga, uma chave de API. Mude na página Variáveis e a próxima execução usa o valor novo, sem editar nem republicar nada. Marque como segredo e ela fica criptografada e nunca mais é exibida.

8 min de leituraAntes: Crie um projetoAbrir no Waiso
O que você vai aprender
  • Criar variáveis simples e segredos, uma a uma ou a partir de um arquivo .env
  • Ler as variáveis em Python, TypeScript, JavaScript, C e C++
  • Saber como variáveis do projeto e globais se combinam
  • Reconhecer os segredos criados por uma integração e acompanhar o histórico de mudanças

Variáveis simples e segredos

Toda variável tem um nome em UPPER_SNAKE_CASE (uma letra primeiro, depois A–Z, 0–9 e _), um valor e uma descrição opcional. A chave Ocultar como segredo decide o tipo:

AspectoNormalSecreta
GuardadaComo texto — “Valor armazenado em texto puro, visível para admins”Criptografada (AES-256-GCM) — “Valor criptografado, nunca retornado em texto puro”
Na páginaO valor apareceSó o nome; Revelar valor mostra uma vez e registra que mostrou
No registro da execução do flowRegistrada como estáRegistrada como •••
Bom paraRegiões, endereços base, liga/desliga, timeoutsSenhas, tokens, chaves de API
Variáveis e SegredosVariáveis de ambiente e segredos criptografados do projeto
Copiar das globaisImportar .envNova variável
Buscar variáveis…Ctrl KTodasVariáveisSegredosDe integrações
PG_SHOP_DB_PASSWORDde shop_db TiposegredoValor••••••Atualizadahá 6 min
REPORT_TITLEValor normal, lido por scripts e flowsTiponormalValorDaily salesAtualizadahá 11 h
S3_SHOP_FILES_ACCESS_KEY_IDde shop_files TiposegredoValor••••••Atualizadahá 11 h
S3_SHOP_FILES_SECRET_ACCESS_KEYde shop_files TiposegredoValor••••••Atualizadahá 11 h
SHOP_API_KEYCriptografado, nunca aparece nos logsTiposegredoValor••••••Atualizadahá 11 h
Valores normais aparecem, segredos mostram só o nome; segredos criados por integrações trazem o ícone do provedor.

Crie variáveis

  1. Nova variável

    Em Variáveis, clique em Nova variável. Digite o Nome e o Valor, e uma Descrição se um colega for se perguntar para que serve.

  2. Decida se é um segredo

    Ligue Ocultar como segredo para tudo que dá acesso a algo. O botão vira Salvar segredo.

  3. Ou importe um arquivo .env

    Importar .env recebe um arquivo colado — cada linha KEY=VALUE vira uma variável. A visualização conta o que será criado; Sobrescrever variáveis existentes decide se nomes que já existem são substituídos ou ignorados, e o resumo informa criadas, ignoradas e erros.

O menu ⋯ de uma linha tem Editar, Copiar nome e Ver histórico de mudanças. Ao editar um segredo, a caixa de valor vem vazia — deixe em branco para manter o atual — para você corrigir a descrição sem digitar o segredo de novo. Selecione várias linhas para excluir juntas.

Leia as variáveis no código

Toda variável que o projeto enxerga — normal ou secreta — é uma variável de ambiente do processo do script, com o mesmo nome. Sem chamada de SDK, sem import: leia do jeito que a linguagem lê qualquer variável de ambiente.

config_check.py
import os

def main():
    region = os.environ.get("REPORT_REGION", "us")
    key = os.environ["BILLING_API_KEY"]
    return {"region": region, "keyLength": len(key)}
Saída esperadaSucessoCom BILLING_API_KEY definido como um segredo de 32 caracteres e sem REPORT_REGION
{
  "region": "us",
  "keyLength": 32
}

Em flows

A entrada de um passo de flow pode ser ligada direto a uma variável com o binding Variável, ou lida numa expressão como vars.NAME. O valor é lido quando o passo roda, e um segredo ligado assim fica registrado como •••. Detalhes em Bindings.

Variáveis do projeto e globais

Uma variável do projeto só é vista pelas execuções daquele projeto. Uma variável global é compartilhada por todos os projetos do workspace e é gerenciada por admins. Uma execução enxerga as duas; quando uma variável do projeto e uma global têm o mesmo nome, vale a do projeto. Os admins também têm Copiar do global na página do projeto, que copia variáveis globais escolhidas para o projeto, para ele poder mudá-las por conta própria.

Variáveis criadas por integrações

Salvar uma integração guarda as credenciais dela como segredos com o nome dela — PG_MAIN_DB_PASSWORD, S3_FILES_SECRET_ACCESS_KEY, AI_CLAUDE_API_KEY. Elas aparecem em De integrações com o ícone do provedor e um link de … que abre a conexão. São variáveis comuns: o seu código pode ler, e você pode editar, renomear ou excluir. Editar o valor troca a chave da conexão; renomear não quebra a conexão, que encontra a credencial pelo que ela é; excluir deixa a conexão informando credential_missing até você digitar o valor de novo.

Histórico de mudanças

Ver histórico de mudanças abre o log de auditoria da variável — valores nunca são exibidos aqui. Cada entrada diz quem fez o quê e quando:

  • Criada, Valor atualizado, um campo atualizado (o nome, a descrição), Excluída — por quem fez.
  • Valor revelado — alguém clicou em Revelar valor num segredo. A própria revelação avisa Esta revelação foi registrada no histórico de mudanças.
  • Criada pela integração, Atualizada pela integração, Excluída pela integração — a conexão salvou, renomeou ou excluiu a própria variável; Sistema quando ninguém clicou em nada.

O log sobrevive a uma exclusão, então “quem removeu BILLING_API_KEY?” sempre tem resposta. Ele registra mudanças, não valores antigos: para desfazer uma edição, defina o valor de novo.

Regras e limites

  • Todo valor chega ao código como texto. Converta números e liga/desliga você mesmo (int(os.environ["RETRIES"]), Number(process.env.RETRIES)).
  • Um valor alterado vale para a próxima execução que começar; uma execução em andamento mantém o valor com que começou.
  • Ler, criar e excluir variáveis segue o acesso da pessoa a Variáveis no projeto (Acesso do time).