Esta nova ferramenta permite que você execute seu próprio código personalizado. Essa funcionalidade é útil para realizar cálculos, gerar valores ou interagir com consultas e componentes. Esta etapa executa seu código Python em um ambiente isolado e passa os resultados para as próximas fases do fluxo de trabalho. Se você preferir trabalhar com JavaScript, utilize a ferramenta de código JavaScript disponível.
Como funciona a ferramenta
Etapa 1: Adicionar a ferramenta ao fluxo
Abra o Construtor de Automações, clique no botão + para adicionar uma ação e selecione a ferramenta Python.
Etapa 2: Configurar os dados de entrada
Na seção Input Data (Dados de entrada), você define as variáveis que receberá das etapas anteriores e que utilizará dentro do código.
Para cada variável, você deve especificar:
Nome: o identificador que você usará no script.
Tipo de dado: string, number, boolean, etc.
Valor: selecione o dado de uma etapa anterior que será atribuído a esta variável.
Você pode adicionar quantas variáveis precisar usando o botão Add field. Também é possível excluir as que não utilizar.
Em seguida, configure os Output Data (Dados de saída). Aqui, você especifica manualmente o nome e o tipo das variáveis que deseja obter como resultado. Nas próximas etapas da sua automação, você poderá usar os campos definidos nesta seção.
Configurar os dados de saída é obrigatório, mesmo que você não tenha criado nenhuma variável nova no código.
Etapa 3: Escrever o código e configurar a saída
No editor de código, escreva o script em Python utilizando as variáveis declaradas nos dados de entrada. Você pode criar novas variáveis ou modificar as existentes.
Na seção Output Data, você define as variáveis que serão expostas como resultado. É obrigatório configurar esta seção, mesmo que você não crie novas variáveis no código. Para cada variável de saída, indique um nome e um tipo de dado.
Quando há campos definidos em Output Data, seu código deve incluir uma atribuição à variável Outputdata com um dicionário cujas chaves correspondam exatamente aos nomes declarados. Por exemplo:
python
Outputdata = {"resultado": valor, "otro_campo": otro_valor}Se essa atribuição não estiver presente, a etapa falhará.
Depois disso, você pode escrever qualquer código Python utilizando as variáveis declaradas ou criar outras novas a partir delas.
O código é executado em um ambiente isolado. Para garantir uma execução segura, restringimos solicitações externas e operações de rede. Por exemplo, não é possível usar as bibliotecas utilizadas para solicitações HTTP.
Após configurar o código, abra a próxima etapa da automação. Nos campos onde você precisar inserir os valores de saída, selecione as variáveis definidas em Output Data na lista de campos disponíveis. Salve as alterações e inicie a automação.
Limitações e segurança
Versão do Python: 3.11
Fuso horário do ambiente: UTC
Limite de memória: 512 MB
Tempo máximo de execução: 10 segundos por etapa
Ambiente isolado: o código é executado em um sandbox sem acesso à rede. Solicitações HTTP e operações de rede não são permitidas (por exemplo, as bibliotecas
requests,urllibesocket).Módulos disponíveis: apenas módulos de uma lista aprovada podem ser importados. Entre eles estão:
string,re,math,cmath,statistics,random,datetime,calendar,collections,collections.abc,functools,itertools,operator,heapq,bisect,array,copy,json,numpy,csv,base64,binascii,hashlib,hmac,pprint,textwrap,uuid,typing,dataclasses,traceback,decimal,fractions.
Erros e diagnósticos
Se a etapa falhar:
Verifique se os dados de saída estão configurados corretamente e se os nomes das variáveis de saída correspondem aos nomes que você atribuiu no seu código.
Verifique os dados de entrada: certifique-se de que a estrutura ou o número de linhas seja suficiente. Muitos erros ocorrem após a divisão quando a string de entrada não contém as linhas esperadas.
Certifique-se de não estar utilizando módulos restritos nem realizando solicitações de rede.
Exemplos de uso
Calcular a diferença em minutos entre duas datas
Retorna a duração em minutos a partir de dois timestamps, útil para calcular tempos de processamento, chamadas ou reuniões.
python
from datetime import datetime date_start = datetime.fromisoformat(date_start) # or another format in which the string arrives date_end = datetime.fromisoformat(date_end) dif_minutes = (date_end - date_start).total_seconds() / 60
Separar data e hora e remover os segundos
Converte uma data e hora completas em dois campos independentes (data e hora) e descarta os segundos.
python
from datetime import datetime date_time_str = date_time.strip() # input is ALWAYS a string if date_time_str.isdigit(): dt = datetime.fromtimestamp(int(date_time_str) / 1000) else: try: dt = datetime.fromisoformat(date_time_str) except ValueError: dt = datetime.strptime(date_time_str, "%Y-%m-%d %H:%M:%S") def date_edit(arr): return [(f"0{el}" if el < 10 else str(el)) for el in arr] date_str = ".".join(date_edit([dt.day, dt.month, dt.year])) time_str = ":".join(date_edit([dt.hour, dt.minute]))Limpar tags HTML de um texto
Remove as tags HTML, quebras de linha e múltiplos espaços do corpo de um e-mail ou notificação.
python
import re regexp = re.compile(r'<(\/?[^>]+)>|(\n)|(\s{4,})', flags=re.MULTILINE) clean_text = regexp.sub('', html).strip() Outputdata = {"clean_text": clean_text}

