n8n

Anti-duplicidade: como o robô não manda a mesma mensagem duas vezes

Um fluxo vê o mesmo evento dezenas de vezes antes da consulta. A solução é uma chave única por evento, gravada depois do envio confirmado.

Publicado em 29/09/20262 min de leituran8n · WhatsApp · Agenda

Um fluxo que roda a cada 30 minutos vê o mesmo evento da agenda dezenas de vezes antes da consulta. Um fluxo de cobrança vê a mesma fatura todo dia. Sem uma memória do que já foi feito, cada execução mandaria a mensagem de novo. A solução é uma chave única por evento.

A chave identifica a mensagem, não o destinatário: lembrete:{id_do_evento}:{inicio}, cobranca:{id_da_cobranca}:{etapa}. Antes de enviar, o fluxo pergunta a tn_enviados se a chave existe. Se existe, pula. Se não, envia e grava.

A ordem importa. Os templates TN gravam depois do envio confirmado. Se o envio foi descartado (fora da janela, PARE, telefone inválido) ou falhou, a chave não é gravada e a próxima execução tenta de novo. O risco do outro lado (enviou, mas a gravação falhou em seguida) existe, mas é raro e gera um erro visível no Alerta de erro, e uma mensagem repetida uma vez é menos grave do que um lembrete que nunca sai.

Detalhes:

  • Remarcou a consulta? O Google Agenda mantém o ID do evento quando você arrasta para outro dia. Por isso a chave do lembrete inclui a data e hora de início: evento movido é um lembrete novo, para a nova data.
  • Reenviou o formulário do site duas vezes? A chave do lead é o telefone dentro de uma janela de horas; a boas-vindas sai uma vez.
  • Restaurou um backup antigo? As chaves gravadas depois do backup se perdem, e o que foi enviado nesse intervalo pode sair de novo. Restauração pede modo teste ligado por um dia.

Quer isso rodando na sua clínica sem montar do zero?