# Activity Logs


## Ringkasan

**Activity Logs** mencatat setiap tindakan penting yang dilakukan oleh pengguna di dalam OmniStream: login, logout, pembuatan/penghapusan agent, perubahan status percakapan, pengiriman kampanye, transfer, takeover, dan lainnya. Log ini adalah **audit trail tingkat aplikasi** yang wajib ditinjau oleh admin saat menginvestigasi insiden atau menjawab pertanyaan compliance.

Halaman ini tersedia sebagai tab di dalam `/user-management` (tab **Activity**).

:::info
**Hak akses:** Activity logs dapat dibaca oleh **admin** dan **supervisor**. Entri tidak dapat dihapus dari UI.
:::

## Daftar action yang dicatat

Setiap baris log memiliki kolom `action`. Berikut action yang saat ini dicatat:

| Action | Konteks |
|---|---|
| `login` | Pengguna berhasil login |
| `logout` | Pengguna logout (eksplisit) |
| `create_agent` | Admin membuat akun agent baru |
| `update_agent` | Admin mengubah detail agent |
| `delete_agent` | Admin menghapus agent |
| `update_status` | Status online/offline agent diubah |
| `assign_agent` | Agent ditugaskan ke percakapan |
| `takeover_conversation` | Supervisor mengambil alih percakapan |
| `update_conversation_status` | Status percakapan diubah (open → resolved, dll.) |
| `send_campaign` | Kampanye dikirim |
| `send_message` | Pesan dikirim secara manual via API atau UI |
| `create_division` | Admin membuat divisi baru |
| `update_division` | Admin mengubah divisi |
| `delete_division` | Admin menghapus divisi |
| `assign_agents_to_division` | Admin menambah anggota divisi |
| `remove_agents_from_division` | Admin menghapus anggota divisi |


## Langkah-langkah

### Melihat log

1. Buka `/user-management`, klik tab **Activity**.
2. Daftar log dimuat halaman demi halaman (30 entri per halaman). Kolom yang ditampilkan:
   - **Timestamp** — format `id-ID` (mis. `11 Apr 2026, 14:25`)
   - **Agent** — nama pengguna yang melakukan tindakan
   - **Action** — label action dalam bahasa yang mudah dibaca
   - **Target** — resource yang dipengaruhi (conversation ID, agent ID, dll.)
   - **Details** — metadata tambahan dalam JSON

### Filter dan pencarian

1. Dropdown **Filter by Agent** — pilih agent tertentu untuk hanya menampilkan tindakannya.
2. Dropdown **Filter by Action** — pilih action spesifik (mis. `delete_agent`).
3. Tombol **Apply** akan menjalankan ulang kueri dengan parameter baru ke `GET /api/activity-logs` (tag **Activity Logs**).

### Paginasi

1. Tombol **Previous** / **Next** di bawah tabel untuk berpindah halaman.
2. Jumlah total entri dan halaman ditampilkan di footer (`Showing X-Y of Z`).

![Screenshot tab activity logs](/screenshots/settings.png)

## Endpoint (tag **Activity Logs**)

| Aksi | Endpoint |
|---|---|
| List log | `GET /api/activity-logs` |
| Detail log | `GET /api/activity-logs/{id}` |

Skema lengkap (termasuk parameter filter) di [API Reference — Activity Logs](/api).

## Praktik terbaik

- **Audit mingguan** — admin sebaiknya meninjau log setiap minggu untuk mendeteksi pola tidak wajar (mis. `delete_agent` di luar jam kerja).
- **Simpan dump berkala** — untuk kepatuhan yang memerlukan retensi panjang, ekspor hasil API ke file dan simpan di cold storage.
- **Pasangkan dengan breach log SLA** — saat ada insiden percakapan mundur, bandingkan activity log dan data breach SLA untuk mendapatkan konteks lengkap.
- **Gunakan untuk audit, bukan analitik real-time** — logs ini adalah audit trail tindakan pengguna; untuk monitoring real-time gunakan fitur dashboard.

## Rute terkait

- [Manajemen Pengguna](/panduan/admin/manajemen-pengguna) — halaman induk tab Activity
- [Outgoing Webhooks](/panduan/admin/outgoing-webhooks) — routing event real-time ke sistem eksternal
- [Kinerja Agent](/panduan/supervisor/kinerja-agent) — audit tindakan agent individu
