OmniStream Docs
  • Dokumentasi
  • Developer
  • API Reference
Memulai
Hubungkan Channel
Fitur Utama
CRM
Broadcast & Campaign
AI & Otomasi
    AI AgentsAturan OtomasiOtomasi Pesan & Percakapan
Tim & Laporan
Pengaturan
Troubleshooting
AI & Otomasi

Otomasi Pesan & Percakapan

Halaman ini menjelaskan empat fitur otomasi yang tersedia di /settings: Away Messages, Auto-Close Rules, Chat Expiration, dan Assignment Rules. Keempatnya membutuhkan permission settings.manage (admin atau supervisor).


Pesan Otomatis (Away Messages)

Cara kerja

Away messages adalah balasan otomatis yang dikirim ke pelanggan saat mereka mengirim pesan di luar jam kerja yang dikonfigurasi. Alur kerjanya:

Code
Pesan masuk (inbound) ↓ Sistem memeriksa jam kerja yang dikonfigurasi ↓ Jika di luar jam kerja → cari away_message yang cocok (channel + division) ↓ Dedup: skip jika sudah dikirim dalam cooldown period ↓ Pesan otomatis dikirim ke pelanggan

Jika tabel working_hours kosong (tidak ada jam kerja dikonfigurasi), sistem mengasumsikan selalu buka dan tidak mengirim away message. Pastikan jam kerja dikonfigurasi terlebih dahulu di /settings/working-hours.

Scoping & prioritas

Setiap away message dapat disempitkan ke kombinasi channel dan/atau divisi. Saat ada beberapa aturan aktif, sistem memilih aturan paling spesifik yang cocok.

Kolom konfigurasi

FieldWajibKeterangan
MessageYaTeks balasan otomatis. Tidak boleh kosong atau hanya spasi.
ChannelTidakScope ke satu channel: whatsapp, instagram, email, messenger. Kosong = semua channel.
DivisionTidakScope ke satu divisi. Kosong = semua divisi (global).
Cooldown (hours)YaInterval minimum sebelum pesan yang sama dikirim ulang ke kontak yang sama. Rentang: 1–168 jam (1 jam – 7 hari). Default: 24 jam.
ActiveYaToggle aktif/nonaktif. Default: aktif.

Atur cooldown lebih panjang (mis. 48 jam) untuk menghindari spam jika pelanggan mengirim banyak pesan di luar jam kerja dalam satu sesi.

Endpoint (tag Away Messages)

AksiEndpoint
ListGET /api/away-messages
BuatPOST /api/away-messages
UpdatePATCH /api/away-messages/{id}
HapusDELETE /api/away-messages/{id}

Contoh payload buat:

Code
{ "message": "Terima kasih sudah menghubungi kami. Kami sedang di luar jam kerja dan akan membalas secepatnya.", "channel": "whatsapp", "division_id": null, "is_active": true, "cooldown_hours": 24 }

Aturan Tutup Otomatis (Auto-Close Rules)

Cara kerja

Auto-close rules mendefinisikan berapa jam sebuah percakapan boleh idle sebelum status-nya diubah otomatis ke resolved atau closed.

Catatan implementasi saat ini: Tabel conversation_auto_close_rules tersimpan di database, tetapi belum ada background processor yang mengeksekusi aturan ini secara berkala. Rules dapat dibuat dan disimpan lewat UI maupun API, namun belum aktif dijalankan oleh scheduler. Pantau rilis berikutnya untuk update.

Kolom konfigurasi

FieldWajibKeterangan
NameYaNama deskriptif aturan, tidak boleh kosong.
ChannelTidakFilter ke satu channel. Kosong = semua channel.
Idle HoursYaJam idle sebelum aturan aktif. Minimal: 1 jam. Default: 24 jam.
Target StatusYaStatus tujuan saat aturan terpicu: resolved atau closed. Default: resolved.
ActiveYaToggle aktif/nonaktif.

Endpoint (tag Auto-Close Rules)

AksiEndpoint
ListGET /api/auto-close-rules
BuatPOST /api/auto-close-rules
UpdatePATCH /api/auto-close-rules/{id}
HapusDELETE /api/auto-close-rules/{id}

Contoh payload:

Code
{ "name": "Tutup WhatsApp setelah 48 jam", "channel": "whatsapp", "idle_hours": 48, "target_status": "resolved", "is_active": true }

Kedaluwarsa Chat (Chat Expiration)

Cara kerja

Chat expiration mengonfigurasi batas waktu idle untuk percakapan Email. Sistem memeriksa aturan ini secara berkala dan menjalankan tindakan yang dikonfigurasi.

Hanya channel Email yang dapat dikonfigurasi di halaman ini. WhatsApp, Instagram, dan Messenger menggunakan jendela pesan yang diberlakukan oleh Meta (misalnya jendela layanan pelanggan 24 jam untuk WhatsApp) — batas waktu platform tersebut tidak dapat diubah dari OmniStream.

Kolom konfigurasi

