Pular para o conteúdo principal
Você usa o contexto para armazenar variáveis que persistem apenas durante a execução atual — ou seja, elas só existem dentro do fluxo específico onde você as cria. Se precisar armazenar dados que durem até 24 horas, use a Memory. Pense no contexto como um quadro branco temporário: toda vez que um usuário inicia uma conversa, você recebe um quadro branco limpo e novo. Tudo o que você escreve nele está disponível para todos os nós do fluxo, mas quando a conversa termina, o quadro é apagado.

Variáveis do sistema

Quando uma execução começa, o Brain Studio injeta automaticamente variáveis do sistema no contexto. Você pode acessá-las em todos os nós sem precisar declará-las.

executionId

Cada execução de fluxo recebe um identificador único chamado executionId. O Brain Studio o gera automaticamente quando o fluxo inicia e ele permanece constante durante toda a execução, incluindo ramificações entre Skills e chamadas a ferramentas.
{{$context.executionId}}
O executionId é somente leitura. O Brain Studio o gera automaticamente no início de cada execução; você não precisa criá-lo nem modificá-lo.

Para que serve

O executionId permite identificar de forma única cada execução do seu fluxo. Isso é útil quando você precisa:
  • Conectar sistemas externos: Enviar o ID para seu backend para que ele possa rastrear ou correlacionar a conversa com seus registros internos.
  • Retomar execuções pausadas: Quando um Agente de IA pausa esperando uma resposta externa (por exemplo, uma aprovação), o sistema externo precisa do executionId para retomar a execução correta.
  • Auditoria e rastreabilidade: Registrar nos seus bancos de dados qual execução gerou cada ação, facilitando o rastreamento e a solução de problemas.

Exemplo: Enviando para uma API externa

Suponha que seu fluxo consulte um serviço externo e você precise que esse serviço saiba qual execução deve responder. Em um nó de API, você pode incluir o executionId no corpo da requisição:
{
  "orderId": "{{$context.orderId}}",
  "callbackExecutionId": "{{$context.executionId}}",
  "action": "process_payment"
}
Seu serviço externo recebe o callbackExecutionId e o usa para enviar a resposta de volta à execução correta.

Exemplo: Retomando um Agente de IA pausado

Quando você configura um Agente de IA com pausa para retomada externa, o payload de retomada requer o executionId para identificar qual execução continuar:
{
  "executionId": "{{$context.executionId}}",
  "message": "Payment approved successfully",
  "pauseInteraction": false
}

Exemplo: Salvando no Datum para auditoria

Em um nó do Datum, você pode salvar o executionId junto com os dados da operação para ter rastreabilidade completa:
{
  "user": "{{$user.name}}",
  "action": "credit_request",
  "executionId": "{{$context.executionId}}",
  "date": "{{$context.currentDate}}"
}
Assim, se você precisar investigar o que aconteceu em uma conversa específica, pode pesquisar por executionId no seu banco de dados e ver exatamente quais etapas foram executadas.

Em nós de código

Dentro de um nó de Code, você acessa o executionId como qualquer outra variável de contexto:
const executionId = $context.get('executionId')

$output.set('log', `Processing execution: ${executionId}`)

Variáveis personalizadas

Além das variáveis do sistema, você pode criar suas próprias variáveis de contexto usando nós de Variable, nós de Code ou qualquer nó que salve dados no contexto (como respostas de nós interativos).

Lendo variáveis

Dentro de qualquer nó você pode acessar o contexto com a sintaxe {{$context.variableName}}. Por exemplo, se as variáveis no contexto forem:
{
  "name": "John",
  "lastOrder": { "id": "ORD-123", "status": "on the way" }
}
Então:
  • {{$context.name}} mostra John.
  • {{$context.lastOrder.status}} mostra on the way.

Context em nós de código

Nos nós de código, você usa os métodos do contexto de forma diferente:
  • $context.get(key, [defaultValue]) — Obtém um valor do contexto
  • $context.set(key, value) — Salva ou atualiza um valor no contexto
  • $context.getHttpResponse(key) — Obtém a resposta completa de um nó HTTP
  • $context.getHttpRequest(key) — Obtém a requisição enviada por um nó HTTP
Para obter variáveis do contexto:
const name = $context.get('name')

const name = $context.get('name', 'John')
Para salvar variáveis dentro de um nó de código:
$context.set('lastOrder.status', 'delivered')

const user = { name: 'John', plan: 'gold' }
$context.set('user', user)

const orders = ['ORD-123', 'ORD-456']
$context.set('orders', orders)
Você pode usar notação de ponto para acessar chaves aninhadas no contexto. Por exemplo, $context.get('lastOrder.status') retorna "on the way" sem precisar recuperar o objeto inteiro.

Context vs Memory

CaracterísticaContext ($context)Memory ($memory)
DuraçãoApenas durante a execução atualAté 24 horas
EscopoTodos os nós do fluxoTodos os fluxos do usuário
Uso típicoDados temporários da conversaDados que persistem entre conversas
Variáveis do sistemaexecutionId (injetado automaticamente)Nenhuma
Se você não tiver certeza se deve usar context ou memory, pergunte a si mesmo: preciso desses dados depois que a conversa terminar? Se sim, use a Memory. Se só precisar durante a conversa atual, use o Context.