Lógica e Controle de Fluxo

Condições, laços, tratamento de erros e variáveis

Se / Senão

logic.if_else

Bifurcação condicional

Como usar

Avalia a condição e segue pela saída Verdadeiro ou Falso. A condição é uma expressão Python em que as variáveis aparecem entre chaves, como {total} > 100 ou {status} == "Aprovado". Para testar mais de uma condição em sequência, ligue um Senão Se na saída Falso.

Exemplo: Se {valor_pedido} > 5000, o fluxo segue para a aprovação do gerente; caso contrário, aprova direto.

Campos

CampoTipoPadrãoDetalhes
Condição *ExpressãoExpressão Python, ex: {total} > 100

Saídas do bloco: Verdadeiro, Falso.

Senão Se

logic.else_if

Condição adicional encadeada (use no ramo Falso de um Se)

Como usar

Testa uma nova condição quando a anterior deu falso. Ligue-o na saída Falso de um Se / Senão (ou de outro Senão Se) para montar uma cadeia de verificações, como faixas de valores.

Exemplo: Se {nota} >= 9 → "Ótimo"; Senão Se {nota} >= 7 → "Bom"; senão → "Revisar".

Campos

CampoTipoPadrãoDetalhes
Condição *Expressão

Saídas do bloco: Verdadeiro, Falso.

Escolha / Caso

logic.switch

Múltiplas condições

Como usar

Compara um valor com até três casos e segue pela saída do caso igual; se nenhum bater, segue pela saída Padrão. Mais legível que vários Se encadeados quando a decisão depende de um único valor.

Exemplo: Valor {tipo_documento}: Caso 1 "NF" emite nota, Caso 2 "Boleto" gera cobrança, Padrão registra um aviso.

Campos

CampoTipoPadrãoDetalhes
Valor *Expressão
Caso 1 *Texto
Caso 2Texto
Caso 3Texto

Saídas do bloco: Caso 1, Caso 2, Caso 3, Padrão.

Para Cada

logic.for_loop

Iteração por lista/range

Como usar

Repete os comandos ligados à saída "Cada item" para cada item de uma lista. Em "Itens" informe uma variável de lista ou uma expressão, como range(10) para repetir 10 vezes. A cada volta, o item atual fica na variável do item e a posição (começando em 0) na variável do índice. Use Interromper para sair antes e Continuar para pular um item.

Exemplo: Para cada {cliente} da lista {clientes}, abra o cadastro no sistema e envie o e-mail de cobrança.

Campos

CampoTipoPadrãoDetalhes
Itens *ExpressãoVariável lista ou expressão, ex: range(10)
Variável do item atual *Variável de saídaitem
Variável do índiceVariável de saídaindex

Resultado: guardado na variável item (Qualquer).

Saídas do bloco: Cada item.

Enquanto

logic.while_loop

Loop com condição

Como usar

Repete os comandos da saída "Enquanto verdadeiro" enquanto a condição for verdadeira; depois segue pela saída "Concluído". Garanta que algo dentro do laço mude a condição, ou defina um máximo de repetições para o robô não ficar preso; o Studio avisa quando a condição nunca muda.

Exemplo: Enquanto {pagina_atual} <= {total_paginas}, extraia a tabela da página e clique em "Próxima".

Campos

CampoTipoPadrãoDetalhes
Condição *Expressão
+ Avançado (1)
CampoTipoPadrãoDetalhes
Máximo de iterações (0 = sem limite)Número0

Saídas do bloco: Enquanto verdadeiro.

Interromper

logic.break

Sai do loop atual

Como usar

Sai imediatamente do laço atual (Para Cada ou Enquanto) e continua no comando depois dele. Normalmente fica dentro de um Se, quando o robô já encontrou o que procurava.

Exemplo: Ao encontrar o pedido com número {numero_procurado} na lista, interrompa a busca.

Continuar

logic.continue

Pula para próxima iteração

Como usar

Pula o restante dos comandos desta volta do laço e passa para o próximo item. Útil para ignorar itens que não precisam ser processados.

Exemplo: Se o cliente {cliente} já estiver com status "Pago", continue para o próximo sem enviar cobrança.

Tentar / Capturar

logic.try_catch

Tratamento de exceções

Como usar

Executa os comandos da saída Tentar; se algum falhar, o robô não para: segue pela saída "Em caso de erro", com a mensagem do erro na variável indicada. A saída "Sempre" roda nos dois casos (bom para fechar arquivos e sistemas). Use para tratar falhas esperadas (site fora do ar, arquivo ausente) e continuar ou registrar o problema.

Exemplo: Tente baixar o relatório do portal; se falhar, registre {error} no log e envie um aviso por e-mail para a equipe.

Campos

CampoTipoPadrãoDetalhes
Salvar erro na variávelVariável de saídaerror

Resultado: guardado na variável error (Texto).

Saídas do bloco: Tentar, Em caso de erro, Sempre.

Lançar Erro

logic.throw_error

Lança exceção customizada

Como usar