FieldKeterangan
Idle Timeout (window_hours)Jam tidak aktif sebelum aturan terpicu. 0 = tidak pernah kedaluwarsa. Nilai >= 0.
Auto-resolveJika aktif, percakapan otomatis berubah ke status resolved saat window habis.
Block outbound textJika aktif, agen tidak dapat mengirim pesan teks bebas setelah window tutup.
ActiveToggle aktif/nonaktif. Menonaktifkan berhenti memeriksa aturan ini.

Endpoint menggunakan pola upsert per channel — satu rule per channel, PUT menggantikan nilai yang ada atau membuat baru jika belum ada:

Endpoint (tag Chat Expiration)

AksiEndpoint
List semua aturanGET /api/chat-expiration-rules
Buat / update aturanPUT /api/chat-expiration-rules/{channel}

{channel} hanya menerima nilai: whatsapp, instagram, email. Untuk saat ini hanya email yang ditampilkan di UI.

Contoh payload update aturan Email:

Code
PUT /api/chat-expiration-rules/email Content-Type: application/json { "window_hours": 72, "auto_resolve": true, "block_text_after_window": true, "is_active": true }

Set window_hours ke 0 untuk menonaktifkan kedaluwarsa tanpa menonaktifkan aturan sepenuhnya — berguna jika ingin mempertahankan konfigurasi block_text_after_window sambil menangguhkan auto-resolve sementara.


Aturan Penugasan (Assignment Rules)

Cara kerja

Assignment rules menentukan strategi penugasan agen otomatis saat percakapan masuk. Aturan dievaluasi berdasarkan prioritas (nilai lebih tinggi = diperiksa lebih dulu) dan dicocokkan berdasarkan channel dan/atau divisi.

Penugasan dieksekusi saat endpoint POST /api/assignment-rules/assign dipanggil — biasanya oleh integrasi atau alur kerja yang memanggil API ini setelah percakapan dibuat. Sistem mencari aturan aktif dengan prioritas tertinggi yang cocok, lalu memilih agen berdasarkan strategi yang dikonfigurasi.

Strategi penugasan

StrategiKeterangan
round_robinGiliran merata: memilih agen online berikutnya dalam rotasi berdasarkan last_assigned_agent_id.
load_basedBeban terendah: memilih agen online dengan jumlah percakapan open paling sedikit.
manualTidak ada penugasan otomatis — percakapan tetap tanpa agen hingga ditugaskan secara manual.

Jika tidak ada agen dengan status is_online = true saat penugasan dipicu, respons mengembalikan agent_id: null tanpa error — percakapan tetap tidak terassign.

Kolom konfigurasi

FieldWajibKeterangan
NameYaNama aturan, 1–100 karakter.
StrategyYaround_robin, load_based, atau manual. Default: round_robin.
ChannelTidakFilter ke satu channel: whatsapp, instagram, messenger, email. Kosong = semua channel.
DivisionTidakFilter ke satu divisi (UUID). Kosong = semua divisi.
PriorityYaAngka 0–100. Lebih tinggi = diperiksa lebih dulu. Default: 0.
ActiveYaToggle aktif/nonaktif.

Logika matching

Aturan cocok jika kedua kondisi terpenuhi:

  • Channel rule = channel percakapan, atau channel rule kosong (wildcard).
  • Division rule = division percakapan, atau division rule kosong (wildcard).

Aturan aktif dengan prioritas tertinggi yang cocok yang digunakan.

Endpoint (tag Assignment Rules)

AksiEndpoint
List aturanGET /api/assignment-rules
Buat aturanPOST /api/assignment-rules
Update aturanPATCH /api/assignment-rules/{id}
Hapus aturanDELETE /api/assignment-rules/{id}
Jalankan penugasanPOST /api/assignment-rules/assign

Contoh payload assign:

Code
{ "channel": "whatsapp", "division_id": "uuid-divisi-vip" }

Respons:

Code
{ "agent_id": "uuid-agen", "agent_name": "Budi Santoso", "rule_id": "uuid-aturan", "strategy": "round_robin" }

Rute terkait

  • Kebijakan SLA — batas waktu respons dan resolusi per channel/divisi
  • Divisi — konfigurasi divisi yang dipakai di scoping aturan
  • Activity Logs — audit perubahan konfigurasi otomasi
Last modified on August 4, 2026
Aturan OtomasiManajemen & Performa Agent
On this page
  • Pesan Otomatis (Away Messages)
    • Cara kerja
    • Scoping & prioritas
    • Kolom konfigurasi
    • Endpoint (tag Away Messages)
  • Aturan Tutup Otomatis (Auto-Close Rules)
    • Cara kerja
    • Kolom konfigurasi
    • Endpoint (tag Auto-Close Rules)
  • Kedaluwarsa Chat (Chat Expiration)
    • Cara kerja
    • Kolom konfigurasi
    • Endpoint (tag Chat Expiration)
  • Aturan Penugasan (Assignment Rules)
    • Cara kerja
    • Strategi penugasan
    • Kolom konfigurasi
    • Logika matching
    • Endpoint (tag Assignment Rules)
  • Rute terkait
JSON
JSON
JSON
JSON