Skip to content

Calcular datas · date_calc ​

Para que serve

Imagina que o cliente informou a data de nascimento e você precisa saber se ela já passou, há quantos anos aconteceu ou se cai antes de daqui a 30 dias. O Calcular datas lê uma data, compara com outra (ou com hoje) e devolve a diferença em dias, meses e anos, além de respostas prontas como "é antes?", "é no futuro?".

Um mesmo nó pode fazer vários cálculos e, se você quiser, desviar o fluxo conforme o resultado deles, sem precisar de um nó Se/Senão logo depois.

Quando usar
  • Verificar se uma data informada pelo cliente está no futuro ou no passado
  • Descobrir quantos dias, meses ou anos se passaram desde um evento
  • Calcular uma data de referência, como "hoje menos 5 anos" ou "hoje mais 30 dias"
  • Validar se uma data digitada existe de verdade (ex.: 31/02 é recusado)
  • Fazer vários cálculos de datas ao mesmo tempo e seguir por um caminho diferente conforme o resultado

Passo a passo
  1. Certifique-se de ter as datas disponíveis no fluxo, vindas de perguntas ao cliente, de uma API ou de variáveis.
  2. Arraste o nó **Calcular datas** para o canvas e conecte-o à fonte das datas.
  3. Clique no nó e, na seção **Cálculos**, clique em **Adicionar cálculo** para cada conta que você precisa. Dê um **Rótulo** a ele e preencha **Data**, **Comparar com** e **Deslocamento** (veja abaixo).
  4. Confira a frase de resumo de cada cálculo, por exemplo "Data comparada com hoje − 5 anos".
  5. Se quiser que o fluxo siga caminhos diferentes, abra a seção **Condições** e crie um caso para cada situação. Se só precisa dos valores, deixe a seção sem casos.
  6. Salve. As saídas de cada cálculo ficam disponíveis como {{datas.prazo_parto.days}}, {{datas.prazo_parto.is_future}} e assim por diante, com o nome do seu nó no lugar de datas e o id do cálculo no lugar de prazo_parto.
Dica

Nós Calcular datas criados antes desta versão continuam funcionando normalmente, sem nenhum ajuste.


Configurando o nó ​

O painel do nó tem três seções: Cálculos, Condições e Saídas.

Cálculos ​

Os cálculos aparecem em uma lista no formato sanfona: clique em um para abrir e editar, e use Adicionar cálculo para incluir outro. Cada cálculo tem os campos abaixo.

Rótulo e Id ​

CampoO que preencher
RótuloO nome do cálculo para você, como "Prazo do parto"
IdGerado a partir do rótulo. Usa só letras minúsculas, números e _ (por exemplo, prazo_parto). É ele que aparece na referência da saída

Cada cálculo precisa de um id diferente dentro do mesmo nó. Estes nomes são reservados e não podem ser usados como id: valid, iso, formatted, reference_iso, days, months, years, is_before, is_after, is_same e is_future. Também não dá para usar os nomes de escopo de variável: local, flow, conversation, agent, custom_fields, date, event, contact, workspace, sys, env e system.

Data ​

CampoO que preencher
DataA data a ser lida. Digite uma data fixa ou use o botão de variáveis para inserir uma, como {{pergunta_nascimento.resposta}}
Formato da dataDetectar automaticamente, DD/MM/AAAA, AAAA-MM-DD ou MM/DD/AAAA (veja a tabela abaixo)
Formatos aceitos em Detectar automaticamente ​
Exemplo digitadoEntendido como
10/03/202510 de março de 2025
10-03-202510 de março de 2025
10.03.2510 de março de 2025
2025-03-1010 de março de 2025

Se a data estiver em outro formato, escolha o formato específico em Formato da data para não depender da detecção automática.

Comparar com ​

A data usada na comparação. Também aceita variáveis. Se ficar vazio, a comparação é com hoje, no fuso horário do workspace.

Deslocamento ​

CampoO que preencher
QuantidadeQuanto somar à data de Comparar com. Use número negativo para subtrair, como -5
UnidadeDias, meses ou anos

Logo abaixo, o painel mostra uma frase de resumo que se atualiza enquanto você digita:

ConfiguraçãoFrase
Comparar com vazio, Quantidade 0Data comparada com hoje
Comparar com vazio, Quantidade -5, anosData comparada com hoje − 5 anos
Comparar com {{pergunta_parto.resposta}}, Quantidade -280, diasData comparada com {{pergunta_parto.resposta}} − 280 dias

Condições ​

