Skip to Content
Automatizações

Condições, desvios e atrasos

Faça um fluxo dividir-se com Se / senão e Desvio, faça-o esperar, procure registos, percorra listas e peça uma decisão

Última atualização em

Com os passos do grupo Lógica decide para que lado um fluxo segue e quando: o "se" e o "espere um pouco". Um exemplo: se a fatura continuar em aberto passada uma semana, crie uma tarefa. Estes passos comandam as ações que vêm a seguir. Só Pedir uma decisão cria algo por si, uma tarefa.

PassoO que fazSaídas
Se / senãoDivide segundo condiçõesSim, Não
DesvioEscolhe um ramo segundo o valor de um campoUma por ramo e Predefinição
AtrasoEspera um tempo fixo ou até uma dataSeguinte
Aberto agora?Verifica se está aberto neste momentoAberto, Fechado
Aguardar até abrirEspera até à próxima hora de aberturaSeguinte
Aguardar até fecharEspera até à próxima hora de fechoSeguinte
No máximo uma vez por períodoTrava repetiçõesContinuar, Já executado
Procurar um registoObtém um registo pelo seu IDEncontrada, Não encontrada
Para cadaExecuta os passos seguintes por cada item de uma listaPara cada, Concluído
Aguardar atéEspera até as condições se cumpriremCumprida, Tempo esgotado
Aguardar um eventoEspera até acontecer algo no TillorRecebido, Tempo esgotado, por vezes Eliminado
Pedir uma decisãoDeixa um colega escolher entre as suas opçõesUma por opção e Tempo esgotado

Se / senão

Divide o fluxo em dois caminhos com base nos dados. É o mesmo princípio do filtro em Apenas quando do acionador, mas agora a meio do fluxo.

O passo tem duas saídas: Sim (as condições verificam-se) e Não (não se verificam).

  1. Adicione um passo Se / senão
  2. Em Condições, clique em Adicionar condição
  3. Escolha o campo com o botão Variável, ou escreva o caminho você mesmo, por exemplo invoice.paymentStatus
  4. Escolha a comparação (é, não é, contém, é maior que, é menor que, é um de, está vazio ou não está vazio) e preencha o valor
  5. Ligue a saída Sim e, se quiser, Não a um passo seguinte

Um passo Se / senão precisa de pelo menos uma condição. Caso contrário, o Tillor indica Adicione uma condição. Havendo várias condições, escolhe entre Todas têm de corresponder e Basta uma corresponder. As comparações funcionam como descrito em Apenas quando.

Não precisa de ligar as duas saídas. Se uma saída não leva a lado nenhum, a execução termina aí. Um fluxo que só faz algo em Sim está, por isso, perfeitamente bem.

Também pode usar campos de passos anteriores. Depois de um Pedido à API pode, por exemplo, verificar response.status ou response.data.paymentStatus.

Desvio

Escolha Desvio quando precisar de mais de dois caminhos. O passo olha para o valor de um campo e escolhe o ramo que lhe corresponde.

  1. Em Campo, escolha o campo que quer verificar, por exemplo occupation.occupationType
  2. Em Ramos, clique em Adicionar ramo. Preencha o Ramo (o nome que aparece na saída) e Igual a (o valor que o campo tem de ter)
  3. Repita para cada ramo
  4. Ligue cada saída a um passo seguinte

Cada ramo recebe uma saída própria por baixo do passo. Além disso, existe sempre uma saída Predefinição. É usada quando nenhum ramo serve.

  • O campo tem de coincidir exatamente com o valor, incluindo maiúsculas e minúsculas
  • Se mais de um ramo servir, ganha o primeiro da lista
  • Um ramo sem valor em Igual a não conta
  • Pode definir no máximo 8 ramos, mais Predefinição
  • Se o campo estiver vazio ou não existir, o fluxo segue por Predefinição

Os valores de campos de escolha estão na notação do Tillor. Uma ocupação do tipo caravana de aluguer tem, por exemplo, o valor RENTAL_CARAVAN, uma fatura paga PAID.

