Activity Logs
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) dan menggunakan komponen frontend/src/lib/components/user-management/ActivityLogTab.svelte.
Hak akses: Activity logs dapat dibaca oleh admin dan supervisor. Entri tidak dapat dihapus dari UI — untuk retensi kustom, admin database dapat membuat job yang membersihkan baris lama dari tabel activity_logs.
Daftar action yang dicatat
Setiap baris log memiliki kolom action yang mengikuti konvensi snake_case. Berikut action yang saat ini dicatat (sesuai frontend/src/lib/components/user-management/ActivityLogTab.svelte):
| 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 |
Jika Anda perlu mencatat action baru, tambahkan entri INSERT di route handler yang relevan di crates/api-gateway/src/routes/ dan perbarui enum di crates/omni-common/src/models/activity_log.rs.
Langkah-langkah
Melihat log
- Buka
/user-management, klik tab Activity. - 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
- Timestamp — format
Filter dan pencarian
- Dropdown Filter by Agent — pilih agent tertentu untuk hanya menampilkan tindakannya.
- Dropdown Filter by Action — pilih action spesifik (mis.
delete_agent). - Tombol Apply akan menjalankan ulang kueri dengan parameter baru ke
GET /api/activity-logs(tag Activity Logs).
Paginasi
- Tombol Previous / Next di bawah tabel untuk berpindah halaman.
- Jumlah total entri dan halaman ditampilkan di footer (
Showing X-Y of Z).

Kueri langsung via API
Untuk pelaporan atau audit eksternal, admin dapat memanggil endpoint langsung:
Code
Response: daftar log dengan pagination metadata (total, total_pages, page, per_page).
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.
Praktik terbaik
- Audit mingguan — admin sebaiknya meninjau log setiap minggu untuk mendeteksi pola tidak wajar (mis.
delete_agentdi luar jam kerja). - Simpan JSON dump berkala — untuk kepatuhan yang memerlukan retensi panjang, export hasil API ke file dan simpan di cold storage (S3/MinIO).
- Pasangkan dengan breach log SLA — saat ada insiden percakapan mundur, bandingkan activity log dan
sla_breach_logsuntuk mendapatkan konteks lengkap. - Jangan andalkan logs sebagai satu-satunya sumber truth — logs ini untuk audit, bukan analisa perilaku real-time. Gunakan Kafka topic
chat.message.processedatau event WebSocket untuk streaming.
Rute terkait
- Manajemen Pengguna — halaman induk tab Activity
- Outgoing Webhooks — routing event real-time ke sistem eksternal
- Kinerja Agent — audit tindakan agent individu