Interrompe o robô com uma mensagem de erro sua. Dentro de um Tentar / Capturar, o erro é capturado; fora dele, a execução termina como falha com essa mensagem no log e no Orchestrator.

Exemplo: Se a planilha de entrada vier vazia, lance o erro "Planilha de pedidos sem linhas".

Campos

CampoTipoPadrãoDetalhes
Mensagem *Texto

Aguardar / Delay

logic.wait

Pausa por N segundos

Como usar

Pausa o robô pelo número de segundos informado (aceita frações, como 0.5). Prefira os comandos "Aguardar Elemento" ou "Aguardar Navegação" quando estiver esperando uma tela: eles seguem assim que ela fica pronta.

Exemplo: Aguarde 2 segundos depois de salvar para o sistema legado gravar o registro.

Campos

CampoTipoPadrãoDetalhes
Segundos *Número1 s

Registrar Mensagem

logic.log_message

Escreve mensagem no console (INFO, WARN, ERROR)

Como usar

Escreve uma mensagem no console do Studio e no log da execução no Orchestrator, com o nível escolhido. Use {variavel} na mensagem para mostrar valores. DEBUG serve para detalhes de diagnóstico; WARN e ERROR destacam problemas.

Exemplo: Registre "Pedido {numero} processado em {segundos}s" no nível INFO ao fim de cada pedido.

Campos

CampoTipoPadrãoDetalhes
Nível *OpçãoINFOOpções: INFO, WARN, ERROR, DEBUG
Mensagem *Texto

Definir Variável

logic.set_variable

Atribui valor a uma variável

Como usar

Guarda um valor numa variável, criando-a se ainda não existir. O valor pode ser um texto fixo, um número ou combinar outras variáveis, como "Pedido {numero}". Para cálculos, prefira Atribuir Expressão.

Exemplo: Defina {status} como "Em processamento" antes de começar a tratar o pedido.

Campos

CampoTipoPadrãoDetalhes
Variável *Variável de saída
Valor *Texto

Resultado: guardado na variável escolhida (Qualquer).

Comentário

logic.comment

Bloco de comentário (não executável)

Como usar

Nota no canvas para documentar o fluxo: não executa nada e não entra no código do robô. Use para explicar trechos, regras de negócio ou pendências para quem for manter o robô.

Exemplo: "Regra do financeiro: pedidos acima de R$ 5.000 precisam de aprovação manual."

Chamar Sub-fluxo

logic.call_subflow

Executa outro fluxo como sub-rotina

Como usar

Executa outro fluxo do projeto (sub-fluxo) e volta para o comando seguinte quando ele termina. Passe valores para as entradas do sub-fluxo e guarde o que ele retornar numa variável. Sub-fluxos evitam repetir a mesma sequência em vários lugares, como o login num sistema.

Exemplo: Chame o sub-fluxo "Login ERP" com o usuário {usuario_erp} antes de cada lote de pedidos.

Campos

CampoTipoPadrãoDetalhes
Salvar valor retornado na variável *Variável de saídasubflow_result

Resultado: guardado na variável subflow_result (Qualquer).

Retornar Valor

logic.return_value

Retorna valor de um sub-fluxo

Como usar

Encerra o sub-fluxo e devolve um valor para quem o chamou (o comando Chamar Sub-fluxo guarda esse valor na variável dele). Usado só dentro de sub-fluxos.

Exemplo: No sub-fluxo "Calcular Frete", retorne {valor_frete} ao final.

Campos

CampoTipoPadrãoDetalhes
ValorExpressão

Parar Execução

logic.stop_execution

Encerra o fluxo com status de sucesso ou falha

Como usar

Encerra o robô na hora, como sucesso ou falha, com uma mensagem. Os navegadores e conexões abertos são fechados normalmente. Use quando não há mais nada a fazer, como uma fila vazia.

Exemplo: Se não houver pedidos novos, pare a execução com sucesso e a mensagem "Nenhum pedido pendente".

Campos

CampoTipoPadrãoDetalhes
Status *OpçãosuccessOpções: success, failure
MensagemTexto

Atribuir Expressão

logic.assign_expression

Avalia expressão Python e armazena resultado

Como usar

Calcula uma expressão Python e guarda o resultado numa variável. Serve para contas, formatação e manipulação de listas e textos, como {quantidade} * {preco}, len({linhas}) ou {nome}.upper().

Exemplo: Calcule o total com desconto: {total} * 0.9, guardando em {total_com_desconto}.

Campos

CampoTipoPadrãoDetalhes
Expressão *Expressão
Salvar resultado na variável *Variável de saídaresult

Resultado: guardado na variável result (Qualquer).

Validar Condição

logic.assert_condition

Verifica condição e falha se for falsa

Como usar

Confere se uma condição é verdadeira e, se não for, para o robô com a mensagem de falha. Use para validar premissas antes de seguir, como um campo obrigatório preenchido ou um total esperado.

Exemplo: Valide que {total_importado} == {total_planilha}, com a falha "Total importado diferente do total da planilha".

Campos

CampoTipoPadrãoDetalhes
Condição *Expressão
Mensagem de falhaTexto