⌘ L no macOS, Ctrl L nos demais) que escreve ou altera o código a partir de uma descrição. Esta página explica o que o código recebe e o que ele deve devolver, para que você consiga ler e conferir o que o assistente produz.
No exemplo desta seção, Normalize Values fica depois de Extract Data e transforma o número extraído em um valor formatado, monta um código de aprovação e marca os contratos acima do limite.

A função execute
O código precisa declarar uma função chamadaexecute que recebe input e devolve a saída da etapa. A etapa é criada com este modelo:
execute devolver vira a saída da etapa: um texto, um número, um objeto ou uma lista. Devolva um objeto com campos nomeados quando as etapas seguintes precisarem escolher valores dele; esses campos aparecem no menu @ das próximas etapas.
execute(input) function was not found in the code and is required.
O que chega em input
input é um objeto com uma chave por Entrada do Workflow e uma chave por etapa que rodou antes desta, usando os nomes exatamente como escritos no editor:
Nomes com espaço precisam da forma com colchetes,
input["Extract Data"]; nomes sem espaço podem usar input.requester. O editor conhece a forma do que cada etapa anterior devolve e oferece autocompletar enquanto você digita, então input["Extract Data"]. lista os atributos do Formato de Saída dela.
Devolvendo valores
- Devolva um objeto para expor campos nomeados:
{ total_value, is_high_value }. Cada campo fica selecionável pelas etapas seguintes e por uma Condição. - Devolva uma lista para alimentar um Mapear.
- Devolva um texto ou número para um valor único.
- Não devolver nada (
undefined) produz uma saída vazia; a etapa ainda assim é concluída com sucesso. - Lance um erro (
throw new Error("Missing total")) para fazer a etapa falhar de propósito. A execução falha naquela etapa e a mensagem aparece no painel de resultado e em Depurar.
@.
Trabalhando com arquivos
Valores de arquivo chegam como metadados, não como bytes. Para ler o conteúdo de um arquivo, use as bibliotecas disponíveis na etapa:@meistrari/document-sdkpara processar documentos;@meistrari/vault-sdkpara ler e gravar arquivos no Vault;@meistrari/tela-sdk-jspara chamar a API do Tela (por exemplo executar um Canvas) a partir do código.
xlsx para ler uma planilha ou pdf-lib para montar um PDF), digite o nome em Adicione uma biblioteca e clique em Instalar. A instalação leva alguns segundos e o pacote passa a estar disponível com import ou require.
Como produzir um arquivo como saída de uma etapa de Execução de Código (por exemplo enviar uma planilha gerada ao Vault e devolver a referência dela) depende do SDK do Vault e não está documentado aqui. Para gerar documentos a partir de um template, use o Document Templater.
Usando credenciais
Nunca cole uma chave de API no código. Guarde-a como uma Credencial e leia em tempo de execução:credential("NOME") devolve o valor de uma credencial do Workspace ou com escopo do Workflow. Uma credencial ausente faz a etapa falhar com missing_credential. Os valores são omitidos dos logs, mas qualquer coisa que você imprimir com console.log de propósito ainda pode aparecer, então não os imprima. Administradores podem restringir quais credenciais um Workflow pode usar pelo botão Credenciais no cabeçalho; veja Credenciais.
Limites
Uma etapa de Execução de Código nunca usa cache: ela roda em toda execução do Workflow. Uma execução que fica 3 horas sem progresso é marcada como tempo esgotado, então mantenha esperas longas fora do código; uma espera de horas pertence a uma agenda, não a uma etapa.
Depurando
Depois de uma execução, a seção da etapa no painel de resultado mostra o valor devolvido, e Depurar acrescenta o Terminal (stdout, stderr e código de saída) e a mensagem de erro quando o código lançou uma exceção. Quando uma etapa de Execução de Código falha, corrija o código e use Executar Etapa N nela para rodar de novo do início até aquela etapa sem mexer nas seguintes. Veja Executando, testando e publicando.Para desenvolvedores: a etapa aceita
code, language (javascript por padrão; typescript é aceito) e libraries (especificadores de pacotes npm). O sandbox expõe o estado da execução como globais, então input é montado a partir das Entradas (texto reduzido ao conteúdo, arquivos como { files: [...] }) e das saídas das etapas anteriores, cujas chaves são o nome da etapa. Referências {{step://…}} não são expandidas dentro do código.