Pengenalan
Event agent.message_out dipicu ketika agen manusia mengirim pesan melalui sistem CSKU AI.
Event ini membantu melacak kapan agen manusia berinteraksi dengan pelanggan, berguna untuk analitik dan pelacakan handoff.
Trigger Event
Agen manusia mengirim pesan
↓
Platform CSKU AI
↓
Trigger webhook agent.message_out
↓
HTTP POST → URL Webhook Anda
Struktur Payload
{
"event": "agent.message_out",
"timestamp": 1738056000,
"conversation_id": "conv_abc123",
"conversation_label": "John Doe",
"need_human": 1,
"message": {
"id": "msg_def456",
"sender_name": "Support Agent",
"agent": {
"name": "Nama Agent Support"
},
"channel": {
"id": "channel_merchant_id",
"name": "WhatsApp Business",
"engine": "wa"
},
"bisnis": {
"id": "biz_123",
"name": "My Business"
},
"user": {
"id": "merchant_456",
"name": "Merchant Name"
},
"content": {
"type": "text",
"text": "Saya bisa membantu dengan pesanan Anda"
}
}
}
Field Tambahan
Event ini mencakup semua field pesan standar ditambah:
| Field | Tipe | Deskripsi |
|---|
message.agent.name | string | Nama agen yang mengirim pesan |
Use Case
Monitor waktu respons agen dan pola pesan.
Lacak kapan percakapan dieskalasi dari AI ke agen manusia.
Log respons agen untuk review dan pelatihan.
Notifikasi anggota tim lain ketika agen telah menangani percakapan.
Implementasi
app.post('/webhook', async (req, res) => {
const { event, message } = req.body;
if (event === 'agent.message_out') {
const { agent, sender_name, content } = message;
console.log(`Agen ${agent.name} mengirim pesan`);
// Lacak aktivitas agen
await db.agentActivity.create({
agent_name: agent.name,
conversation_id: req.body.conversation_id,
message: content.text,
timestamp: new Date(req.body.timestamp * 1000)
});
// Update status percakapan
await db.conversations.update(
req.body.conversation_id,
{ handled_by: 'human', agent_name: agent.name }
);
}
res.status(200).send('OK');
});
Event Terkait