A lista em Campo mostra os campos do evento e de passos anteriores. Os campos da resposta de um pedido à API só aparecem na lista quando o Tillor conhece um exemplo dessa resposta. Veja Usar uma resposta da API.

Atraso

Com Atraso faz o fluxo esperar antes de continuar. Usa-se para coisas como voltar a ver daqui a uma semana.

Em Aguardar escolhe uma de duas formas.

Um tempo fixo

Escolha Durante um tempo fixo e preencha em Duração uma quantidade e uma unidade: segundos, minutos, horas, dias ou semanas. Os segundos não são exatos. O fluxo pode continuar alguns segundos mais tarde.

Um atraso de 0 não faz nada, por isso o Tillor indica Um atraso de 0 não faz nada.

Até uma data

Escolha Até uma data quando o tempo de espera depende de uma data dos dados, como a data de vencimento de uma fatura ou a data final de uma reserva.

CampoO que preenche
DataUm campo com uma data, por exemplo invoice.dueDate. A lista só mostra campos que são datas
Em relação a essa dataAntes ou Depois
DeslocamentoQuanto tempo antes ou depois dessa data, em minutos, horas, dias ou semanas. Com 0, o fluxo continua exatamente nessa data

Exemplos:

  • Data invoice.dueDate, Depois, Deslocamento 1 dia: o fluxo continua um dia depois da data de vencimento
  • Data reservation.checkIn, Antes, Deslocamento 2 dias: o fluxo continua dois dias antes da chegada

Se esse momento já estiver no passado, ou a data estiver vazia, o fluxo continua logo.

O que acontece durante a espera

  • A execução recebe o estado A aguardar. No separador Execuções indica quando continua (Continua …). Esperas longas, como semanas, não são problema
  • Depois do atraso, o Tillor lê os dados de novo, para que os passos seguintes vejam a situação atual. Veja abaixo
  • Se puser a automação em pausa durante a espera, a execução para assim que o tempo de espera termina. Não continua e fica com o estado Cancelada. Se voltar a ativar a automação antes de o tempo de espera terminar, a execução continua normalmente
  • Se eliminar a automação, as execuções em espera param
  • Se alterar o fluxo enquanto uma execução espera, essa execução termina com o fluxo tal como era quando começou

Os dados são lidos de novo

Uma execução guarda os dados do momento do evento, mas lê de novo os registos que lhe pertencem antes de continuar. São o registo do evento (por exemplo a fatura) e os registos para que este aponta (por exemplo o cliente).

Um exemplo: uma automação envia um lembrete de uma fatura, espera 7 dias e depois verifica com Se / senão se invoice.paymentStatus não é PAID. Se a fatura tiver sido paga nessa semana, a condição vê a fatura paga e o fluxo segue por Não.

Há duas exceções:

  • Se o registo já não existir, por exemplo porque uma ocupação foi eliminada, a execução mantém a cópia do momento do evento
  • Os dados que um passo anterior produziu, como a resposta de um pedido à API, não são obtidos de novo. Se quiser esses dados atualizados depois de um atraso, faça um novo pedido à API

Num teste nada é lido de novo

Uma execução de teste salta os atrasos e trabalha com os dados de exemplo que preencher. O que acontece depois de um atraso verdadeiro só vê numa execução verdadeira.

Aberto agora?

Verifica se a sua organização está aberta neste momento e divide o fluxo em Aberto e Fechado. Não há nada a configurar. O Tillor usa o horário em Definições > Horário de funcionamento, com períodos sazonais, feriados e exceções. Veja Definições da organização.

Use-o, por exemplo, para enviar um texto diferente fora do horário ou criar uma tarefa. Se preferir esperar até voltar a abrir, use Aguardar até abrir. Se quiser esperar até fechar, use Aguardar até fechar.

Aguardar até abrir

