2.4 KiB
2.4 KiB
Implementação: Ferramenta de Reação de Mensagem (Captain AI)
Data: 10/01/2026
Objetivo: Permitir que o Captain reaja às mensagens do cliente com emojis, simulando comportamento humano.
Contexto
No N8N, a reação é feita via API externa usando IDs dinâmicos (account_id, conversation_id, message_id). No Captain, esses dados já estão disponíveis no contexto interno, então criamos uma tool nativa.
Arquivos Criados/Modificados
[NOVO] enterprise/app/services/captain/tools/react_to_message_tool.rb
- Tool que reage à última mensagem incoming do cliente
- Parâmetro:
emoji(string) - Cria mensagem com
is_reaction: trueein_reply_to: source_id
[MODIFICADO] enterprise/app/services/captain/llm/assistant_chat_service.rb
- Adicionada no método
build_tools:
Captain::Tools::ReactToMessageTool.new(@assistant, user: nil, conversation: @conversation)
[MODIFICADO] enterprise/app/services/captain/tools/definitions.rb
- Adicionada definição para aparecer em "Poderes":
'react_to_message' => {
type: :internal,
name: 'Reagir a Mensagens',
description: 'React to customer messages with emoji (👍, ❤️, 😊)'
}
Como Funciona
- Agent decide reagir → Chama
react_to_message(emoji: "👍") - Tool executa:
- Pega
conversationdo contexto - Busca última mensagem incoming (
messages.incoming.last) - Pega
source_id(ID externo do WhatsApp) - Cria mensagem com
is_reaction: true
- Pega
- SendReplyJob → Detecta
is_reaction→ Chamasend_reaction_message - Wuzapi Client →
POST /chat/reactcom Phone, Id e Body (emoji)
Configuração de Uso (Prompt)
Adicionar no prompt do assistente:
## Uso de Reações
Use a ferramenta `react_to_message` para:
- Reagir com 👍 quando o cliente confirmar algo positivo
- Reagir com ❤️ quando o cliente agradecer
- Reagir com 😊 para demonstrar empatia
- Reagir com 🙏 quando receber elogios
NÃO use reações:
- Em mensagens de reclamação
- Quando o cliente estiver irritado
Ativação
- Acessar: Captain → Assistentes → [Assistente] → Poderes
- Ativar "Reagir a Mensagens"
- (Opcional) Adicionar instruções no prompt do assistente
Validação
- Testar no Playground: "reaja positivamente"
- Testar via WhatsApp: enviar mensagem positiva e verificar reação