Custom Python Script
Custom Python Script
Executa um bloco de código Python personalizado dentro do fluxo de automação e retorna a saída produzida. Ideal para cenários que exigem bibliotecas científicas, de processamento de dados ou outras funcionalidades nativas do ecossistema Python que não estão disponíveis em JavaScript.
No Windows, a ação usa o Python embarcado no Roberty. No macOS e no Linux, é usado o Python instalado no sistema, que precisa estar disponível na máquina onde o robô será executado.
Opções
Código
Escreva o bloco de código Python que será executado. Use print() para definir o valor que será retornado pela ação — o retorno capturado é tudo que for impresso na saída padrão durante a execução.
Acessando saídas de ações anteriores
O código Python roda como um processo separado e não tem acesso direto às variáveis do fluxo. Para passar valores de ações anteriores, use a sintaxe de interpolação JavaScript (${...}) diretamente no código — o valor é substituído antes de o Python ser executado:
# O valor da ação anterior é embutido antes do Python rodar
nome = "${actions['lerNome']['value']}"
codigo = "${actions['lerCodigo']['value']}"
print(f"Cliente: {nome} — Código: {codigo}")
Para valores numéricos ou booleanos, a interpolação funciona diretamente:
total = ${actions['calcularTotal']['value']}
print(total * 2)
Para objetos ou listas, use JSON.stringify para serializar e json.loads para desserializar no Python:
import json
dados = json.loads('${JSON.stringify(actions["consultarDados"]["value"])}')
for item in dados:
print(item["nome"])
Acessando parâmetros do robô
Use {{PARAMETROS.nome}} para embutir um parâmetro diretamente no código:
servidor = "{{PARAMETROS.servidor}}"
print(f"Conectando em: {servidor}")
Para segredos (parâmetros marcados como senha), use {{SEGREDOS.nome}}.
A sintaxe ${...} é avaliada pelo JavaScript antes de o Python ser executado. O Python recebe o código já com os valores substituídos — ele nunca vê o ${...}.
Retornos
Código Javascript
actions["id-da-acao"].value // saída produzida pelo código Python via print (Qualquer)
Seleção de campos
- value — conteúdo impresso pelo código Python durante a execução (Qualquer)
Regras e Condições
- O campo Código é obrigatório.
- O retorno da ação é o conteúdo impresso via
print()durante a execução. - No macOS e no Linux, o Python deve estar instalado e configurado corretamente na máquina onde o robô executa.
- Erros de execução no código Python interrompem a execução do robô.
Usando bibliotecas externas
O Roberty utiliza um Python próprio (versão 3.8) e é possível instalar qualquer biblioteca via pip. Consulte o tutorial Instalar bibliotecas Python externas para o passo a passo completo.