Como Usar Código Python na Albato
NESTE ARTIGO
Esta nova ferramenta permite executar seu próprio código personalizado. Esse recurso é ú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 o fluxo de trabalho. Se preferir trabalhar com JavaScript, use a ferramenta JavaScript Code em vez desta.
Como a ferramenta funciona
- Para adicionar uma ferramenta de código Python à sua conexão automática, adicione uma ação e selecione Python.

- Primeiro, você precisa configurar os Dados de Entrada. Isso significa que você cria variáveis, nomeia-as e define quais valores atribuir a cada uma. Essas variáveis podem então ser usadas em seu código, junto com quaisquer novas variáveis que você definir dentro do script.

Para cada variável, você precisa:
- Definir um nome.
- Especificar o tipo de dado.
- Selecionar um valor das etapas anteriores.
- Para adicionar mais variáveis, clique em Add field (Adicionar campo). Isso criará uma nova linha onde você pode especificar o nome da variável e configurar seu valor. Você pode excluir quaisquer variáveis (campos) extras, se necessário.

- Em seguida, você configura os Dados de Saída. Aqui, você especifica manualmente o nome e o tipo de quaisquer variáveis que deseja obter como saída. Nas etapas seguintes da sua conexão automática, você poderá usar os campos definidos nesta seção.
Configurar os Dados de Saída é obrigatório, mesmo que você não tenha criado novas variáveis no código.

Se o campo Dados de Saída estiver definido nas configurações de dados de saída, seu código deve incluir a linha:
Outputdata = ...
Sem essa atribuição, a etapa falhará.
- Depois disso, você pode escrever qualquer código Python usando as variáveis que declarou ou criar novas com base nelas.
A Albato não pode garantir o desempenho do seu código personalizado e não consegue fornecer suporte para ele. Use esta ferramenta apenas se você se sentir confiante trabalhando com Python.
O código é executado em um ambiente sandbox isolado.
Para garantir uma execução segura, restringimos solicitações externas e quaisquer operações de rede. Por exemplo, bibliotecas usadas para requisições HTTP não podem ser usadas. Você pode encontrar a lista completa de limitações e módulos disponíveis abaixo.
- Nas etapas seguintes, você verá os mesmos campos que configurou na seção Dados de Saída e poderá usá-los em toda a sua conexão automática.
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 por etapa (timeout): 10 segundos
- Execução do código: executado em um ambiente sandbox isolado.
Na implementação atual:
- A instalação de bibliotecas externas não é permitida. Apenas módulos da lista de permissões (veja abaixo) estão disponíveis.
- Solicitações externas e quaisquer operações de rede estão bloqueadas (por exemplo, requests, urllib, socket).
Lista de módulos permitidos
A etapa Python fornece acesso apenas a módulos da lista de permissões aprovada. Os seguintes módulos, entre outros, são permitidos:
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ê atribui 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 o split quando a string de entrada não contém as linhas esperadas.
- Certifique-se de que você não está usando módulos restritos ou realizando requisições de rede.
Exemplos da ferramenta de código Python
Caso 1. Subtraindo DateTime de Início do DateTime de Fim e retornando o resultado em minutos
Este caso de uso é útil quando você precisa calcular a duração de algo, por exemplo, tempo de processamento de pedidos, duração de chamadas ou duração de uma reunião. Muitos serviços fornecem dois timestamps, mas não retornam a diferença real, então você precisa calculá-la manualmente. Com Python, você pode facilmente converter duas datas em um único valor numérico e usá-lo posteriormente na sua conexão automática para filtros, relatórios, cálculos de custos ou análises.
Código:
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

Caso 2. Dividindo um DateTime em valores separados de Data e Hora + removendo segundos
Alguns aplicativos requerem data e hora como campos separados, ou você pode precisar gravá-los no Google Sheets/CRM em um formato específico sem segundos.
Este caso de uso é útil quando:
- o serviço retorna uma data "confusa" (Unix, ISO ou uma string bruta);
- você precisa comparar datas usando apenas horas e minutos;
- você quer padronizar o formato de data para as próximas etapas da conexão automática.
- Neste exemplo, dividimos o valor DateTime recebido em dois campos, data e hora, e removemos os segundos, mantendo apenas o formato HH:MM.
Código:
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]))

Caso 3. Limpando tags HTML do corpo de um e-mail
Alguns serviços enviam e-mails ou notificações em formato HTML, com tags, espaços extras ou quebras de linha desnecessárias. Se esses dados forem usados posteriormente na sua conexão automática, por exemplo, enviados para uma tarefa, Slack, CRM ou para um cliente, eles podem parecer bagunçados e até quebrar a formatação.
import re
regexp = re.compile(r'<(\/?[^>]+)>|(
)|(\s{4,})', flags=re.MULTILINE)
html = regexp.sub('', html).strip()

Agora você pode usar a ferramenta Executar Código Python para cálculos, transformação de dados e limpeza de texto dentro da sua conexão automática. Se tiver alguma dúvida, fique à vontade para entrar em contato com nossa equipe de suporte pelo chat.
Isso respondeu à sua pergunta?