Agent API
Panduan memakai Agent API untuk memberi AI agent akses read-only ke workspace, leads, chat customer, analytics, dan conversion diagnostics.
Ringkasan Agent API
Agent API adalah akses read-only untuk AI agent, automation, atau connector yang perlu membaca data workspace Dalekta secara aman. API key dibuat dari menu API & Webhook dan selalu terikat ke workspace aktif saat key dibuat.
https://dalekta.id/api/agent. URL https://dalekta.id/docs/agent-api hanya halaman dokumentasi manusia, bukan endpoint API.URL yang dipakai
Untuk integrasi agent, cukup siapkan URL instruksi dan Agent API base URL. URL SKILL.md dipakai AI agent untuk membaca daftar endpoint dan aturan API secara machine-readable.
| Kebutuhan | URL | Dipakai oleh |
|---|---|---|
| SKILL.md agent | https://dalekta.id/api/agent/SKILL.md | AI agent, connector, automation |
| Base API | https://dalekta.id/api/agent | Request endpoint dengan Bearer API key |
https://dalekta.id/api/agent/SKILL.md ke agent sebagai instruksi API, lalu simpan API key sebagai Bearer token di secret manager agent tersebut.Membuat API key
- Buka dashboard Dalekta.
- Pilih workspace yang benar dari switcher workspace.
- Masuk ke menu
API & Webhook. - Klik tombol
Tambah API key. - Isi nama key, misalnya OpenClaw Agent, Claude Connector, atau Automasi Operasional.
- Pilih scope sesuai kebutuhan agent.
- Jika memilih
agent.chats.read, pilih WhatsApp session yang boleh dibaca. - Klik
Buat key. - Copy plaintext API key saat modal sukses muncul. Key hanya ditampilkan satu kali.
Authentication
Semua endpoint Agent API selain SKILL.md membutuhkan Bearer token. Simpan API key di secret manager atau environment server-side, bukan di frontend publik.
curl "https://dalekta.id/api/agent/workspace" \
-H "Authorization: Bearer dlk_live_xxxxxxxxxxxxxxxxx" \
-H "Accept: application/json"X-Dalekta-Request-Id dan X-RateLimit-* untuk debugging dan observability.Scopes
| Scope | Akses |
|---|---|
agent.workspace.read | Membaca identitas workspace, timezone, currency, plan, dan konteks usage. |
agent.leads.read | Membaca daftar lead dan detail lead dalam workspace API key. |
agent.chats.read | Membaca chat customer untuk lead yang WhatsApp session-nya masuk allowlist key. |
agent.analytics.read | Membaca summary dashboard, funnel, dan campaign analytics. |
agent.conversions.read | Membaca status sync conversion dan pending/failed diagnostics. |
| Profil key | Scope yang disarankan |
|---|---|
| Agent baca profil workspace | agent.workspace.read |
| Agent follow up leads | agent.workspace.read, agent.leads.read, agent.chats.read |
| Agent report performa | agent.workspace.read, agent.analytics.read, agent.conversions.read |
| Agent read-only penuh | Semua scope saat ini |
Chat allowlist
Scope agent.chats.read saja belum cukup untuk membaca chat customer. API key juga harus punya WhatsApp session allowlist. Ini mencegah agent membaca chat dari nomor sales/CS lain yang tidak dipilih.
- Allowlist dipilih saat membuat API key jika
agent.chats.readaktif. - Allowlist bisa diedit dari tabel API key dengan tombol
Akses. - Jika lead memakai WhatsApp session di luar allowlist, endpoint messages mengembalikan 403.
- Jika key tidak punya scope chat, endpoint messages juga mengembalikan 403.
Endpoint ringkas
| Method | Endpoint | Scope |
|---|---|---|
| GET | /api/agent/workspace | agent.workspace.read |
| GET | /api/agent/leads | agent.leads.read |
| GET | /api/agent/leads/:id | agent.leads.read |
| GET | /api/agent/leads/:id/messages | agent.chats.read + allowlist session |
| GET | /api/agent/analytics/summary | agent.analytics.read |
| GET | /api/agent/analytics/funnel | agent.analytics.read |
| GET | /api/agent/analytics/campaigns | agent.analytics.read |
| GET | /api/agent/conversions/status | agent.conversions.read |
| GET | /api/agent/conversions/pending | agent.conversions.read |
Contoh prompt untuk agent
Contoh ini menunjukkan cara agent menerjemahkan pertanyaan user menjadi request API. Untuk kata seperti hari ini, minggu ini, atau bulan ini, agent sebaiknya membaca timezone workspace dulu dari /api/agent/workspace, lalu mengubahnya menjadi range from/to atau createdFrom/createdTo.
| User bertanya | Endpoint yang dipakai agent | Jawaban yang diharapkan |
|---|---|---|
tolong cek berapa leads hari ini | GET /api/agent/analytics/summary?from=2026-07-27T00:00:00+07:00&to=2026-07-27T23:59:59+07:00 | Agent menjawab angka Masuk WA, MQL, Prospek, Closing, revenue, dan conversion rate hari ini. |
tampilkan 10 leads terbaru hari ini | GET /api/agent/leads?createdFrom=2026-07-27T00:00:00+07:00&createdTo=2026-07-27T23:59:59+07:00&limit=10&sortBy=createdAt&sortOrder=desc | Agent menampilkan daftar ringkas lead terbaru: nama/kode, status, source, campaign, sales, dan waktu masuk. |
cek leads closing minggu ini | GET /api/agent/leads?status=CLOSING&from=2026-07-21T00:00:00+07:00&to=2026-07-27T23:59:59+07:00&limit=50 | Agent merangkum lead closing, nominal closing jika ada, campaign/source, dan total revenue. |
lead dari campaign Promo Juli ada berapa? | GET /api/agent/leads?campaign=Promo%20Juli&limit=100 | Agent menghitung total dari pagination dan menampilkan contoh lead yang paling baru. |
baca chat lead K-8F21A | GET /api/agent/leads?search=K-8F21A&limit=1, lalu GET /api/agent/leads/:id/messages | Agent mencari lead dulu, lalu membaca messages jika API key punya agent.chats.read dan session masuk allowlist. |
conversion yang gagal apa saja? | GET /api/agent/conversions/pending?status=FAILED&limit=20 | Agent menampilkan event conversion gagal, error utama, jumlah attempt, dan lead/campaign terkait. |
User: tolong cek berapa leads hari ini
Agent steps:
1. GET /api/agent/workspace untuk membaca timezone workspace.
2. Hitung range hari ini sesuai timezone workspace.
3. GET /api/agent/analytics/summary?from=<awal_hari>&to=<akhir_hari>.
4. Jawab ringkas: total Masuk WA, MQL, Prospek, Closing, revenue, dan catatan jika ada angka yang perlu dicek.
Contoh jawaban:
Hari ini ada 18 lead Masuk WA, 7 MQL, 3 Prospek, dan 2 Closing. Revenue tercatat Rp2.500.000. Dari sisi funnel, rasio Closing ke Masuk WA sekitar 11,11%.Contoh request
curl "https://dalekta.id/api/agent/leads?limit=20&status=CLOSING" \
-H "Authorization: Bearer dlk_live_xxxxxxxxxxxxxxxxx" \
-H "Accept: application/json"curl "https://dalekta.id/api/agent/leads/LEAD_ID/messages" \
-H "Authorization: Bearer dlk_live_xxxxxxxxxxxxxxxxx" \
-H "Accept: application/json"curl "https://dalekta.id/api/agent/analytics/campaigns?from=2026-07-01&to=2026-07-31" \
-H "Authorization: Bearer dlk_live_xxxxxxxxxxxxxxxxx" \
-H "Accept: application/json"Error dan rate limit
Error Agent API memakai format JSON konsisten supaya agent bisa mengambil keputusan tanpa parsing teks bebas.
{
"error": {
"code": "FORBIDDEN",
"message": "Missing required scope: agent.chats.read",
"requestId": "req_..."
}
}| Status | Makna umum |
|---|---|
| 401 | API key hilang, format Bearer salah, key tidak ditemukan, atau key sudah revoked. |
| 403 | Scope tidak cukup, chat session tidak masuk allowlist, atau IP tidak diizinkan jika allowlist aktif. |
| 404 | Resource tidak ditemukan di workspace API key. |
| 429 | Rate limit terlampaui. Kurangi frekuensi request atau gunakan pagination/filter. |
| 500 | Gangguan server. Simpan request ID untuk kebutuhan bantuan teknis. |
Rekomendasi keamanan
- Buat satu API key per agent atau integration agar revoke dan audit lebih jelas.
- Pakai scope terkecil yang masih cukup untuk pekerjaan agent.
- Untuk agent yang membaca chat, pilih hanya WhatsApp session yang relevan.
- Simpan API key di secret manager atau environment server-side, bukan di frontend publik, screenshot, atau chat grup.
- Gunakan pagination dan filter tanggal supaya agent tidak menarik data terlalu besar.
- Revoke key yang tidak dipakai lagi dari menu API & Webhook.