- Introdução
- Criar
- Adicione um agente de IA a um fluxo de trabalho
- Chamar uma API externa
- Processar e-mails de entrada
- Crie um fluxo de trabalho de notificação do Slack
- Adicione aprovação humana a um fluxo de trabalho
- Crie um fluxo de trabalho de agente de chat
- Tratar erros
- Noções básicas de depuração
- Intervenção humana: escalonamento ou etapa humana
- Avaliando seus fluxos de trabalho
- Implantar e executar
- Exemplos
- Referência
Script
O nó Script executa código JavaScript e retorna seu resultado, com a configuração, o ambiente JavaScript e exemplos.
O que faz
Executa o código JavaScript e passa o valor de retorno para os nós depois dele.
Referência de configuração
| Campo | Required | Padrão | Description |
|---|---|---|---|
| Código | Sim | Nenhum | Código JavaScript a ser executado. Deve conter uma instrução return , e o valor retornado se torna a saída do nó. |
O ambiente JavaScript
Os scripts são executados em um runtime isolado e têm acesso a:
$varsescopo da variável do fluxo de trabalho. A saída de nós anteriores está disponível como$vars.<nodeName>.<property>.$metadata: informações sobre a execução, comoInstanceId.- Integrações padrão do JavaScript, como
JSON,Math,Date,Array,Object,String,Number,RegExp,Error,Promise,URL,URLSearchParamse as funções de temporizador.
Por segurança, o runtime bloqueia APIs de rede (fetch, XMLHttpRequest, WebSocket), execução de código dinâmico (eval, Function) e APIs de armazenamento (indexedDB, caches). Para chamar uma API externa, o nó HTTP Request é a alternativa.
Os scripts são feitos para lógica rápida em memória: mantenha-os rápidos e evite processar cargas muito grandes, que podem exceder os limites de runtime ou o tempo limite.
Acesso à saída do nó anterior
Os nós anteriores são lidos com $vars.<nodeName>.<property>, onde <nodeName> é o ID do nó, mostrado na guia Avançado do seu painel de propriedades:
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
// Access a workflow variable
const count = $vars.myVariable;
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
// Access a workflow variable
const count = $vars.myVariable;
RetornarValor
O script deve retornar um valor. O valor retornado se torna a saída do nó, acessível subsequentemente como $vars.<nodeName>.output:
return {
message: "Processed",
count: items.length
};
return {
message: "Processed",
count: items.length
};
Entradas e saídas
Entrada
O nó do Script pode acessar qualquer variável anterior por meio de $vars. Ele não tem um esquema de entrada tipado — qualquer coisa em $vars está disponível.
Saída
Em caso de sucesso, a saída é $vars.<nodeName>.output, que é o valor de retorno do script. Sua forma depende do que o script retorna.
Na falha, quando um identificador de erro está conectado, o erro é $vars.<nodeName>.error:
{
"code": "string",
"message": "string",
"detail": "string",
"category": "string",
"status": 0
}
{
"code": "string",
"message": "string",
"detail": "string",
"category": "string",
"status": 0
}
Gerar scripts com IA
O ícone de flash acima do editor de código aceita uma descrição em linguagem simples do que você deseja e gera o JavaScript para você. Isso é útil para acessar a saída de um nó upstream ou escrever uma transformação rápida sem procurar a sintaxe $vars exata.
Exemplos
Exemplo 1: calcular valores para nós posteriores
// Set a variable that downstream nodes can reference
return {
orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity,
currency: "USD"
};
// Set a variable that downstream nodes can reference
return {
orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity,
currency: "USD"
};
Os nós subsequentes acessam os valores como $vars.script1.output.orderTotal e $vars.script1.output.currency.
Exemplo 2: Ler uma resposta HTTP
const data = $vars.httpRequest1.output.body;
return {
title: data.title,
userId: data.userId
};
const data = $vars.httpRequest1.output.body;
return {
title: data.title,
userId: data.userId
};
Exemplo 3: lógica condicional
const status = $vars.httpRequest1.output.code;
if (status === 200) {
return { success: true, data: $vars.httpRequest1.output.body };
} else {
return { success: false, statusCode: status };
}
const status = $vars.httpRequest1.output.code;
if (status === 200) {
return { success: true, data: $vars.httpRequest1.output.body };
} else {
return { success: false, statusCode: status };
}
Exemplo 4: transformar uma matriz
const items = $vars.fetchItems1.output.body;
return {
count: items.length,
names: items.map(item => item.name)
};
const items = $vars.fetchItems1.output.body;
return {
count: items.length,
names: items.map(item => item.name)
};
Escolhendo entre Script e Transformação de dados
| Use o Script quando... | Use a Transformação de Dados quando... |
|---|---|
| Você precisa de lógica completa de JavaScript — loops, condicionais, manipulação de string | Você precisa de um mapeamento de campo simples ou transformação sem código. |
| Você deseja calcular algo a partir da saída do nó anterior. | Você quer um mapeador visual sem escrever código |
| A transformação é complexa ou com estado | A transformação é apenas um redimensionamento simples |
Próximas Etapas
- Variáveis e fluxo de dados:
$vars, sintaxe de expressão e escopo de variáveis. - Nó de solicitação HTTP: uma origem típica de dados para um Script.
- Nó de decisão: ramificação na saída de um Script.
- Comunidade: faça perguntas e compartilhe fluxos de trabalho com outros construtores no Fórum da UiPath.
- O que faz
- Referência de configuração
- O ambiente JavaScript
- Acesso à saída do nó anterior
- RetornarValor
- Entradas e saídas
- Entrada
- Saída
- Gerar scripts com IA
- Exemplos
- Exemplo 1: calcular valores para nós posteriores
- Exemplo 2: Ler uma resposta HTTP
- Exemplo 3: lógica condicional
- Exemplo 4: transformar uma matriz
- Escolhendo entre Script e Transformação de dados
- Próximas Etapas