SyncroCentral de Ajuda
No results found
Acessar Syncro

Automações por data (aniversário, etc)

Updated on April 30, 2026

Automações por data são as que disparam em datas específicas, não em eventos do sistema. Os 2 tipos disponíveis no Syncro:

  • date_field — dispara baseado em campo de data do lead (aniversário, data de contrato, X dias após criação).
  • recurring — dispara em frequência regular (todo dia 1, toda segunda às 9h, etc).

Esses gatilhos rodam via cron diário às 8h da manhã (no fuso do tenant). Diferente de gatilhos baseados em eventos (que disparam na hora), esses são agendados.

Casos de uso

  • "Mandar feliz aniversário no dia"date_field no campo birthday.
  • "30 dias após criação do lead, mandar follow-up"date_field em campo customizado de data.
  • "Todo dia 1 do mês, criar tarefa pra cada vendedor revisar pipeline"recurring.
  • "Toda sexta às 17h, enviar webhook com leads novos da semana"recurring.

Trigger date_field

Configuração

Ao escolher esse gatilho:

  • Campo de data (date_field):
  • Aniversário (birthday) — campo nativo do lead.
  • Custom field tipo data (cf:42) — qualquer campo personalizado de data que você criou.
  • Dias de antecedência (days_before):
  • 0 = no próprio dia.
  • 7 = 7 dias antes.
  • -3 = 3 dias depois (raro, mas suportado).
  • Repetir anualmente (repeat_yearly):
  • Marque true pra aniversários (compara mês+dia, ignora ano).
  • Marque false pra datas únicas (compara data exata).

Como funciona

Cron diário às 08:00 (no timezone do tenant):

  1. Busca automações ativas com trigger_type='date_field'.
  2. Pra cada uma:
  • Calcula data alvo: today + days_before.
  • Se repeat_yearly=true: compara mês+dia (ignora ano) com o campo do lead.
  • Se repeat_yearly=false: compara data exata.
  1. Busca leads que batem com a data.
  2. Pra cada lead, dispara automação (executa as ações configuradas).

Exemplo: Aniversário do lead

Trigger: date_field
 date_field: birthday
 days_before: 0
 repeat_yearly: true

Action: send_whatsapp_template
 template_id: 12 (template "feliz_aniversario")

Resultado: dia que é aniversário do João, sistema manda template de parabéns. Mesma coisa todo ano.

Exemplo: Lembrete de renovação 7 dias antes

Custom field criado: contrato_renovacao (tipo: date)

Trigger: date_field
 date_field: cf:contrato_renovacao
 days_before: 7
 repeat_yearly: false

Action:
 - send_whatsapp_message: "{{lead.name}}, seu contrato vence em 7 dias..."
 - create_task: "Ligar pra negociar renovação"

Resultado: 7 dias antes da data de renovação cadastrada, sistema notifica.

Variáveis disponíveis

Em ações desse gatilho, você pode usar:

  • {{birthday}} — data formatada (ex: 15/05).
  • {{days_until}} — dias de antecedência configurados.
  • {{custom_field_label}} — label do campo (ex: "Aniversário", "Data de renovação").

Exemplo de mensagem:

"Olá {{lead.name}}! Seu {{custom_field_label}} é em {{days_until}} dias ({{birthday}}). Vamos conversar pra renovar?"

Cuidados com repeat_yearly

  • repeat_yearly=true: ideal pra aniversários ou datas anuais (renovação de contrato anual, dia da empresa).
  • repeat_yearly=false: pra datas únicas (data específica do contrato, evento único).

Se você marca true em data única, dispara todo ano mesmo após contrato expirado. Cuidado.

Trigger recurring

Configuração

  • Tipo de recorrência (recurrence_type):
  • Semanal (weekly)
  • Mensal (monthly)
  • Dias da semana ou mês:
  • Semanal: array [1, 3, 5] (segunda, quarta, sexta).
  • Mensal: dias específicos do mês ([1, 15] — dia 1 e dia 15).
  • Horário de envio (send_time): formato HH:MM (ex: 09:00).

Como funciona

Cron diário verifica:

  • Hoje é dia válido conforme recurrence_type + month_days?
  • Já passou da hora send_time?
  • Se sim e ainda não rodou hoje, executa.

Exemplo: Toda segunda às 9h, criar tarefa pra todos os vendedores

Trigger: recurring
 recurrence_type: weekly
 days: [1] (segunda)
 send_time: "09:00"

Action:
 - create_task (pra cada user): "Revisar pipeline da semana" (priority: high, due: hoje)

⚠️ Atenção: nem toda implementação suporta criar 1 tarefa por user. Pode ser necessário 1 automação por vendedor ou 1 tarefa única atribuída a todos.

Exemplo: Todo dia 1 do mês, enviar webhook

Trigger: recurring
 recurrence_type: monthly
 month_days: [1]
 send_time: "08:00"

Action: send_webhook
 URL: https://relatorios.empresa.com/mensal
 Body: { "month": "{{system.now_iso}}", "tenant": "{{tenant.name}}" }

Útil pra disparos de relatórios mensais ou fechamento contábil.

Cron — quando exatamente roda

O comando interno é automations:process-date-triggers:

  • Frequência: 1× por dia.
  • Horário típico: 08:00 no fuso do tenant.
  • Pode haver atraso de poucos minutos (depende da fila do sistema).

💡 Dica: se você quer mensagem exatamente às 9:30, configure send_time=09:30. O cron roda às 8h, mas processa só os triggers cujo send_time já passou.

Limitações conhecidas

Sem horário customizado pra date_field

Triggers date_field rodam uma vez por dia, no horário do cron. Não dá pra dizer "manda às 14h". Sempre é cedinho da manhã.

Sem condições granulares no recurring

Recurring não suporta condições por lead facilmente — ele é mais usado pra ações globais (1 tarefa única, 1 webhook, etc), não por lead.

Múltiplas automações por dia

Se 5 leads fazem aniversário no mesmo dia, sistema dispara 5 vezes a mesma automação (1 por lead) — comportamento correto.

Janela 24h pra Cloud API

Em automações por data com WhatsApp Cloud API, a janela de 24h pode estar fechada (cliente não respondeu há semanas). Solução:

  • Use template HSM como ação principal (send_whatsapp_template).
  • Configure fallback template em send_whatsapp_message.

Boas práticas

1. Use templates HSM pra aniversários

Cliente raramente conversa com você todo dia. Janela 24h estará fechada na maioria dos aniversários. Crie template HSM "feliz_aniversario" e use ele.

2. Combine com filtro de tag

Pra evitar mandar pra todos os leads (incluindo perdidos antigos):

  • Adicione condição: lead_tag contains "cliente-ativo".
  • Ou: filtro de pipeline específico no trigger_config.

3. Cuidado com data nula

Se cliente não tem aniversário cadastrado (birthday=null), gatilho não dispara pra ele. Garanta que dados estão populados.

💡 Dica: use extract_lead_data IA pra preencher aniversário a partir de conversa.

4. Teste antes de ativar pra todos

  • Crie automação com birthday e tag de teste.
  • Cadastre lead com aniversário hoje e tag de teste.
  • No próximo cron (8h), veja se disparou.
  • Depois remova condição de teste e ative geral.

Verificar se cron rodou

Cada execução cria evento na timeline do lead afetado. Se nada aconteceu:

  • Verifique se há leads com birthday populado.
  • Verifique se a automação está ativa.
  • Verifique se data bate com hoje (incluindo days_before).
  • Aguarde até o próximo cron (geralmente 24h).

Pra debug detalhado, contate suporte com timing exato.

Próximos passos

Artigos relacionados