Por padrão, o nó tem uma saída só e apenas devolve os valores dos cálculos. A seção Condições deixa o próprio nó escolher o caminho, no mesmo estilo do Se/Senão.

  • Clique em Adicionar caso para criar o primeiro (IF) e em + ELIF para os seguintes. Cada caso tem condições sobre as saídas dos seus cálculos, escolhidas numa lista fechada. Nas saídas de sim/não (valid, is_before...) o valor é true ou false. Combine-as com E (todas precisam ser verdadeiras) ou OU (basta uma).
  • Cada caso vira uma saída no card do nó, e você liga cada saída ao caminho que quiser.
  • Existe também a saída Senão (ELSE no card), usada quando nenhum caso bate.
  • O primeiro caso que bate decide. Os seguintes são ignorados.
  • Sem nenhum caso, o nó tem uma saída só.

Exemplos de condições:

CondiçãoLeitura
"Prazo do parto › é antes" igual a trueA data do cálculo "Prazo do parto" é anterior à data de comparação
"Saída do emprego › dias" maior que 30A diferença do cálculo "Saída do emprego" passa de 30 dias

Saídas ​

Cada cálculo vira uma saída do nó, com os campos abaixo. Todos eles são lidos pelo id do cálculo.

SaídaO que traz
validtrue se a data é válida, false se não existe (ex.: 31/02)
isoA data informada, no formato AAAA-MM-DD
formattedA data informada, formatada para exibição
reference_isoA data de comparação usada (a de Comparar com, ou hoje, já somada ao deslocamento)
daysDiferença em dias entre as duas datas
monthsDiferença em meses entre as duas datas
yearsDiferença em anos entre as duas datas
is_beforetrue se a data informada é anterior à de comparação
is_aftertrue se a data informada é posterior à de comparação
is_sametrue se as duas datas são iguais
is_futuretrue se a data informada está no futuro, sempre comparada com hoje

Para usar uma saída em outro nó, referencie-a pelo nome do nó e pelo id do cálculo: {{nome_do_no.id_do_calculo.is_before}}. Por exemplo, em um nó chamado "Datas" com o cálculo prazo_parto, a referência é {{datas.prazo_parto.is_before}}. Se você renomear o nó para "Idade do cliente" e o cálculo se chamar idade, a referência vira {{idade_do_cliente.idade.years}}.


Comportamento ​

  • Data inválida não para o fluxo. Se a data não existir (ex.: 31/02), a saída valid vem como false e o fluxo segue. Trate esse caso com um caso na seção Condições (valid igual a false) ou com um nó Se/Senão (condição) logo depois.
  • Ano com 2 dígitos: 25 vira 2025 e 98 vira 1998.
  • Soma de meses e anos: somar 1 mês a 31/01 resulta no último dia de fevereiro (28 ou 29, conforme o ano).

Exemplos

a) A data informada está no futuro?

  1. Calcular datas: um cálculo com Data = resposta do cliente. Comparar com = vazio (hoje). Sem casos na seção Condições.
  2. Se/Senão (condição): is_future igual a true.

Se preferir, dispense o Se/Senão: crie o caso IF "É no futuro" igual a true no próprio nó e ligue a saída dele ao caminho desejado.

b) O evento aconteceu há mais de 5 anos?

Um nó só, sem Se/Senão depois:

  1. Cálculos: um cálculo com id prazo. Data = data do evento. Comparar com = vazio (hoje). Deslocamento = -5 anos. A frase do painel fica "Data comparada com hoje − 5 anos".
  2. Condições: caso IF "Prazo › é antes" igual a true, ligado ao caminho "prazo vencido". A saída Senão segue o fluxo normal.

A data de comparação passa a ser "hoje menos 5 anos". Se a data do evento for anterior a ela, então o evento aconteceu há mais de 5 anos e o fluxo vai para "prazo vencido".

c) Dois cálculos no mesmo nó

Imagine um fluxo que pergunta a data do parto e a data de saída do emprego do cliente. Em um único nó Calcular datas:

  1. Cálculo 1, rótulo "Prazo do parto" (id prazo_parto): Data = data do parto. Comparar com = vazio (hoje). Deslocamento = -5 anos. A frase fica "Data comparada com hoje − 5 anos".
  2. Cálculo 2, rótulo "Saída do emprego" (id saida_emprego): Data = data de saída do emprego. Comparar com = data do parto. Deslocamento = -280 dias. A frase fica "Data comparada com a data do parto − 280 dias".
  3. IF: "Prazo do parto › é antes" igual a true, ligado ao caminho "prazo vencido".
  4. ELIF: "Saída do emprego › dias" maior que 30, ligado ao caminho "revisar com atendente".
  5. Senão: segue o fluxo normal.

As saídas ficam disponíveis como {{datas.prazo_parto.is_before}} e {{datas.saida_emprego.days}} para qualquer nó seguinte.

Dica

Antes de usar days, months ou years numa condição, confirme que valid é true. Coloque um caso com valid igual a false no topo da lista de casos para tratar a data inválida primeiro.


Saiba mais ​