---
title: Gatilho por Data do Contato
description: Dispare um fluxo antes, depois ou exatamente em uma data guardada no contato, na conversa, em um campo personalizado ou em uma data fixa — ideal para aniversários, prazos e datas comemorativas.
---

<NoCard kind="start" categoria="Gatilhos" />

# Gatilho por Data do Contato

<Secao icon="info">Para que serve</Secao>

É um alarme amarrado a uma data que já existe no seu CRM: aniversário do contato, prazo de um processo, vencimento de um plano. Em vez de você (ou um robô de agenda) ficar checando essa data todo dia, o fluxo dispara sozinho quando ela chega — ou um pouco antes, ou um pouco depois, como você configurar.

Esse gatilho não é um bloco novo na paleta: é uma **opção de configuração do próprio nó Start**, dentro do grupo "Gatilhos avançados".

<Secao icon="clock">Quando usar</Secao>

- Mensagem de feliz aniversário no dia do aniversário do contato.
- Lembrete alguns dias **antes** de uma audiência, perícia ou vencimento de contrato.
- Reengajamento um tempo **depois** de uma data de referência (ex.: 30 dias após a última compra).
- Mensagem de Natal, Ano Novo ou aniversário de fundação da empresa para toda a base, numa data fixa que não muda de contato para contato.
- Qualquer rotina amarrada a uma data de contato, conversa ou campo personalizado — não a um horário fixo do calendário (para isso, use o [Trigger Agenda](/guia/flow-builder/gatilhos/agenda)).

<Secao icon="list-checks">Passo a passo</Secao>

<Passos>
  <Passo>Arraste o bloco **Start** para o canvas a partir da categoria **Gatilhos** (todo fluxo já tem um, então normalmente você só precisa abri-lo). <Captura legenda="Painel de busca de blocos aberto no canvas, com as categorias e a lista de nós disponíveis para arrastar" src="/img/flowbuilder-paleta-aberta.png" /></Passo>
  <Passo>Clique no bloco Start para abrir o painel de configuração à direita. <Captura legenda="Painel de configuração do Início, com os campos Quando iniciar, Informações coletadas e Entradas/Saídas de subfluxo" src="/img/node-start-inspector.png" /></Passo>
  <Passo>No campo "Quando iniciar", abra o grupo **Gatilhos avançados** e escolha **Data do contato**.</Passo>
  <Passo>Escolha a origem da data de referência: **Campo do contato** — um campo do contato, da conversa ou um campo personalizado do tipo data/data e hora — ou **Data fixa**, digitando uma data que vale para todos os contatos.</Passo>
  <Passo>Configure o deslocamento (antes/depois/na data), a quantidade e a unidade, o horário do disparo e — se fizer sentido — a repetição anual.</Passo>
  <Passo>Conecte a saída do Start ao próximo bloco do seu fluxo.</Passo>
</Passos>

<Secao icon="sliders-horizontal">Campos</Secao>

