Tema
Calcular datas · date_calc
Referência do nó
Kind
date_calcCategoriaDadosPara 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
- Certifique-se de ter as datas disponíveis no fluxo, vindas de perguntas ao cliente, de uma API ou de variáveis.
- Arraste o nó **Calcular datas** para o canvas e conecte-o à fonte das datas.
- 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).
- Confira a frase de resumo de cada cálculo, por exemplo "Data comparada com hoje − 5 anos".
- 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.
- 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 dedatase o id do cálculo no lugar deprazo_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
| Campo | O que preencher |
|---|---|
| Rótulo | O nome do cálculo para você, como "Prazo do parto" |
| Id | Gerado 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
| Campo | O que preencher |
|---|---|
| Data | A 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 data | Detectar automaticamente, DD/MM/AAAA, AAAA-MM-DD ou MM/DD/AAAA (veja a tabela abaixo) |
Formatos aceitos em Detectar automaticamente
| Exemplo digitado | Entendido como |
|---|---|
| 10/03/2025 | 10 de março de 2025 |
| 10-03-2025 | 10 de março de 2025 |
| 10.03.25 | 10 de março de 2025 |
| 2025-03-10 | 10 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
| Campo | O que preencher |
|---|---|
| Quantidade | Quanto somar à data de Comparar com. Use número negativo para subtrair, como -5 |
| Unidade | Dias, meses ou anos |
Logo abaixo, o painel mostra uma frase de resumo que se atualiza enquanto você digita:
| Configuração | Frase |
|---|---|
| Comparar com vazio, Quantidade 0 | Data comparada com hoje |
| Comparar com vazio, Quantidade -5, anos | Data comparada com hoje − 5 anos |
Comparar com {{pergunta_parto.resposta}}, Quantidade -280, dias | Data 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 étrueoufalse. 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ção | Leitura |
|---|---|
"Prazo do parto › é antes" igual a true | A data do cálculo "Prazo do parto" é anterior à data de comparação |
| "Saída do emprego › dias" maior que 30 | A diferença do cálculo "Saída do emprego" passa de 30 dias |
Atenção
A ordem dos casos importa. Como o primeiro que bate decide, coloque os casos mais específicos primeiro e os mais genéricos por último.
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ída | O que traz |
|---|---|
valid | true se a data é válida, false se não existe (ex.: 31/02) |
iso | A data informada, no formato AAAA-MM-DD |
formatted | A data informada, formatada para exibição |
reference_iso | A data de comparação usada (a de Comparar com, ou hoje, já somada ao deslocamento) |
days | Diferença em dias entre as duas datas |
months | Diferença em meses entre as duas datas |
years | Diferença em anos entre as duas datas |
is_before | true se a data informada é anterior à de comparação |
is_after | true se a data informada é posterior à de comparação |
is_same | true se as duas datas são iguais |
is_future | true se a data informada está no futuro, sempre comparada com hoje |
Atenção
days, months e years são sempre positivos: é a diferença absoluta entre as datas. Para saber a direção, use is_before, is_after ou is_future.
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
validvem comofalsee o fluxo segue. Trate esse caso com um caso na seção Condições (validigual afalse) ou com um nó Se/Senão (condição) logo depois. - Ano com 2 dígitos:
25vira 2025 e98vira 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?
- Calcular datas: um cálculo com Data = resposta do cliente. Comparar com = vazio (hoje). Sem casos na seção Condições.
- Se/Senão (condição):
is_futureigual atrue.
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:
- Cálculos: um cálculo com id
prazo. Data = data do evento. Comparar com = vazio (hoje). Deslocamento =-5anos. A frase do painel fica "Data comparada com hoje − 5 anos". - 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:
- Cálculo 1, rótulo "Prazo do parto" (id
prazo_parto): Data = data do parto. Comparar com = vazio (hoje). Deslocamento =-5anos. A frase fica "Data comparada com hoje − 5 anos". - 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 =-280dias. A frase fica "Data comparada com a data do parto − 280 dias". - IF: "Prazo do parto › é antes" igual a
true, ligado ao caminho "prazo vencido". - ELIF: "Saída do emprego › dias" maior que 30, ligado ao caminho "revisar com atendente".
- 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
- Se / Senão (condição) — decida o caminho do fluxo com base em outras informações
- Tabela de decisão — classifique o cliente combinando várias respostas
- Atribuir Variável — guarde o resultado para usar mais adiante
