Parâmetros e Variáveis do Workflow
O uso estratégico de parâmetros e variáveis é crucial para criar Workflows dinâmicos e automatizados. Estas ferramentas permitem tornar os fluxos de trabalho reutilizáveis, fornecendo dados específicos a cada execução, mantendo informações úteis durante o processamento e criando uma sequência lógica de atividades interconectadas.
1. Parâmetros do Workflow
Os parâmetros são valores de entrada definidos para todo o Workflow. Podem ser criados acedendo à secção de propriedades. Dentro das propriedades, encontrará duas abas dedicadas: "Parâmetros" e "Ficheiro".
Aba "Parâmetros"
Nesta secção, é possível definir parâmetros de diferentes tipos.
- Adicionar um parâmetro: Para inserir um novo parâmetro, clique no botão “+Adicionar Parâmetro”. Será criada uma nova linha para configurar.
- Configuração: Para cada parâmetro, é necessário definir:
- Tipo: Selecione o tipo de dado no menu suspenso. As opções disponíveis são:
- NUMÉRICO: Para valores numéricos.
- STRING: Para valores textuais.
- DATA: Para datas e horas.
- ENCRYPT: Para valores sensíveis que devem ser armazenados e geridos em formato encriptado.
- EXPRESSÃO: Para definir valores dinâmicos através de expressões.
- LISTA DE VALORES: Para listas de valores.
- Nome: Atribua um nome único ao parâmetro (ex: "x").
- Valor: Insira o valor padrão do parâmetro (ex: "1").
- Remover: Para eliminar um parâmetro, clique no ícone de menos (-) no final da linha.
Aba "Ficheiro"
Esta secção é dedicada à gestão de parâmetros do tipo ficheiro, úteis para carregar documentos (ex: CSV, XLSX) que o workflow deverá processar.
- Adicionar um ficheiro: Clique em "+ Adicionar Ficheiro" para criar um novo parâmetro do tipo ficheiro.
- Configuração:
- Nome do parâmetro ficheiro: Defina um nome para o parâmetro (ex: "test_01").
- Escolher ficheiro: Clique neste botão para carregar o ficheiro do seu computador. O nome do ficheiro carregado e o seu tamanho em bytes serão mostrados automaticamente.
- Serão criados 3 tipos de parâmetros associados ao ficheiro: “.filename”, “.file” (um caminho absoluto) e “.content”
Utilização dos Parâmetros no Lançamento do Workflow
Modal de Lançamento: Quando um workflow é executado, os seus parâmetros são exibidos numa modal de início. Isto permite ao utilizador personalizar os valores de entrada para aquela execução específica, sem ter de modificar o Workflow.
Modularidade (Sub-Workflows): Os parâmetros são fundamentais para tornar os Workflows reutilizáveis. Podem ser personalizados e passados como entrada para tarefas específicas como: Run Workflow (para executar um sub-workflow), Parallel Run Workflow e Iterator.
2. Variáveis do Workflow
Ao contrário dos parâmetros, as variáveis têm um escopo puramente interno e servem para gerir dados intermédios durante a execução do fluxo.
- Criação: As variáveis não são definidas nas propriedades do fluxo de trabalho, mas são criadas através de uma tarefa específica chamada Declarar Variáveis.
- Restrição: É importante notar que dentro de um único fluxo de trabalho pode existir apenas uma tarefa Declarar Variáveis.
- Modificação: A modificação do valor das variáveis é permitida unicamente através do uso das tarefas Definir Variáveis.

