Executar código

⚡ Executar Código

O módulo Executar Código permite adicionar funções JavaScript personalizadas diretamente no seu fluxo. Use-o para aplicar regras de negócio, formatar dados, fazer cálculos ou transformar informações antes de enviá-las para o próximo passo do atendimento.

📷 Inserir print: visão geral do módulo Executar Código posicionado no canvas do fluxo, com as duas conexões de saída visíveis


📍 Como acessar

  1. No menu lateral, clique em Gerenciamento de aplicativos.

  2. Clique em Fluxos e abra o fluxo que deseja editar.

  3. No painel lateral esquerdo, localize a categoria Ação.

  4. Arraste o módulo Executar Código para o canvas do fluxo.

📷 Inserir print: painel lateral esquerdo com a categoria Ação expandida e o módulo Executar Código visível


🧩 Conhecendo o módulo

1️⃣ Editor de código

Ao clicar no módulo no canvas, um painel de configuração será exibido. Nele você encontra um editor de código onde escreve a função JavaScript que será executada quando o fluxo chegar a esse passo.

📷 Inserir print: painel de configuração do módulo aberto com o editor de código em evidência

O editor oferece:

  • Realce de sintaxe para facilitar a leitura do código

  • Identação automática ao pressionar Enter

  • Salvamento automático das alterações

O código deve seguir o seguinte formato:

O comando return é obrigatório. O valor retornado pela função é o que será enviado para o próximo módulo do fluxo. Sem ele, nenhum dado seguirá adiante.


2️⃣ Variáveis disponíveis no código

Dentro do código, você tem acesso a quatro variáveis que o fluxo passa automaticamente para a função:

📷 Inserir print: editor com exemplo de código usando as variáveis input, user, flow e env

Variável
O que contém

input

Dados de entrada que chegaram ao módulo neste passo do fluxo

user

Informações do usuário em atendimento: nome, identificador, dados extras cadastrados

flow

Variáveis e contexto do fluxo em andamento

env

Variáveis de ambiente configuradas na plataforma


3️⃣ Ferramentas disponíveis no código

Você pode usar as seguintes ferramentas diretamente no código, sem precisar instalar ou importar nada:

📷 Inserir print: editor com exemplo de uso de ferramentas disponíveis (ex.: formatação de data com moment)

Ferramenta
Para que serve

moment e moment-timezone

Trabalhar com datas e horários, incluindo fusos horários

_ (Lodash)

Manipular listas, objetos e textos de forma simplificada

uuid

Gerar identificadores únicos para registros

Intl

Formatar números, datas e valores monetários por região

console.log()

Registrar mensagens para facilitar a identificação de problemas


4️⃣ Saídas do módulo

O módulo possui duas saídas que direcionam o fluxo dependendo do resultado da execução:

📷 Inserir print: módulo no canvas com as duas conexões de saída (Sucesso e Erro) visíveis e conectadas a outros módulos

🎯 Propósito

Definir o caminho que o fluxo vai seguir dependendo se o código foi executado com sucesso ou se ocorreu um problema.

✅ Como fazer na tela

Conecte cada saída ao próximo módulo de acordo com o cenário desejado:

  1. Arraste a conexão da saída Sucesso para o módulo que deve continuar o fluxo quando tudo correr bem.

  2. Arraste a conexão da saída Erro para o módulo responsável por tratar falhas ou informar o usuário sobre o problema.

📌 Resultado esperado

Saída
Quando é ativada
O que é enviado ao próximo módulo

Sucesso

O código foi executado sem erros

O valor retornado pela função (return)

Erro

Ocorreu um problema durante a execução

Um objeto com a descrição do erro


💡 Dicas úteis

  • Sempre use return: sem esse comando, o fluxo não receberá nenhum dado e a execução pode falhar.

  • Trate erros com try/catch: para situações previsíveis de falha, use try/catch dentro do código. Assim você decide o que enviar ao próximo módulo em vez de cair automaticamente na saída de Erro.

  • Use console.log() para identificar problemas: as mensagens aparecem nos registros de execução do fluxo e ajudam a localizar erros rapidamente.

  • Não modifique as variáveis diretamente: input, user, flow e env são somente leitura. Copie os dados que você precisa e trabalhe com as cópias.

  • Atenção ao tempo limite: operações lentas podem ultrapassar o limite de 30 segundos. Para chamadas a serviços externos, prefira usar o módulo de Requisição (HTTP).


🧪 Caso de uso

Objetivo: personalizar a saudação de abertura do atendimento exibindo apenas o primeiro nome do usuário.

Configuração no módulo:

📷 Inserir print: editor com o código do caso de uso digitado e a saída Sucesso conectada ao módulo de mensagem seguinte

Resultado esperado no fluxo: a saída Sucesso é ativada e o próximo módulo recebe o objeto { primeiroNome: "Rafael" }. Esse valor pode ser usado em uma mensagem de texto como "Olá, {{primeiroNome}}! Como posso te ajudar hoje?", tornando o atendimento mais personalizado e humanizado.


📋 Resumo

  • O módulo Executar Código permite rodar funções JavaScript personalizadas dentro do fluxo de atendimento.

  • As variáveis input, user, flow e env estão disponíveis automaticamente com os dados do contexto atual do fluxo — todas somente leitura.

  • As ferramentas moment, _ (Lodash), uuid e Intl já estão disponíveis sem necessidade de importação.

  • O módulo possui duas saídas: Sucesso (execução sem erros) e Erro (falha ou tempo limite excedido).

  • O limite de execução é de 30 segundos — códigos mais lentos ativam a saída de Erro automaticamente.

Last updated