| Campo | O que faz |
|-------|-----------|
| Origem da data | **Campo do contato** (padrão) ou **Data fixa** — veja a seção [Data fixa](#data-fixa-mensagem-para-a-base-inteira) abaixo |
| Campo de data | Só aparece com origem **Campo do contato**: a âncora do gatilho — campo do contato, da conversa ou campo personalizado (tipo data ou data e hora) |
| Data | Só aparece com origem **Data fixa**: o dia (e, se quiser, o mês) que serve de âncora |
| Deslocamento | Direção (**na data**, **antes** ou **depois**), quantidade e unidade (minutos, horas, dias, semanas, meses ou **no Tempo do Campo**) em relação à âncora |
| Horário do disparo | **Horário fixo** (padrão `09:00`, igual para todos) ou **Horário de um campo do contato** — veja [Horário por contato](#horario-por-contato) abaixo. Some quando a unidade é **no Tempo do Campo** (o disparo usa a hora já gravada no campo de data) ou quando é **minutos** ou **horas** (essas unidades deslocam o instante exato a partir da data base, sem horário do dia a configurar — o valor anterior é restaurado se você voltar para dias, semanas ou meses) |
| Repetir todo ano | Repete anualmente a partir da âncora — disponível com **Campo do contato** (campos de data, não data e hora) ou com **Data fixa**, sempre com deslocamento em dias, semanas ou meses |
| Quando o dia 29/02 não existe | Só aparece com repetição anual ligada: **28 de fevereiro** (antecipa), **1º de março** (adia) ou **não disparar** (pula o ano) |
| Repetição por contato | Escopo de deduplicação: **uma vez por valor da data**, **uma vez por contato** ou **uma vez por período** |
| Filtros de contato | Condições extras sobre o contato para restringir quem entra no fluxo |
| Fuso horário (Avançado) | Fuso usado para interpretar o horário do disparo (padrão `America/Sao_Paulo`) |
| Canal usado no disparo (Avançado) | Qual canal do contato o fluxo usa ao iniciar: o canal do projeto do fluxo ou qualquer canal do contato |
| Quando houver vários registros (Avançado) | Registro mais recente ou mais antigo, quando a âncora tem múltiplos valores |

<Dica>
Se o **campo de data** escolhido guardar data e hora (ex.: um campo personalizado "Data e Hora da Perícia"), você pode deixar o disparo herdar a hora que já está gravada no próprio campo em vez de configurar um horário fixo: no dropdown de unidade do deslocamento (o mesmo que tem minutos, horas, dias, semanas e meses), escolha **no Tempo do Campo**. Ao selecionar essa unidade, a Direção trava em **na data**, a Quantidade fica desabilitada e o campo "Horário do disparo" some — o fluxo dispara exatamente no horário gravado ali, sem deslocamento. Se o campo for só data (sem hora, ex.: aniversário), essa unidade nem aparece na lista — o único jeito é configurar um horário fixo. E se você trocar o campo de data para um campo sem hora enquanto **no Tempo do Campo** está selecionado, a configuração volta sozinha para dias com horário fixo `09:00`. Essa opção só existe com origem **Campo do contato** — a **Data fixa** não tem um campo de onde herdar hora, então sempre usa o "Horário do disparo" que você configurar.
</Dica>

<Secao icon="clock">Horário por contato</Secao>

Além do horário fixo (o mesmo `09:00` para todo mundo), o "Horário do disparo" aceita **puxar a hora de um campo do contato**. Cada contato passa a disparar no horário dele: quem tem "Horário preferido" às 07:30 recebe às 07:30, quem tem às 14:45 recebe às 14:45, no mesmo gatilho.

É a opção certa quando o horário faz parte do cadastro do cliente — horário preferido de contato, horário da consulta, turno de trabalho.

Como configurar:

1. No painel do Start, em **Horário do disparo**, troque de **Horário fixo** para **Horário de um campo do contato**.
2. Escolha o campo. Só aparecem campos que carregam hora do dia (campo personalizado do tipo **data e hora**, ou campos de data e hora do contato/da conversa). Campos de data pura — como aniversário — não aparecem, porque não têm hora nenhuma para usar.

Pontos importantes:

- **Contato sem esse campo preenchido não dispara.** Ele é pulado e registrado na trilha de ocorrências do gatilho com o motivo "horário não resolvido". A escolha é intencional: chutar um horário padrão mandaria a mensagem na hora errada, e disparar à meia-noite mandaria mensagem de madrugada. Assim que o campo for preenchido, o contato volta a entrar no gatilho normalmente.
- **A prévia avisa que o horário varia.** Em vez de um horário único, ela mostra os próximos disparos com horários diferentes e informa quantos contatos da amostra ficariam de fora por falta do campo — dá para ver o buraco antes de publicar.
- **Não vale com deslocamento em minutos ou horas** (a mesma regra do horário fixo) nem com origem **Data fixa** — a data fixa tem um único disparo para o gatilho inteiro, sem espaço para um horário por contato.

<Secao icon="filter">Filtros de contato</Secao>

Os **filtros de contato** recortam quem entra no fluxo. Cada linha do filtro é uma condição sobre o contato — campo nativo, **Tags** ou campo personalizado — e todas precisam ser verdadeiras ao mesmo tempo (elas se somam, nunca se alternam). Para exigir duas tags, use duas linhas.

Os operadores disponíveis mudam conforme o que você escolhe na primeira coluna:

| Origem do campo | Operadores |
|-----------------|------------|
| Campo do contato (nome, e-mail, cidade, origem...) e campo personalizado de valor único | É igual a, É diferente de, É um de, Não é nenhum de, **Está vazio**, **Não está vazio** |
| Tags | Tem, Não tem, **Não tem nenhuma**, **Tem alguma** |
| Campo personalizado de múltipla escolha | Contém, Não contém, **Está vazio**, **Não está vazio** |

### Filtrar por "tem algum valor"

**Está vazio** e **Não está vazio** perguntam apenas se o campo está preenchido — não pedem valor de comparação nenhum, e o campo de valor some do painel quando você os escolhe. É o operador certo para casos como:

- disparar só para quem **já tem e-mail cadastrado**, sem se importar com qual e-mail é (`Não está vazio`);
- montar um fluxo de complemento de cadastro para quem **ainda não preencheu** um campo personalizado (`Está vazio`);
- separar contatos **sem nenhuma tag** dos já classificados (`Não tem nenhuma`).

O que conta como "vazio" em cada caso:

- **Campo de texto**: sem valor ou preenchido só com espaços.
- **Campo de data**: sem data gravada. Uma data preenchida nunca é "vazia", qualquer que seja o valor.
- **Tags**: o contato não tem tag nenhuma.
- **Múltipla escolha**: nenhuma opção selecionada — inclui o caso de o campo existir com a lista zerada.
- **Campo personalizado nunca preenchido**: conta como vazio, mesmo que o contato jamais tenha tido o campo.

<Dica>
Os dois operadores valem nos **dois** gatilhos de contato — [Data do contato](/guia/flow-builder/gatilhos/data-do-contato) e [Campo do contato alterado](/guia/flow-builder/gatilhos/campo-do-contato-alterado) — porque o construtor de filtros é o mesmo nos dois painéis. Não confunda com a **condição da mudança** do gatilho "Campo do contato alterado" (Ficou vazio / Passou a ter algum valor): aquela olha a *transição* do campo observado, enquanto o filtro olha o *estado atual* do contato.
</Dica>

<Secao icon="calendar-days">Data fixa: mensagem para a base inteira</Secao>

Em vez de amarrar o gatilho a um campo que varia de contato para contato, você pode digitar uma **data fixa** — o mesmo dia (e, se quiser, o mesmo horário) para todos. É a opção certa para datas comemorativas e eventos que não dependem de cada contato: Natal, Ano Novo, aniversário de fundação da empresa, um evento com data marcada.

Com data fixa, os **filtros de contato** continuam funcionando normalmente: quem passa no filtro entra no fluxo, quem não passa fica de fora. A diferença é que, **sem nenhum filtro configurado, o gatilho alcança a base inteira do workspace** — todos os contatos, de uma vez.

<Cuidado>
Um gatilho de data fixa sem filtros dispara para **todos os contatos do workspace**. Antes de publicar um fluxo assim, o painel exige que você marque uma confirmação explícita de que quer mesmo disparar para a base inteira — é a última chance de parar e adicionar um filtro antes de mandar a mensagem para todo mundo. Se a intenção é atingir só uma parte da base (ex.: só quem está em determinada etapa, cidade ou tag), configure o filtro antes de publicar.
</Cuidado>

Por segurança, existe também um **teto de alcance**: se o gatilho alcançaria mais contatos do que esse limite, a publicação é bloqueada e você precisa restringir com filtros para publicar. O valor padrão é 5.000 contatos, mas o teto é configurável pelo time responsável pelo workspace — se você esbarrar nele com frequência, vale conversar com esse time.

Mesmo dentro do teto, o envio para uma base grande não é instantâneo: o disparo é diluído no tempo, a um ritmo de até 1.000 contatos por minuto, continuando nos minutos seguintes até atingir todo mundo que entrou no gatilho. Não é um limite de quantos contatos podem ser alcançados — é o ritmo em que a mensagem sai.

Outros pontos importantes sobre o modo Data fixa:

- **Quem recebe é decidido no momento do disparo.** O fluxo verifica os filtros exatamente quando a data (e o horário) chegam e "congela" essa lista. Um contato cadastrado depois desse momento não entra retroativamente, mesmo que atenda aos filtros.
- **Repetição anual funciona igual à de campo do contato.** Com **Repetir todo ano** ligado, o gatilho dispara todo ano naquela data — ótimo para Natal, Ano Novo ou uma data comemorativa fixa. Cada contato que passa no filtro entra uma vez por ano.
- **Sem repetição anual, a data fixa dispara uma única vez** e o gatilho se encerra depois disso. Ele pertence à publicação do fluxo que estava no ar quando a data chegou: se você republicar o fluxo depois que a data já passou, o gatilho **não** dispara de novo.
- **Deslocamento só em dias, semanas ou meses.** "Antes"/"Depois" funciona com data fixa (ex.: "2 dias antes de 25/12"), mas as unidades **minutos** e **horas** não estão disponíveis nesse modo — só faz sentido pensar em dias antes/depois de uma data fixa, não em minutos ou horas.
- **Data no passado é recusada sem repetição anual.** Se você não marcar repetição anual, a data precisa estar no futuro. Com repetição anual ligada, uma data no passado é aceita normalmente — ela serve só de data-base para calcular o dia e o mês em que o gatilho repete todo ano.
- **29 de fevereiro segue a mesma política de sempre**: se a data fixa cair em 29/02 e o ano corrente não for bissexto, o disparo segue a opção escolhida em "Quando o dia 29/02 não existe" (28 de fevereiro, 1º de março ou pular o ano).

<Secao icon="circle-check">Exemplo</Secao>

Você quer parabenizar cada contato no dia do aniversário, às 9h da manhã:

1. **Start** → gatilho **Data do contato**, campo `contact.birth_date`, deslocamento **na data**, horário `09:00`, **Repetir todo ano** ligado, política de 29/02 em `28 de fevereiro`.
2. **Enviar Mensagem** → "Feliz aniversário, <span v-pre>{{contact.name}}</span>! 🎉"

Para um lembrete de prazo, o mesmo gatilho funciona com deslocamento **antes**: campo `custom_field.prazo_pericia`, 3 dias antes, às 08:00, sem repetição anual.

Para parabenizar cada contato no horário que ele prefere, troque só o "Horário do disparo": campo `contact.birth_date`, deslocamento **na data**, horário **de um campo do contato** apontando para o campo personalizado "Horário preferido", **Repetir todo ano** ligado.

Para mandar uma mensagem de Natal para toda a base, todo ano:

1. **Start** → gatilho **Data do contato**, origem **Data fixa**, data `25/12`, deslocamento **na data**, horário `09:00`, **Repetir todo ano** ligado, sem filtros de contato.
2. Confirme a caixa de "disparo para toda a base" ao publicar.
3. **Enviar Mensagem** → "Feliz Natal, <span v-pre>{{contact.name}}</span>! A equipe agradece por mais um ano juntos."

Para um lembrete de um evento com data marcada, só para quem está inscrito (usando um filtro): origem **Data fixa**, data do evento, deslocamento **antes**, 2 dias, às 08:00, filtro `tag = inscrito-webinar`, sem repetição anual (o evento é único, então o gatilho encerra depois de disparar).

<Dica>
O painel mostra uma prévia em tempo real ("Dispara X dias antes de...") calculada pela API assim que a configuração é válida. Use-a para conferir se o deslocamento e o horário fazem sentido antes de publicar.
</Dica>

<Cuidado>
Campos que mudam com frequência (o painel sinaliza isso) só aceitam o escopo **uma vez por contato** — impede que uma correção no campo dispare o fluxo de novo para quem já recebeu. Esse gatilho nasce **desligado por padrão**: ele só funciona quando o workspace tem a liberação de gatilhos por contato habilitada (fale com o time responsável se a prévia não calcular ou o fluxo publicado não disparar).
</Cuidado>

<Cuidado>
Este gatilho dispara mesmo com a conversa em **atendimento humano** (automação pausada). Diferente do restante dos fluxos de categoria Chat — que respeitam a pausa —, o gatilho por Data do Contato é uma exceção intencional: ele reage a uma data que já chegou, não a uma mensagem do cliente, então não faz sentido travá-lo enquanto um atendente estiver no controle da conversa. Veja a regra completa em [Categoria e automação pausada](/guia/flow-builder/organizacao#categoria-e-automacao-pausada).
</Cuidado>

## Saiba mais

- [Start (Início do fluxo)](/guia/flow-builder/gatilhos/start) — outras formas de iniciar um fluxo
- [Gatilho por Campo do Contato Alterado](/guia/flow-builder/gatilhos/campo-do-contato-alterado) — dispara quando um valor muda, não em uma data futura
- [Trigger Agenda (Agendamento)](/guia/flow-builder/gatilhos/agenda) — para rotinas presas ao calendário, não a um dado do contato
