# Código JavaScript — Central de Ajuda da Albato

Source: https://albato.com/br/wiki/articles/how-to-use-javascript-code-in-albato

Bem-vindo ao Central de Ajuda da Albato

Buscar artigos

# Código JavaScript

Última atualização:  
6/10/2026 · 3 min de leitura

* * *

NESTE ARTIGO

A ferramenta **Código JavaScript** permite executar JavaScript personalizado diretamente dentro da sua **Automação**. Ela foi criada para casos em que as ferramentas padrão não são suficientes, por exemplo, quando você precisa realizar cálculos, transformar dados, dividir valores ou gerar saídas personalizadas antes de enviá-las para os próximos passos.

Essa ferramenta oferece flexibilidade para trabalhar com dados dentro de uma Automação usando a lógica JavaScript definida por você.

## Como a Ferramenta Funciona

1.  Para adicionar a ferramenta **Código JavaScript** à sua Automação, clique no botão “+” na interface. Em seguida, selecione **Code**.

Screenshot 01

2.  Clique em **Select** para escolher **JavaScript Code**.

Screenshot 02

3.  Primeiro, você precisa configurar os **Input Data**. Isso significa criar variáveis, nomeá-las e definir quais valores serão atribuídos a cada uma. Essas variáveis poderão ser usadas no seu código, juntamente com quaisquer novas variáveis que você definir dentro do script.

Screenshot 03

Para cada variável, você precisa:

-   definir um nome;
-   selecionar um valor dos passos anteriores.

4.  Para adicionar mais variáveis, clique em **Add field**. Isso criará uma nova linha onde você pode especificar o nome da variável e configurar seu valor. Você pode excluir variáveis (campos) desnecessárias, se precisar.

Screenshot 04

5.  Em seguida, configure os **Output Data**. Aqui, você especifica manualmente o nome e o tipo de quaisquer variáveis que deseja obter como saída. Nos próximos passos da sua Automação, você poderá usar os campos definidos nesta seção.

Screenshot 05

A configuração dos **Output Data** é obrigatória, mesmo que você não tenha criado novas variáveis no código.

6.  Depois disso, escreva seu código JavaScript usando as variáveis que você declarou ou crie novas variáveis com base nelas.

> A Albato não garante o desempenho do seu código personalizado e não oferece suporte para ele. Utilize esta ferramenta apenas se você se sentir confortável trabalhando com JavaScript.

Nos passos seguintes, você verá os mesmos campos configurados na seção **Output Data** e poderá utilizá-los ao longo de toda a sua Automação.

Se, por qualquer motivo, o código falhar na execução, esse passo da automação será considerado um erro. O log de execução exibirá a mensagem de erro retornada pelo mecanismo JavaScript.

## Limitações e Segurança

-   A execução de JavaScript ocorre em um ambiente isolado
-   Requisições externas de rede não são permitidas
-   A função `fetch` está desativada
-   Erros de execução interrompem o passo da Automação

## Exemplos de Uso do JavaScript

### Caso 1. Subtraindo a Data e Hora de Início da Data e Hora de Término e Retornando o Resultado em Minutos

Este caso de uso é útil quando você precisa calcular a duração de um evento, como o tempo de processamento de um pedido ou a duração de uma chamada.

-   Entrada: dateStart, dateEnd
-   Saída: difMinutes (Number)

dateStart = new Date(dateStart);
dateEnd = new Date(dateEnd);
let difMinutes = (dateEnd - dateStart) / (1000 \* 60);
  

Screenshot 06

### Caso 2. Dividindo DateTime em Valores Separados de Data e Hora e Removendo os Segundos

Use este exemplo quando um serviço retorna um único valor de DateTime, mas a próxima etapa requer data e hora como campos separados.

-   Entrada: dateTime (Unix timestamp, milissegundos)
-   Saída: date (String), time (String)

dateTime = new Date(+dateTime);
function dateEdit(arr) {
return arr.map((el) => {
return el < 10 ? "0" + el : el;
});
}
let date = dateEdit(\[
dateTime.getDate(),
dateTime.getMonth() + 1,
dateTime.getFullYear(),
\]).join(".");
let time = dateEdit(\[dateTime.getHours(), dateTime.getMinutes()\]).join(":");
  

Screenshot 07

> No código acima, use time para corresponder ao campo de saída time. Na captura de tela, essa variável aparece como test.

### Caso 3. Dividindo uma String em Vários Valores

Este caso de uso é útil quando um campo contém vários valores separados por um delimitador.

-   Entrada: value
-   Saída: first (String), second (String)

const parts = value.trim().split(/\\s+|,|\\|/);
const first = parts\[0\];
const second = parts?.\[1\];
  

#### Dividindo Vários Valores Usando um Espaço Como Delimitador

num4 = num4.trim().split(' ');
let name = num4\[0\];
let familyname = num4?.\[1\];
let surname = num4?.\[2\];
  

#### Dividindo Valores Usando uma Vírgula Como Delimitador

A = A.trim().split("\\,");
let num1 = A\[0\];
let num2 = A?.\[1\];
  

#### Dividindo Valores Usando o Delimitador “|”

UF\_CRM\_1669820909984 = UF\_CRM\_1669820909984.trim().split("\\|");
let name = UF\_CRM\_1669820909984\[0\];
let surname = UF\_CRM\_1669820909984?.\[1\];
  

#### Dividindo um Nome Completo em Nome e Sobrenome

Use este exemplo quando um serviço retorna um nome completo como uma única string e você precisa dividi-lo em campos separados (por exemplo, nome e sobrenome) antes de passar os dados para as próximas etapas da sua Automação.

Entrada: fullName (String)

Saída: name (String), lastname (String)