Faz o fluxo pausar até à próxima hora de abertura e continua depois. A sua organização já está aberta? Então o fluxo continua logo. Não há nada a configurar.

  • A hora de abertura vem de Definições > Horário de funcionamento, no fuso horário da sua organização
  • Se no próximo mês não houver nenhuma hora de abertura, o fluxo continua logo em vez de ficar à espera
  • Durante a espera, a execução recebe o estado A aguardar. O que acontece aí está em Atraso

Aguardar até fechar

Faz o fluxo pausar até à próxima hora de fecho e continua depois. A sua organização já está fechada? Então o fluxo continua logo. Não há nada a configurar.

  • A hora de fecho vem de Definições > Horário de funcionamento, no fuso horário da sua organização
  • Blocos que se seguem diretamente, como 9:00–12:00 e 12:00–17:00, contam como um só. O fluxo espera até ao fim desse bloco
  • Durante a espera, a execução recebe o estado A aguardar. O que acontece aí está em Atraso

No máximo uma vez por período

Só deixa o fluxo passar se ele ainda não tiver passado por este passo para o mesmo registo dentro do período. Assim não envia ao cliente o mesmo lembrete todos os dias.

CampoO que preenche
PeríodoDurante quanto tempo contam as execuções anteriores, em minutos, horas, dias ou semanas. Por predefinição, 1 dia
PorO que se conta. Vazio significa por registo com que o fluxo começou, como a fatura ou a reserva. Preencha uma variável, por exemplo {customer.id}, para contar por cliente ou por parcela

O passo tem duas saídas: Continuar se o fluxo ainda não passou por aqui no período, e Já executado se já passou. Ligue Já executado a outro passo, ou deixe-a vazia para que a execução termine aí.

Tenha em conta:

  • Só contam as execuções da mesma automação, e só se passaram por este passo através de Continuar
  • Se não ligar Eliminado a nada, o Tillor para os fluxos em espera desse registo e elimina as tarefas que o fluxo criou e que só o fluxo podia concluir. Se ligar a saída, o fluxo continua aí
  • Se o fluxo começar sem registo, por exemplo com Todos os dias a uma hora, preencha você mesmo uma variável em Por. Sem esse valor, cada execução é nova e o passo não trava nada
  • A execução que está a decorrer não conta para si própria

Um exemplo: Período 7 dias e Por {invoice.customerId} deixa passar, por cliente, no máximo um lembrete por semana, mesmo que esse cliente tenha várias faturas vencidas.

Procurar um registo

Carrega um registo com base no seu ID, para que os passos seguintes possam usar os seus campos. É útil quando o evento só traz um ID, como a mensagem numa conversa da caixa de entrada.

CampoO que preenche
Tipo de registoCliente, Reserva, Ocupação, Fatura, Pagamento, Parcela, Tarefa, Documento, Meio de acesso, Etiqueta NFC, Contador, Conversa da caixa de entrada ou Mensagem da caixa de entrada. Por predefinição, Mensagem da caixa de entrada
IDO ID do registo, por exemplo {messageId}. Obrigatório

O passo tem duas saídas: Encontrada e Não encontrada. Se o registo não existir ou o ID estiver vazio, o fluxo segue por Não encontrada.

Depois de Encontrada, os campos do registo ficam em variáveis que começam por found e depois o tipo: {foundCustomer.firstName}, {foundInvoice.displayId}, {foundReservation.checkIn}, {foundTerrain.name}, {foundInboxMessage.direction}. Os outros tipos chamam-se foundOccupation, foundPayment, foundTask, foundAccessMethod, foundNfcTag, foundMeter e foundInboxThread. Também ficam disponíveis os registos para que este aponta, um nível abaixo, como {foundReservation.customer.firstName}. Tudo está na lista atrás do botão Variável.

Uma segunda pesquisa do mesmo tipo substitui a primeira. Atenção em Tarefa: usa o mesmo nome foundTask que Procurar tarefa, e ganha a última das duas. O mesmo vale para Documento e foundDocument de Procurar documento.

Mapear variáveis

