O gatilho decide quando seu chatbot acorda e responde. Sem trigger configurado, o fluxo fica dormente — bot existe mas nunca executa. O Syncro tem 2 tipos de gatilho: keyword (palavra-chave em DM) e instagram_comment (resposta a comentário em post). Mais a opção catch-all que serve de fallback. Esse artigo explica cada um.
Pré-requisitos
- Fluxo já criado. Veja Criar fluxo de chatbot.
Gatilho 1 — Keyword (palavra-chave)
Como funciona
Quando uma mensagem chega, sistema:
- Pega o texto da mensagem (lowercase).
- Busca fluxos ativos com keyword que bate.
- Se encontra: dispara o fluxo no nó de start.
- Bate case-insensitive (não diferencia maiúsculas).
- Bate por substring (mensagem "oi pessoal, quero saber preço" bate keywords
oi,preço).
Configurar keywords
- Em
/chatbot/fluxos, edite o fluxo. - Campo Trigger keywords: digite palavras separadas por vírgula.
oi, olá, bom dia, menu, preço, info
- Cada palavra vira um chip removível no UI.
- Salve.
Boas práticas de keywords
✅ Use palavras únicas e diretas
- ✅
quero,info,agendar,cupom,preço. - ❌
legal,bom,ok— disparam pra qualquer comentário casual.
✅ Cubra variações de escrita
Português é flexível — cubra:
oi,oie,oii,oiii.olá,ola.bom dia,bdia,bd.
✅ Inclua typos comuns
preço,preco,presso.agendar,agenda.
✅ Cubra frases inteiras, não só palavras
Como o match é por substring, mensagem "qual o preço?" bate keyword preço. Mas mensagem "quero comprar" não bate preço. Adicione comprar, valor, quanto custa.
❌ Evite palavras genéricas
Cada keyword é substring match. Palavras curtas ou comuns disparam pra qualquer coisa:
- ❌
o,e,a— disparam em todas frases. - ❌
que,como,por que— palavras vazias.
Exemplos práticos
Cenário 1 — FAQ Suporte
horário, horario, atendimento, funcionamento
preço, preco, valor, quanto, custa
endereço, endereco, localização, onde
Cenário 2 — Captura de Lead
quero, interessado, mais info, contato, falar com
Cenário 3 — Promoção sazonal
black friday, blackfriday, bf, cupom, desconto
Gatilho 2 — Comentário Instagram
Como funciona
Quando alguém comenta em post seu, sistema:
- Webhook do Meta chega (
commentsfield). - Busca fluxo com
trigger_type='instagram_comment'. - Se
trigger_media_idpreenchido: só dispara naquele post específico. - Se vazio: dispara em qualquer post.
- Sistema comenta de volta publicamente (se
trigger_reply_commentconfigurado): "Olha sua DM 📩". - Manda DM via Private Reply (1ª mensagem) abrindo a janela.
- Roda chatbot a partir do start node.
Veja Private Reply explicado pra detalhes técnicos.
Configurar
- Edite o fluxo Instagram.
- Tipo de gatilho: mude pra Comentário Instagram.
- Post selecionado (opcional): dropdown lista posts/reels recentes da conta.
- Se escolher um: só dispara nesse post.
- Se deixar vazio: dispara em todos.
- Comentário automático (
trigger_reply_comment) (opcional): o que o bot responde publicamente ao comentário.
- Ex: "Olha o Direct! 📩", "Te mandei lá 💌".
- Curto + emoji é melhor — comentário público longo polui.
- Sem emoji é OK também.
- Palavras-chave do comentário (
trigger_keywords): só dispara se comentário contém uma dessas.
- Vazio = qualquer comentário dispara.
- Preenchido = filtra.
- Salve.
Casos de uso
Lead magnet
Post: "Comente MATERIAL pra receber o ebook 👇".
Configurar:
trigger_keywords:material, MATERIAL, materia.trigger_reply_comment:Olha o Direct, te mandei o link! 📩.- Fluxo: nó de mensagem com link + botão "Acessar agora".
Black Friday
Post: "Comente CUPOM pra ganhar 10%".
trigger_keywords:cupom, CUPOM, descon.trigger_reply_comment:Mandei lá 🎁.- Fluxo: cupom + CTA pra comprar.
Diagnóstico
Post: "Comente AGENDA pra marcar consulta gratuita".
trigger_keywords:agenda, AGENDA, agendar.trigger_reply_comment:Te mando os horários no Direct 💬.- Fluxo: pergunta horário + tipo de consulta.
Limitações Instagram comment
- ❌ Apenas posts feed — não funciona em stories.
- ❌ Vídeos ao vivo podem ter delay grande na detecção.
- ❌ Cliente sem DM aberto — Private Reply abre janela só uma vez por post.
- ⚠️ Cliente que comenta DEVE ter conta Instagram pública ou seguir você (caso contrário Meta pode bloquear DM).
Catch-all (fallback)
Quando usar
Se o cliente manda mensagem que não bate em nenhuma keyword dos fluxos cadastrados, e você quer alguma resposta (mesmo genérica), ative catch-all.
Como configurar
- Edite um fluxo (qualquer canal).
- Marque toggle Catch-all.
- Salve.
Apenas 1 fluxo por tenant pode ser catch-all. Se você marcar um novo, o antigo é desativado automaticamente.
Exemplo de fluxo catch-all
Mensagem padrão genérica:
Olá! 👋 Não consegui entender sua mensagem.
Posso ajudar com:
1. Preços
2. Agendamento
3. Falar com humano
Digite o número da opção ou "humano".
Cliente responde → bot processa via input node → encaminha pro destino certo.
💡 Dica: catch-all serve como rede de segurança. Garante que toda mensagem é respondida, mesmo que mal. Sem ele, cliente fica esperando sem resposta automática.
Multi-instância WhatsApp
Cenário
Você tem 2 números WhatsApp:
- Vendas (instance #1) — fluxo de qualificação.
- Suporte (instance #2) — FAQ + tickets.
Se ambos compartilham keyword preço, sem multi-instância dispararia o mesmo fluxo nos 2 números (errado).
Como configurar
- Edite o fluxo de vendas.
- Campo Instância WhatsApp: escolha Vendas (#1).
- Edite o fluxo de suporte.
- Campo Instância WhatsApp: escolha Suporte (#2).
- Salve.
Agora cada fluxo só dispara na sua instância.
Default = Todas
Se você deixar vazio (whatsapp_instance_id = NULL), fluxo dispara em qualquer instância do tenant. Útil quando:
- Você só tem 1 instância.
- Quer fluxo unificado.
Ordem de prioridade
Quando uma mensagem chega no WhatsApp, sistema avalia fluxos nessa ordem:
- Fluxos com keyword + instância match (mais específico).
- Fluxos com keyword sem instância (geral).
- Catch-all (último recurso).
O primeiro que bate é executado. Os outros não disparam.
💡 Dica: pra garantir que fluxo específico dispara antes do catch-all, use keywords claras. Sistema prioriza match exato sobre fallback.
Status do fluxo
Pra fluxo disparar, precisa de 3 condições:
- ✅
is_active = true. - ✅ Trigger configurado (keyword OU instagram_comment OU catch-all).
- ✅ Pelo menos 1 nó de start no fluxo.
Se faltar alguma, sistema não dispara silenciosamente. Verifique em /chatbot/fluxos:
- Toggle ativo na linha?
- Keywords listadas?
- Builder não vazio?
Erros comuns
"Cliente comentou mas chatbot não disparou"
Possíveis causas:
- Tipo de gatilho não é "Comentário Instagram" — verifique config.
- Post específico configurado mas o cliente comentou em outro post — confira
trigger_media_id. - Keywords filtradas — comentário não contém nenhuma — confira keywords.
- Fluxo inativo — toggle off.
- Comentário em story — não é suportado, só feed.
"Mensagem entrou mas chatbot ignorou (canal WhatsApp)"
- Verifica se mensagem contém keyword (use lowercase).
- Verifica
whatsapp_instance_id— se setado pra instância A, mensagens da B passam direto. - Confirme que conversa não tem ai_agent_id já atribuído (mutual exclusion). Se IA assumiu, bot não dispara.
- Confirme que conversa não tem chatbot_flow_id já em andamento (1 fluxo por vez).
"Catch-all dispara muito"
Catch-all dispara em toda mensagem que não bate em outro fluxo. Se você tem só catch-all e nenhum fluxo específico, toda mensagem vai pra ele. Adicione fluxos específicos pra reduzir.
"Múltiplos fluxos com keywords sobrepostas"
Sistema dispara o primeiro que bate (ordem por id ou específicidade). Se tem 2 fluxos com keyword preço, só um dispara — o outro fica órfão. Resolva consolidando ou diferenciando keywords.
Próximos passos
- Pra entender os tipos de nó dentro do fluxo, veja Nós: mensagem, input, condição, ação.
- Pra testar disparo, veja Testar fluxo.