- Criação: As variáveis não são definidas nas propriedades do fluxo de trabalho, mas são criadas através de uma tarefa específica chamada Declarar Variáveis.
- Restrição: É importante notar que dentro de um único fluxo de trabalho pode existir apenas uma tarefa Declarar Variáveis.
- Modificação: A modificação do valor das variáveis é permitida unicamente através do uso das tarefas Definir Variáveis.
3. Utilização de Parâmetros e Variáveis – Menu “Lista de Parâmetros”
O menu “Lista de Parâmetros” é um componente essencial do Fluxo de Trabalho. Permite criar processos dinâmicos gerindo o passagem de dados entre tarefas e o uso de valores calculados durante a execução, tornando o fluxo de trabalho mais flexível e adaptável.
Acesso e Utilização
Dentro das abas “Configuração” e “Condições de Saída” de cada tarefa, está disponível o botão “Parâmetros ≡”, que abre o menu “Lista de Parâmetros”.
A partir deste painel, é possível arrastar (drag-and-drop) um parâmetro da lista e soltá-lo no campo de entrada desejado (por exemplo, nos campos Attachments ou Content de um e-mail).
A operação insere automaticamente no campo a referência dinâmica ao parâmetro, formatada de acordo com a sintaxe:
`#>nome_parametro<#`
4. O menu “Lista de Parâmetros” na aba “Configuração”
O menu está organizado em secções, cada uma das quais expõe um tipo diferente de dado dinâmico.
Parâmetros de Execução (Runtime)
Esta secção expõe as variáveis de sistema relativas à execução em curso. São parâmetros de leitura, valorizados automaticamente pela plataforma.
- Contexto do Fluxo de Trabalho: Informações sobre toda a execução do processo.
- $$SYBOT_USER: O utilizador que iniciou o Fluxo de Trabalho.
- $$RUN_ID: O ID único desta execução específica.
- $$WORKFLOW_ID: O ID único do Fluxo de Trabalho.
- $$WORKFLOW_NAME: O nome do Fluxo de Trabalho.
- Contexto da Tarefa: Informações sobre a tarefa imediatamente anterior.
- $$LAST_TASK_ID: O ID da tarefa anterior.
- $$LAST_TASK_NAME: O nome da tarefa anterior.
- $$LAST_TASK_TYPE: O tipo da tarefa anterior (ex: “db” para Tarefas "Database" ).
Parâmetros do Fluxo de Trabalho
Lista todos os parâmetros de entrada definidos para o Fluxo de Trabalho inteiro nas secções "Parâmetros" e "Arquivos". Para os parâmetros do tipo "Arquivo", são expostos atributos específicos para aceder a diferentes partes da informação:
- .file: O caminho completo do ficheiro.
- .filename: Apenas o nome do ficheiro.
- .content: O conteúdo do ficheiro (se textual).
Variáveis do Fluxo de Trabalho
Mostra as variáveis criadas através da Tarefa "Declarar Variáveis". Estas variáveis mantêm o seu estado durante a execução e podem ser lidas ou modificadas (através da Tarefa "Definir Variáveis") em qualquer ponto do fluxo após a sua declaração.
Operadores Aritméticos
Esta secção fornece atalhos para a inserção de operadores matemáticos padrão. São utilizados para executar cálculos em tempo real, combinando valores estáticos ou parâmetros dinâmicos.
| Operador | Descrição | Exemplo de Utilização |
|---|---|---|
| + | Adição | #>Declare variables.contatore<# + 1 |
| - | Subtração | #>TotaleOrdini.count<# - 10 |
| * | Multiplicação | #>Prodotto.prezzo<# * #>Ordine.quantità<# |
| / | Divisão | #>FatturatoAnnuale.valore<# / 12 |
| % | Módulo | #>Controllo loop.loopCount<# % 2 (Retorna o resto de uma divisão, útil para determinar se um número é par ou ímpar) |
Funções
Esta secção expõe um conjunto de funções pré-definidas para a execução de operações complexas que vão além de simples cálculos aritméticos. Entre elas, existe um conjunto de funções dedicadas ao manuseamento da data e hora atuais, fundamentais para a geração de timestamps dinâmicos e para a formatação de outputs temporais.
| Função | Descrição | Valor Retornado (Exemplo) |
|---|---|---|
| Date.datetime | Retorna a data e a hora atuais. | 2025-09-17 10:30:00 |
| Date.date | Retorna apenas a data atual. | 2025-09-17 |
| Date.time | Retorna apenas a hora atual. | 10:30:00 |
| Date.unix | Retorna a data e a hora atuais em formato Unix Timestamp (número de segundos decorridos desde 1 de janeiro de 1970). | 1757893800 |
| Date.format("...") | Formata a data e a hora atuais de acordo com um modelo personalizado. | 17/09/2025 10:30:00 (usando "d/m/Y H:i:s") |
Output das Tarefas Anteriores
Esta secção é o coração do fluxo de dados. É preenchida dinamicamente com uma lista de todas as Tarefas que precedem a atualmente selecionada no diagrama. Ao expandir uma Tarefa nesta lista, tem acesso a todos os seus parâmetros de saída, que podem, então, ser arrastados e usados como entrada para a Tarefa atual. Por exemplo, o resultado de uma Tarefa Base de Dados pode ser usado no Conteúdo de uma TarefaE-Mail Out v.2 para enviar um relatório por e-mail.
Sintaxe de Inserção
Ao utilizar um elemento da "Lista de Parâmetros", este é inserido automaticamente no campo de entrada com uma sintaxe específica: #>nome_task.nome_parametro<#. Por exemplo:
`#>E-Mail Out.body<#`
`#>Importa Testo.result<#`
`#>Database.Dataset.nome<#`
Esta notação atua como um marcador de posição. Durante a execução do fluxo de trabalho, #>Importa Testo.result<# será substituído pelo valor real produzido pela tarefa "Importar Texto".
Nota
- Na tarefa Base de Dados, para usar parâmetros nas secções Cláusula FROM e Statement, deve ser usada a seguinte sintaxe:
#>dbobj:nome_tabella<#(após ">" usar "dbobj:")
5. O menu "Lista de Parâmetros" na aba "Condições de Saída"
Ao aceder ao menu "Lista de Parâmetros" a partir da aba "Condições de Saída" de uma Tarefa, a sua função principal é auxiliar na construção de expressões lógicas complexas. Estas expressões determinam qual caminho o Fluxo de Trabalho seguirá após a execução da Tarefa.
A estrutura base do menu e as secções Parâmetros de Execução, Parâmetros do Fluxo de Trabalho, Variáveis do Fluxo de Trabalho, Funções e Saída das Tarefas Anteriores são idênticas às descritas no capítulo anterior.
A diferença fundamental reside na adição de duas secções específicas para a construção de lógica booleana: Operadores de Comparação e Operadores Lógicos.
Operadores de Comparação
Esta secção fornece atalhos para inserir operadores utilizados para comparar dois valores. O resultado de uma comparação é sempre um valor booleano (verdadeiro ou falso), que é a base para qualquer decisão de fluxo.
| Operador | Descrição | Exemplo de Utilização numa Expressão |
|---|---|---|
| == | Igual (comparação de valor, com conversão de tipo) | #>Unix Search Process.exitStatus<# == 0 |
| === | Estritamente igual (comparação de valor e de tipo) | #>Chiamata REST.httpCode<# === 200 (compara um número com um número) |
| != | Diferente (comparação de valor) | #>Variabili Workflow.stato<# != 'Completado' |
| !== | Estritamente diferente (comparação de valor e de tipo) | #>Database.count<# !== '0' |
< / > | Menor que / Maior que | #>Iterator.Dataset.Count<# > 10 |
<= / >= | Menor ou igual a / Maior ou igual a | #>Controllo loop.loopCount<# <= 5 |
| in | Verifica se um valor está presente numa lista ou array. | |
| not in | Verifica se um valor não está presente numa lista ou array. | |
| contains | Verifica se uma string contém outra substring. | contains(#>Importa Testo.result<#, 'ERROR') |
Operadores Lógicos
Estes operadores são utilizados para combinar duas ou mais expressões de comparação, permitindo construir condições complexas e multifatoriais.
| Operador | Descrição | Exemplo de Utilização numa Expressão |
|---|---|---|
| and | Retorna verdadeiro apenas se ambas as expressões forem verdadeiras. | #>Chiamata REST.httpCode<# === 200 and #>Chiamata REST.response<# contains 'success' |
| or | Retorna verdadeiro se pelo menos uma das expressões for verdadeira. | #>StatoServizio.result<# == 'stopped' or #>StatoServizio.exitStatus<# != 0 |
| not | Inverte o resultado de uma expressão (de verdadeiro para falso e vice-versa). | not (#>Variabili Workflow.utente_attivo<#) |
O uso combinado de parâmetros, funções e destes operadores lógicos e de comparação permite definir com precisão granular o comportamento do Workflow em resposta a qualquer resultado proveniente das Tarefas executadas.