# Transfer Percakapan


Transfer adalah cara memindahkan tanggung jawab percakapan dari satu agent
ke agent lain, atau dari satu divisi ke divisi lain. Transfer disertai
catatan alasan sehingga agent penerima memahami konteks sebelum membalas.

**Rute frontend:** `/inbox` (tombol transfer di header percakapan atau
panel detail kontak)

![Dialog transfer percakapan](/screenshots/inbox.png)

## Ringkasan

Sistem OmniStream mendukung dua jenis transfer:

1. **Transfer ke agent tertentu** — percakapan dipindahkan ke satu agent
   spesifik. Berguna bila pelanggan sebelumnya sudah menghubungi agent
   tersebut, atau bila agent memiliki keahlian spesifik.
2. **Transfer ke divisi** — percakapan dilepas ke antrean divisi (misal
   `Sales`, `Technical Support`). Agent mana pun di divisi tersebut dapat
   mengambil dari daftar `Unassigned`.

Setiap transfer dicatat di tabel `conversation_transfers` dengan nama
pengirim, penerima, waktu, dan alasan. Supervisor dapat melihat seluruh
riwayat transfer via [Activity Logs](/panduan/admin/activity-logs).

## Kapan melakukan transfer

- Pelanggan menanyakan hal di luar kompetensi Anda (mis. masalah teknis
  padahal Anda agent penjualan).
- Anda akan istirahat atau selesai shift dan percakapan masih aktif.
- Pelanggan meminta secara eksplisit untuk berbicara dengan agent atau
  tim lain.
- Escalation ke supervisor untuk kasus sensitif.

## Langkah-langkah transfer ke agent

1. Buka percakapan dari inbox.
2. Klik tombol **Transfer** di header percakapan (ikon panah).
3. Dialog transfer muncul. Pilih tab **To Agent**.
4. Ketik nama agent di kotak pencarian. Daftar agent online ditampilkan
   terlebih dahulu.
5. Pilih agent penerima.
6. (Wajib) Tulis **Alasan transfer** di textarea. Alasan ini akan dilihat
   oleh agent penerima.
7. Klik **Transfer**.

Klik **Transfer** untuk menyelesaikan. Sistem akan memindahkan percakapan ke agent yang dipilih.

## Langkah-langkah transfer ke divisi

1. Buka percakapan, klik **Transfer**.
2. Pilih tab **To Division**.
3. Pilih divisi tujuan dari dropdown.
4. Tulis alasan.
5. Klik **Transfer**.

Setelah transfer ke divisi:

- `assigned_agent_id` percakapan dikosongkan.
- `division_id` percakapan di-set ke divisi baru.
- Percakapan muncul di daftar **Unassigned** divisi tujuan.
- Agent di divisi tersebut akan melihat notifikasi di WebSocket event
  `conversation.assigned`.

## Riwayat transfer

Pada panel detail kontak, tab **Activity** menampilkan riwayat transfer
untuk percakapan saat ini:

- **Pengirim** — nama agent yang men-transfer.
- **Penerima** — nama agent atau divisi tujuan.
- **Alasan** — teks yang diisi pengirim.
- **Timestamp** — waktu transfer.

Agent penerima akan melihat rincian ini di catatan awal saat membuka
percakapan, sehingga tidak perlu bertanya lagi ke agent sebelumnya.

## Aturan akses

- **Agent reguler** hanya dapat men-transfer percakapan yang ditugaskan
  kepadanya sendiri.
- **Supervisor** dapat men-transfer percakapan milik siapa pun di divisi
  yang disupervisinya.
- **Admin** dapat men-transfer percakapan mana pun di workspace.

> **Catatan:** Jika percakapan ditransfer ke agent yang sedang offline,
> percakapan tetap dicatat sebagai milik agent tersebut, tetapi supervisor
> akan melihat flag `unassigned-active` untuk percakapan dengan agent
> offline &gt;15 menit tanpa aktivitas.

## Praktik terbaik

- **Selalu tulis alasan** transfer secara spesifik — jangan sekadar
  "transfer aja".
- **Lengkapi catatan internal** sebelum transfer (lihat
  [Catatan internal](/panduan/agent/catatan-internal)) supaya agent
  penerima punya konteks lengkap.
- **Konfirmasi di channel internal** (mis. Slack) untuk transfer sensitif,
  agar agent penerima tahu ada percakapan urgent yang masuk.
- **Hindari transfer berantai** — jika percakapan sudah ditransfer lebih
  dari 2 kali, biasanya ada masalah routing yang perlu dibicarakan dengan
  supervisor.

## Langkah kerja khas

1. Buka percakapan yang perlu dipindahkan.
2. Tulis catatan internal singkat berisi konteks.
3. Klik **Transfer** → pilih agent/divisi → isi alasan → **Transfer**.
4. Pantau notifikasi sukses.
5. Percakapan akan hilang dari daftar **Assigned to me** Anda.

Baca selanjutnya: [Kontak](/panduan/agent/kontak).