let \[firstName, lastName\] = fullName.trim().split(" ");
let name = firstName;
let lastname = lastName;
  

Screenshot 08

### Caso 4. Analisando Parâmetros de Consulta de uma URL

Use este exemplo para extrair parâmetros de uma string de consulta de URL.

Entrada: refererurl

Saída: parsedGet (String)

function parseQueryParams(url) {
if (!url.includes("?")) return {};
const queryString = url.slice(url.indexOf("?") + 1).split("#")\[0\];
if (!queryString) {
return {};
}
const queryParams = Object.create(null);
const pairs = queryString.split("&");
for (let i = 0; i < pairs.length; i++) {
if (!pairs\[i\]) continue;
const pair = pairs\[i\].split("=");
const key = decodeURIComponent(pair\[0\].replace(/\\+/g, " "));
const value = decodeURIComponent(pair.slice(1).join("=").replace(/\\+/g, " "));
if (Object.prototype.hasOwnProperty.call(queryParams, key)) {
if (Array.isArray(queryParams\[key\])) {
queryParams\[key\].push(value);
} else {
queryParams\[key\] = \[queryParams\[key\], value\];
}
} else {
queryParams\[key\] = value;
}
}
return queryParams;
}
const parsedGet = JSON.stringify(parseQueryParams(refererurl));
  

Use refererurl como variável de entrada na última linha do código. Defina parsedGet como o valor de saída com o tipo String. O resultado é um objeto serializado em JSON.

Você pode modificar o exemplo e adicionar:

const values = Object.values(JSON.parse(parsedGet)).flat();
let one = values\[0\] || "";
let two = values\[1\] || "";
  

Você também pode usar esses valores como variáveis de saída com o tipo String.

### Caso 5. Limpando Tags HTML do Texto

Este exemplo é útil quando o conteúdo de um e-mail ou mensagem chega em formato HTML e precisa ser limpo antes de continuar o processamento.

-   Entrada: html
-   Saída: html (String)

let regexp = /<(\\/?\[^>\]+)>|(\\n)|(\\s{4,})/gm;
html = html.replace(regexp, "").trim();
  

### Caso 6. Convertendo Data e Hora para Timestamp Unix

Use este exemplo quando um sistema externo exige o horário Unix em vez de uma data formatada.

Entrada: amo\_datetime (YYYY-MM-DD HH:MM:SS)

Saída: unixTime (Number)

let \[date, time\] = amo\_datetime.split(" ");
let \[year, month, day\] = date.split("-").map(Number);
let \[hours, minutes, seconds\] = time.split(":").map(Number);
let unixTime = Math.floor(new Date(year, month - 1, day, hours, minutes, seconds).getTime() / 1000);
  

> O timestamp é retornado em segundos. A data de entrada é interpretada no fuso horário do ambiente de execução do JavaScript.

### Caso 7. Retornando Valores Diferentes Dependendo do Dia da Semana

Este exemplo pode ser usado para criar Automações com lógica específica para cada dia. Use este exemplo quando sua Automação precisar enviar mensagens diferentes dependendo do dia atual da semana.

Por exemplo, você pode configurar a lógica para que uma mensagem seja enviada na segunda-feira, outra na terça-feira, uma diferente na quarta-feira e assim por diante.

const messages = {
  0: "Mensagem de domingo",
  1: "Mensagem de segunda-feira",
  2: "Mensagem de terça-feira",
  3: "Mensagem de quarta-feira",
  4: "Mensagem de quinta-feira",
  5: "Mensagem de sexta-feira",
  6: "Mensagem de sábado"
};
const result = messages\[new Date().getDay()\];
  

### Caso 8. Colocando a Primeira Letra de Cada Palavra em Maiúscula

Use este exemplo para formatar nomes ou valores de texto antes de enviá-los para outro aplicativo.

Entrada: str

Saída: formatted (String)

function toCapitalLetter(str) {
  if (!str) return str;
  return str.trim().toLowerCase().split(/\\s+/).filter(Boolean).map(w => w\[0\].toUpperCase() + w.slice(1)).join(" ");
}
const formatted = toCapitalLetter(str);
  

### Caso 9. Analisando Várias Métricas a Partir de uma Única String de Texto

Use este exemplo quando um serviço retorna várias métricas em um único campo de texto e você precisa extraí-las em variáveis de saída separadas (por exemplo, data, passos, kcal, prot e outras) para utilizá-las nas próximas etapas da sua Automação.

-   Entrada: input (String)
-   Saída: date (String), pasos (String), kcal (String), prot (String), gr (String), carb (String), gym (String), spa (String), sup (String), obs (String)

function parseMetrics(str) {
const result = {};
const dateMatch = str.match(/^\\d{2}\\/\\d{2}\\/\\d{4}/);
if (dateMatch) {
result.date = dateMatch\[0\];
}
const rest = str.replace(result.date, '').trim();
const regex = /(\\w+):\\s(\[^:\]+?)(?=\\s\\w+:|$)/g;
let match;
while ((match = regex.exec(rest)) !== null) {
const key = match\[1\];
const value = match\[2\].trim();
result\[key\] = value;
}
return result;
}
const parsed = parseMetrics(input);
const date = parsed.date;
const pasos = parsed.pasos;
const kcal = parsed.kcal;
const prot = parsed.prot;
const gr = parsed.gr;
const carb = parsed.carb;
const gym = parsed.gym;
const spa = parsed.spa;
const sup = parsed.sup;
const obs = parsed.obs;
  

Screenshot 09 Screenshot 10

Agora você pode usar a ferramenta **Executar código JavaScript** para cálculos, transformação de dados, formatação e lógica condicional dentro das suas Automações.

Isso respondeu à sua pergunta?
