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_fieldno campobirthday. - "30 dias após criação do lead, mandar follow-up" →
date_fieldem 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):
- Busca automações ativas com
trigger_type='date_field'. - 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.
- Busca leads que batem com a data.
- 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): formatoHH: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 cujosend_timejá 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
birthdaye 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
birthdaypopulado. - 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
- Pra criar templates HSM, veja Templates HSM.
- Pra entender outros gatilhos, veja Gatilhos disponíveis.