Skip to main content

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:
FieldTipeDeskripsi
message.agent.namestringNama 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