- A automação “boa” não é criar evento: é impedir conflito de horário antes de criar.
- Checagem de disponibilidade precisa considerar duração, buffers e timezone do cliente/negócio.
- Confirmação por WhatsApp deve incluir: data/hora, endereço/link, política de atraso e opção de remarcar.
- Registre um ID único (eventId) para reagendar/cancelar sem duplicar eventos.
1) Defina a regra de agenda (antes do n8n)
Padronize a agenda que vai receber os atendimentos (ex.: “Atendimentos”), duração padrão (30/45/60 min), e buffers (ex.: +10 min antes/depois). Decida horários de trabalho e bloqueios (almoço, feriados). Se você não cravar isso, o n8n só automatiza confusão.
2) Capture o pedido de agendamento com dados mínimos
Entrada típica: nome, serviço, melhor dia/horário (ou intervalo), e telefone. Se vier do WhatsApp, normalize: converta “amanhã 15h” para data/hora no timezone do negócio. Guarde o telefone em formato consistente e crie um identificador do pedido (requestId).
3) Converta a intenção em uma janela de busca (e não só um horário)
Em vez de pedir “terça 15:00” e tentar enfiar no calendário, transforme em janela: por exemplo, 14:00–17:00. Isso dá margem para encontrar o primeiro slot livre e reduz troca de mensagens. Se a pessoa só puder um horário fixo, a janela vira exatamente aquele intervalo.
4) Cheque disponibilidade na Google Agenda (o coração do fluxo)
No n8n, consulte eventos no intervalo desejado e detecte conflito. O conflito não é só “evento no mesmo horário”: considere duração do serviço + buffers. Se houver choque, sugira 2–3 alternativas (ex.: próximos horários livres na mesma janela ou no dia seguinte).
5) Se não houver conflito, crie o evento com dados rastreáveis
Crie o evento na agenda com: título padronizado (ex.: “Consulta – Nome”), descrição com telefone/serviço/requestId, e (quando fizer sentido) convidado. Salve o eventId retornado. Esse ID é o que permite confirmar, reagendar e cancelar sem criar duplicatas.
6) Confirme por WhatsApp com mensagem curta e operacional
Envie confirmação contendo: data e hora (com dia da semana), local (endereço) ou link, nome do profissional (se houver), e botões/opções de “Confirmar”, “Remarcar”, “Cancelar”. Mesmo sem botões, padronize palavras-chave (CONFIRMAR/REMARCAR/CANCELAR) para o n8n ler com segurança.
7) Faça dupla checagem antes de “travar” a confirmação
Quando o cliente responder “CONFIRMAR”, revalide rapidamente se o slot ainda está livre (principalmente se existe mais de um canal agendando: recepção, site, marketplace). Se ainda ok, marque como confirmado (ex.: atualizar descrição/label) e registre o status no seu banco/planilha.
8) Rotina de lembretes e no-show (sem excesso)
Agende lembretes automáticos (ex.: 24h e 2h antes) e uma mensagem pós-atendimento (avaliação/retorno) se fizer sentido. O ponto aqui é equilíbrio: lembrete demais vira ruído; lembrete de menos vira falta.
Por que “criar evento” é a parte fácil (e a parte perigosa)
Muita automação de agenda morre num erro básico: o fluxo cria o evento na Google Agenda e só depois “vê se deu”. Na prática, isso é pedir para dar overbooking quando existem múltiplas fontes agendando (WhatsApp + recepção + formulário + indicação).
O cliente que chega e não é atendido vira uma história ruim que ele conta para outras pessoas. Um horário vazio dói no caixa; um atendimento furado dói na reputação. Por isso a verificação de disponibilidade é o tijolo que sustenta metade das automações de serviço.
Arquitetura do fluxo (visão de bloco) que funciona no Brasil
Você pode implementar de formas diferentes, mas a espinha dorsal é quase sempre a mesma: entrada do pedido → normalização → checagem de conflitos → criação do evento → confirmação por WhatsApp → status e lembretes.
Abaixo, um mapa rápido do que cada etapa precisa decidir (e onde muita gente escorrega).
| Etapa | Objetivo | Erro comum | Como evitar |
|---|---|---|---|
| Normalização | Transformar texto em data/hora e fuso | Salvar 15h sem data, ou usar timezone errado | Fixar timezone do negócio e converter a entrada |
| Janela de busca | Encontrar slot viável | Tratar tudo como horário único | Trabalhar com intervalos e alternativas |
| Checagem de conflito | Garantir que o slot comporta duração + buffer | Checar só se existe evento no mesmo minuto | Calcular sobreposição real do intervalo |
| Criação do evento | Registrar com rastreabilidade | Criar eventos duplicados | Guardar eventId e requestId |
| Confirmação WhatsApp | Fechar o combinado com o cliente | Mensagem longa e ambígua | Template curto + palavras-chave/ações |
Como checar conflito de horário do jeito certo (sem depender de sorte)
Conflito não é só “tem outro evento naquele horário”. Conflito é qualquer sobreposição entre (início pretendido − bufferAntes) e (fim pretendido + bufferDepois) com eventos já existentes.
Na prática, trate o agendamento como um intervalo fechado. Se o serviço é 60 minutos e você precisa de 10 minutos de respiro, seu bloco ocupa 80 minutos. É isso que você deve comparar com a agenda.
- Defina durationMin (ex.: 60) e buffers (ex.: 10/10).
- Calcule start e end (end = start + durationMin).
- Crie um intervalo expandido: checkStart = start − bufferAntes; checkEnd = end + bufferDepois.
- Busque eventos existentes entre checkStart e checkEnd.
- Se retornar qualquer evento sobreposto, o slot não é válido.
Confirmar por WhatsApp sem virar um “telefone sem fio”
A confirmação por WhatsApp é onde a automação deixa de ser TI e vira operação. Se a mensagem não for óbvia, o cliente responde qualquer coisa e você volta para o improviso.
Um modelo que costuma funcionar é: 1) resumo do que foi marcado, 2) instrução única de resposta, 3) escape claro para remarcar.
- Inclua: dia da semana + data + hora (ex.: “Qua, 12/09 às 15:00”).
- Inclua local (endereço) ou link (Google Meet/Zoom) e ponto de referência quando presencial.
- Padronize resposta: “Responda CONFIRMAR, REMARCAR ou CANCELAR”.
- Se houver pagamento antecipado/sinal, diga de forma direta e curta (sem texto jurídico).
Checklist de robustez (coisas pequenas que evitam desastre)
Os bugs mais caros são os chatos: duplicar evento, confirmar horário que já mudou, marcar no fuso errado. Este checklist é o que eu reviso quando um fluxo começa a “dar um erro aqui e ali”.
- Timezone fixo do negócio (e conversão explícita quando a entrada vem de outra região).
- eventId salvo e usado em qualquer atualização/cancelamento.
- Idempotência: se o mesmo requestId chegar duas vezes, não criar dois eventos.
- Bloqueios na agenda (férias/feriados/almoço) tratados como indisponibilidade real.
- Revalidação antes do CONFIRMAR (segunda checagem rápida).
Perguntas frequentes
Dá para fazer agendamento automático no n8n sem criar overbooking?
Como sugerir horários alternativos quando o horário pedido está ocupado?
Preciso convidar o cliente no evento do Google Calendar?
Qual o erro mais comum em automação de Google Agenda com n8n?
Leia também
Como automatizar respostas no WhatsApp com n8n (passo a passo)
Como automatizar o WhatsApp com n8n e a Evolution API: receber a mensagem por webhook, responder sozinho e plugar IA. Passo a passo em português, sem tomar ban e sem custo de API oficial.
Ler →
Como enviar mensagem automática no WhatsApp sem ser bloqueado (guia 2026)
O passo a passo para automatizar mensagens no WhatsApp sem tomar bloqueio em 2026: API oficial, aquecimento de número, taxa de denúncia e os erros que derrubam a conta.
Ler →
Webhook
Entenda o que é webhook, como funciona na prática e como usar no n8n e Make para criar automações em tempo real sem precisar saber programar.
Ler →
Automação para salão e barbearia: agendamento e lembrete no WhatsApp sem app caro
Como montar agendamento e lembrete automático no WhatsApp para salão e barbearia usando ferramenta gratuita + n8n/Make, sem pagar app caro. Fluxo simples: confirmar, lembrar e liberar horário cancelado.
Ler →