Copia valores para novos nomes de variáveis, para que os passos seguintes possam usar uma única forma. É útil quando um fluxo começa por Webhook recebido ({body.…}) e por Fatura vencida ({invoice.…}).

CampoO que preenche
MapeamentosLinhas com Variável de destino (por ex. invoice) e Origem (por ex. {foundInvoice} ou {body.invoiceId})

O passo tem uma saída: Seguinte. Se a origem for exatamente uma variável entre chavetas, por exemplo {foundInvoice}, o Tillor copia o registo inteiro (objeto). Caso contrário, o Tillor preenche a origem como texto, como Fatura {foundInvoice.displayId} em meta.label.

Teste de webhook típico: Webhook recebido → Procurar um registo (Fatura, ID {body.invoiceId}) → Mapear variáveis (invoice ← {foundInvoice}) → as mesmas condições e aprovação que no acionador de agenda.

Executar código

Executa um pedaço de TypeScript sobre as variáveis do fluxo e guarda o que devolve como nova variável. Serve para lógica que não cabe em campos e condições: que subtarefas têm de surgir, calcular um montante ou uma data, transformar o corpo de um webhook.

CampoO que preenche
CódigoTypeScript. As variáveis escrevem-se como nos textos, com chavetas: {customer.firstName} é lida como valor, não preenchida como texto. Termine com return. Obrigatório
Variável de saídaO nome com que os passos seguintes leem o resultado, como result (depois {result}) ou result.names. Por predefinição, result

O passo tem uma saída: Seguinte. Funciona assim:

  • O código só vê as variáveis que menciona. Uma variável que o fluxo não tem é null; uma data chega como texto (2026-07-01T10:00:00.000Z)
  • Formatações e deslocamentos de datas ({bedrag|currency}, {datum + 1 day}) não funcionam aqui: calcule-os no código
  • Devolva uma lista, texto, número ou objeto. Um objeto lê-se depois campo a campo: {result.total}
  • O código não pode obter nem enviar nada: sem internet, sem base de dados. Só calcula. Se calcular durante demasiado tempo (mais de 50 ms), é interrompido
  • Se o código lançar um erro, a execução pára com esse erro e o número da linha. Vê-los no separador Execuções
  • À direita do código vê logo o que devolve no exemplo; ao testar, corre também

Um exemplo: após a partida quer subtarefas que dependem da parcela. Coloque um passo Executar código com:

const tasks = ["Plaats vegen", "Sanitair"];
if ({occupation.terrain.metadata.gasMeterNumber}) tasks.push("Gasmeterstand noteren");
return tasks;

Depois, em Criar tarefa, preencha o campo Subtarefas só com {result}: cada texto da lista torna-se uma subtarefa.

Para cada

Executa os passos depois de Para cada uma vez por cada item de uma lista, por exemplo por cada fatura em aberto de um cliente. O próprio fluxo continua por Concluído.

CampoO que preenche
ListaMétodos de acesso de um cliente, Etiquetas NFC de um cliente, Faturas em aberto de um cliente, Reservas confirmadas de um cliente, Ocupações de um cliente, Documentos de um cliente (só ativos) ou Contadores de uma parcela. Por predefinição, Métodos de acesso de um cliente
DeO cliente ou a parcela de que quer a lista, por exemplo {customer.id} ou {occupation.terrainId}. Obrigatório

O passo tem duas saídas com significado próprio:

  • Para cada leva aos passos que quer fazer por item
  • Concluído é como o próprio fluxo continua

Funciona assim:

  • Cada item recebe uma execução própria, que percorre os passos depois de Para cada até ao fim desse ramo. Vê-las no separador Execuções, que só mostra as últimas 20
  • O item está na variável item, por exemplo {item.id}. As variáveis do evento e de passos anteriores continuam disponíveis
  • O fluxo não espera que os itens terminem. Logo depois de eles começarem, continua por Concluído. Por isso não pode usar o resultado de um item nos passos depois de Concluído
  • São processados no máximo 100 itens, os mais antigos primeiro. Se houver mais na lista, os restantes não são processados
  • Se a lista estiver vazia ou o campo De estiver vazio, nada começa e o fluxo continua logo por Concluído
  • Faturas em aberto de um cliente são faturas lançadas de que ainda há algo por pagar. Reservas confirmadas de um cliente são reservas com o estado Reservada

