Koleksi agents menyimpan konfigurasi AI agent — prompt, personality, QnA, dan follow-up config. Engine Bot membaca config ini saat membangun specialist agent. Writer utama adalah dazoapp.
Model
models/agents.js:11 — AgentSchema, mongoose.model("agents", AgentSchema).
Field utama
| Field | Tipe | Catatan |
|---|---|---|
id | String | Primary key (UUID) — required: true |
store_id | String | Tenant scope — required: true |
name | String | Nama agent — required: true |
template | String | Template — required: true |
language_character | String | Karakter bahasa |
character | String | Personality |
history_limit | Number | Limit history percakapan |
message_await | Number | Delay batching |
message_limit | Number | Limit pesan |
prompt | String | System prompt tambahan |
qna_conditional | Array | QnA — lihat di bawah |
followup | Object | Follow-up config — lihat di bawah |
status_feature | String | Default null |
created_at | Date | Timestamp |
qna_conditional
Array of object:
qna_conditional: [{
question: { type: String, default: null },
answer: { type: String, default: null }
}]QnA dipotong maksimal 3.500 karakter saat dimuat ke context. Lihat Agent Architecture.
followup
followupSchema (models/agents.js:3-9) — config per checkpoint:
| Checkpoint | Fungsi |
|---|---|
call_to_order | Ajak order |
ask_product_qty | Tanya quantity |
ask_shipping_address | Tanya alamat |
ask_shipping_method | Tanya kurir |
ask_payment_method | Tanya metode bayar |
confirm_order | Konfirmasi order |
payment_reminder | Reminder pembayaran |
Setiap checkpoint memiliki:
| Field | Tipe | Catatan |
|---|---|---|
message | String | Default "" — Mustache template |
is_generate_ai | Boolean | Default false — AI rewrite via gpt-4o-mini |
sending_time | Number | Default 10 — delay dalam menit |
image | String | Default "" — optional attachment URL |
fileName | String | Default "" — template file reference |
Cara akses di controller
// controllers/mainController.js — context loader
const agent = await Agent.findOne({ id: agentId, store_id: storeId });
// agent.prompt + agent.character → promptWithContext
// agent.followup → scheduler configInkonsistensi yang diketahui
| Masalah | Detail |
|---|---|
timestamp typo | models/agents.js:52 — timestamp: { createdAt: "created_at" } (typo — harusnya timestamps). Hanya createdAt tercatat, updatedAt tidak |
_id: false di followupSchema | Sub-document tidak dapat di-query via _id — normal untuk embedded config |
Kembali ke
- Schema Index — daftar semua koleksi
- Agent Architecture — cara agent dibangun
- Follow-up Scheduler — cara config followup dipakai