Pular para o conteúdo principal
Roberty Studio
RPAUtilitários

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.

Atenção

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:

python
# 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:

python
total = ${actions['calcularTotal']['value']}
print(total * 2)

Para objetos ou listas, use JSON.stringify para serializar e json.loads para desserializar no Python:

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:

python
servidor = "{{PARAMETROS.servidor}}"
print(f"Conectando em: {servidor}")

Para segredos (parâmetros marcados como senha), use {{SEGREDOS.nome}}.

informação

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​

js
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.