Um exemplo: uma fatura vence e quer criar uma ligação de pagamento para cada fatura em aberto desse cliente. Escolha Faturas em aberto de um cliente, preencha {invoice.customerId} em De e coloque depois de Para cada um passo Criar link de pagamento com {item.id} como fatura.

Aguardar até

Verifica condições uma e outra vez até se verificarem, ou pára ao fim de algum tempo. Use-o quando não sabe quando algo acontece mas sabe o que espera, por exemplo até uma fatura estar paga.

CampoO que preenche
AtéUma ou mais condições, da mesma forma que em Se / senão
Verificar a cadaCom que frequência o Tillor volta a ver, em minutos, horas, dias ou semanas. No mínimo 5 minutos. Por predefinição, 1 hora
Deixar de aguardar apósDurante quanto tempo o passo espera no máximo. Por predefinição, 7 dias

O passo tem duas saídas: Cumprida (as condições verificam-se) e Tempo esgotado (o tempo de espera terminou sem que se verificassem).

Tenha em conta:

  • A primeira verificação é logo. Se as condições já se verificarem, o fluxo continua de imediato por Cumprida. Se não preencher nenhuma condição, verifica-se sempre
  • Em cada verificação, o Tillor lê de novo os registos do evento, como num atraso. Uma condição como invoice.paymentStatus é PAID vê, por isso, o pagamento assim que ele existe
  • Um intervalo inferior a 5 minutos passa a 5 minutos
  • Durante a espera, a execução recebe o estado A aguardar. Para pausar e alterar o fluxo vale o mesmo que em Atraso

Aguardar um evento

Faz o fluxo pausar até acontecer algo no Tillor, por exemplo a fatura ser paga.

CampoO que preenche
EventoO que espera. A mesma lista que no acionador. Obrigatório
Apenas para o mesmo registoSó continua se o evento disser respeito ao registo com que o fluxo começou. Ativo por predefinição
Deixar de aguardar apósDurante quanto tempo o passo espera no máximo. Por predefinição, 7 dias

O passo tem duas saídas: Recebido (o evento chegou) e Tempo esgotado (o tempo de espera terminou sem evento). Se Apenas para o mesmo registo estiver ativo, surge uma terceira saída, Eliminado. Use-a quando o registo do fluxo foi eliminado enquanto o fluxo esperava.

Tenha em conta:

  • Com Apenas para o mesmo registo ativo, conta, por exemplo, apenas o pagamento da fatura com que o fluxo começou. Se o desativar, qualquer evento desse tipo faz o fluxo continuar
  • Se não ligar Eliminado a nada, o Tillor para os fluxos em espera desse registo e elimina as tarefas que o fluxo criou e que só o fluxo podia concluir. Se ligar a saída, o fluxo continua aí
  • Se o fluxo começar sem registo, por exemplo com Todos os dias a uma hora, conta qualquer evento desse tipo
  • Um evento que um passo de uma automação causa por si também conta. Os fluxos em espera continuam, portanto, também com trabalho de Fluxo de trabalho
  • Depois de Recebido, os dados do evento que esperava estão nas variáveis, sem o colega que o causou. Se esperar por invoice:paid, então {invoice.paymentStatus} dá o novo estado
  • Durante a espera, a execução recebe o estado A aguardar. Para pausar e alterar o fluxo vale o mesmo que em Atraso

Pedir uma decisão

Cria uma tarefa com botões que define você mesmo, e espera até alguém escolher um botão. Assim constrói um momento em que uma pessoa acompanha, por exemplo antes de o fluxo bloquear um cliente ou lançar uma fatura. Cada opção é um botão na tarefa e uma saída do passo.

