Skip to main content
O nó Código permite que você execute JavaScript personalizado dentro do seu fluxo. É útil para operações que não podem ser realizadas com nós padrão: transformar dados, realizar cálculos, manipular texto, assinar requisições ou integrar lógica de negócio personalizada. O painel do nó está organizado em três abas:
  • Configuração — o editor de JavaScript, formatação, cheat sheet, autocompletar e a seção DLP.
  • Avançado — o caminho de erro padrão que decide para onde o fluxo vai caso o script falhe.
  • Eventos — eventos de rastreamento que disparam quando o nó é executado, para alimentar suas métricas.

Configuração do editor

O editor de código traz ferramentas para agilizar a escrita e a depuração:
  • Formatar: aplica o Prettier ao script e adiciona automaticamente await nos métodos assíncronos que precisarem.
  • Cheat sheet: abre uma referência rápida com os objetos globais disponíveis ($context, $memory, $user, $message, $input, $output, $utils) e seus métodos.
  • Autocompletar: ao digitar $, o editor sugere as funções e namespaces disponíveis junto com a descrição.
  • Modo claro / escuro: alterne o tema do editor pelo seletor no canto superior direito.
  • Validação em tempo real: o editor sinaliza erros comuns de lint e avisa quando falta await em um método assíncrono.

Acessando variáveis

Dentro do nó de Código você pode ler e escrever variáveis do fluxo usando objetos globais predefinidos.

Contexto ($context)

Variáveis que persistem apenas durante a execução atual do fluxo:

Memória ($memory)

Variáveis que persistem entre workflows, ferramentas e nós. Suportam time-to-live (TTL):

Leitura

Exclusão

Limites por tipo de dado

Os métodos $memory.setFile(), $memory.getFile().toBase64() e $memory.getFile().toRaw() são assíncronos. Você deve usar await ao chamá-los.

Migração de nós legados

  1. Crie um novo nó Code (Memory V2).
  2. Copie e cole o script do nó legado.
  3. Use os novos métodos disponíveis ($memory.setJson, $memory.setFile, etc.) se necessário.

Usuário ($user)

Informações sobre o contato que interage com seu fluxo:

Mensagem ($message)

A última mensagem enviada pelo usuário:

Entrada/Saída ($input, $output)

Para comunicação entre ferramentas e workflows:

Respostas HTTP

Se você salvou a resposta de um nó API:
A chave em $context.getHttpResponse() deve corresponder exatamente à que você configurou no campo “Salvar resposta” do nó API.

Utilitários disponíveis ($utils)

Logger

Registra valores para depuração no formato chave-valor. Os logs aparecem no histórico de execução:
Cada nó permite no máximo 5 entradas de log. O valor de cada entrada tem um limite de 2.000 caracteres.

Crypto

Funções criptográficas padrão:

Lodash

Utilitários para manipulação de arrays, objetos e strings:

DLP (Prevenção de perda de dados)

No final da aba Configuração você encontra a seção DLP, que mascara automaticamente os dados sensíveis que o nó escreve nos logs. Ative o toggle “Habilitar DLP” para escolher quais tipos de informação são mascarados (número de cartão, e-mail, telefone, etc.). É a proteção recomendada sempre que seu script trabalhar com dados pessoais, financeiros ou de identidade.

Aba Avançado

Configure o caminho de erro padrão. Se a execução do script lançar uma exceção não capturada (por exemplo, um JSON inválido ou um await faltando), o fluxo continua pelo caminho configurado em vez de parar. Use-o para mostrar uma mensagem amigável ao usuário ou para escalar para um humano quando o script falhar.

Aba Eventos

Registre eventos de rastreamento que disparam quando o nó é executado. Servem para alimentar suas métricas e correlacionar a passagem por este nó com conversões ou abandonos. Consulte o guia de Eventos para saber como configurá-los e consumi-los.

Casos de uso

Um workflow em que um nó AI Agent gera uma resposta estruturada (por exemplo, um JSON com intencao, produto e sentimento) e a salva no contexto com a opção Salvar resposta ativada. O nó Código seguinte lê esse objeto, valida seus campos e os deixa em variáveis independentes para que os nós posteriores possam reagir sem chamar o modelo de novo.
Use $utils._.get(obj, 'caminho.aninhado', valorPadrao) para ler campos aninhados sem quebrar se o modelo omitir algum.
Um workflow em que um nó API retorna uma lista de pedidos com nomes de campo em inglês e os nós seguintes esperam em português. O nó Código transforma a resposta antes de continuar.
Um workflow em que um nó Pergunta anterior coletou o e-mail do usuário e o salvou no contexto. O nó Código o valida e mascara antes de armazená-lo ou exibi-lo, retornando apenas o estritamente necessário.
Um workflow que precisa processar uma lista grande (por exemplo, 300 contatos) chamando uma API que só aceita 50 por request. O nó Código divide a lista em lotes e os deixa na memória para que um nó posterior itere sobre eles.
Tipos MIME permitidos para $memory.setFile():

Próximos passos

Nó AI Agent

Configure um agente e salve sua resposta no contexto para processá-la com Código.

Nó API

Chame serviços externos e leia a resposta com $context.getHttpResponse().

Variáveis de Contexto

Como funcionam as variáveis temporárias do fluxo que você lê com $context.

Variáveis de Memória

Persista dados entre workflows, ferramentas e conversas.