CampoO que preenche
Título da tarefaO título da tarefa. Obrigatório
DescriçãoDiga ao seu colega o que é preciso decidir
OpçõesOs botões da tarefa. Veja abaixo. Pelo menos uma
Atribuir aEscolha um ou mais colegas
Atribuir a gruposEscolha um ou mais grupos
Associar aOs registos em que a tarefa aparece, como o cliente ou a fatura. Preenchido de antemão com os registos conhecidos neste passo
Deixar de aguardar apósDurante quanto tempo o passo espera no máximo. Por predefinição, 3 dias

Definir opções

  1. Em Opções, clique em Adicionar opção e preencha o nome, por exemplo Aprovar. Esse nome aparece no botão e na saída
  2. Clique na caixa colorida à esquerda do nome (Ícone e cor) para escolher uma cor e um ícone. Um ícone não é obrigatório
  3. Ative Pedir uma nota se o colega tiver de indicar um motivo nesta escolha
  4. Ative Pedir confirmação se o colega tiver primeiro de confirmar. Preenche então um Título da confirmação e uma Mensagem de confirmação e escolhe em Gravidade entre Informação, Aviso ou Destrutivo. Nestes textos pode usar variáveis
  5. Repita para cada opção. Pode criar no máximo 8 opções

Se a lista ainda estiver vazia, o botão Aprovar / Rejeitar prepara logo duas opções: um Aprovar verde e um Rejeitar vermelho. Cada opção precisa de um nome, caso contrário o Tillor indica Cada opção precisa de um nome. Sem opções, o Tillor indica Adicione pelo menos uma opção.

Saídas

O passo tem uma saída por opção, com o nome e a cor dessa opção, mais sempre Tempo esgotado.

SaídaQuando
O nome de uma opçãoAlguém escolheu esse botão na tarefa
Tempo esgotadoO tempo de espera terminou sem escolha, ou a tarefa foi eliminada

Tenha em conta:

  • Os botões estão no cartão da tarefa, na lista de tarefas e na própria tarefa. Uma tarefa assim não tem visto: não pode simplesmente concluí-la, só escolher um botão. Depois da escolha, a tarefa fica em Concluída e indica que opção foi escolhida. Veja Tarefas com botões de escolha
  • Pode escolher quem está atribuído à tarefa, também através de um grupo, e os administradores. Se não atribuir ninguém, qualquer pessoa que veja a tarefa pode escolher
  • A tarefa recebe prioridade Alta. Está em nome de Fluxo de trabalho
  • Se a tarefa for eliminada antes de alguém escolher, o fluxo continua por Tempo esgotado. Depois de Tempo esgotado pelo tempo de espera, a tarefa continua a existir
  • Os passos seguintes podem usar {approvalTask.id}, {approval.decision}, {approval.label}, {approval.note} e {approval.decidedBy.name}. {approval.label} é o nome da opção escolhida e {approval.note} a nota que o colega preencheu
  • Durante a espera, a execução recebe o estado A aguardar. Para pausar e alterar o fluxo vale o mesmo que em Atraso

Num teste escolhe você a saída

Uma execução de teste não pode saber se está aberto, o que um colega decide e se um registo existe. Em O que acontece nestes passos? escolhe, por isso, você mesmo a saída de Aberto agora?, No máximo uma vez por período, Procurar um registo, Para cada, Aguardar até, Aguardar um evento e Pedir uma decisão. Em Para cada, o teste segue pela saída que escolher, Para cada ou Concluído, não pelas duas.

O que acontece depois?

  • Uma saída que não ligar faz a execução terminar aí.
  • Num passo de espera, a execução recebe o estado A aguardar e continua mais tarde. Uma automação em pausa pára as execuções em espera assim que o tempo de espera termina.
  • Depois de um tempo de espera, o Tillor lê os dados de novo, para que os passos vejam a situação atual.

Problemas?

Esta página foi útil?

Nesta página