OpenClaw & AI Operasional
Integrasi Odoo Appointment dengan OpenClaw untuk Booking appointment, reminder, dan no-show prevention
Panduan integrasi Odoo Appointment dengan OpenClaw untuk booking appointment, reminder, dan no-show prevention, lengkap dengan External JSON-2 API, XML-RPC, guardrail, dan checklist implementasi.

Integrasi Odoo Appointment dengan OpenClaw paling masuk akal kalau targetnya jelas: booking appointment, reminder, dan no-show prevention. Bukan sekadar "Odoo disambungkan ke AI", tapi workflow operasional yang punya event, data, owner, dan tindak lanjut yang bisa dicek.
Artikel ini dibuat untuk pembaca publik dan agent operasional. Bagian teknisnya dipisahkan antara fakta resmi Odoo dan rekomendasi implementasi. Fakta resminya: Odoo punya jalur external API untuk akses model dan method, dan XML-RPC masih terdokumentasi untuk integrasi lama. Untuk Odoo 19, jalur modernnya adalah External JSON-2 API di endpoint /json/2, sedangkan XML-RPC/JSON-RPC lama sudah diberi catatan deprecation resmi.
Kapan integrasi ini layak dibuat
Untuk Odoo Appointment, integrasi jangan dimulai dari pertanyaan "bisa disambungkan atau tidak". Pertanyaan yang lebih berguna adalah: event apa yang benar-benar mengubah keputusan tim?
Dalam konteks booking appointment, reminder, dan no-show prevention, integrasi biasanya layak dibuat kalau tim butuh salah satu dari ini:
- notifikasi cepat saat ada perubahan data yang penting
- reminder follow-up supaya pekerjaan tidak berhenti di inbox
- ringkasan harian atau mingguan dari record yang aktif
- eskalasi ketika status macet, terlambat, atau melewati SLA
- audit trail yang rapi antara perubahan di Odoo dan respons tim
Kalau hanya ingin memindahkan semua data dari Odoo ke chat, hasilnya biasanya berisik. OpenClaw lebih berguna sebagai layer orchestration: membaca sinyal penting, merangkum konteks, lalu mengarahkan aksi berikutnya ke channel yang dipakai tim.
Data yang aman dibicarakan
Dokumentasi resmi Odoo menjelaskan bahwa model, field, dan method yang tersedia bisa berbeda per database. Di Odoo 19, dokumentasi External JSON-2 API juga menyebut bahwa detail model, field, dan method dapat dilihat di halaman /doc milik database target.
Artinya, artikel publik tidak boleh menebak technical model untuk semua implementasi. Untuk Odoo Appointment, data awal yang masuk akal untuk dipetakan adalah:
- booking slot
- appointment
- reminder
- opportunity dari booking
- appointment dibook
Event operasional yang biasanya layak dipantau:
- appointment dibook
- dibatalkan
- reminder terkirim
- booking jadi lead
- booking slot
Sebelum build, validasi ulang semuanya di instance target: nama model, nama field, akses user, record rule, dan method yang boleh dipanggil.
Dua jalur resmi: External API dan XML-RPC
Ada dua jalur yang perlu dipahami sebelum integrasi Odoo Appointment dengan OpenClaw dibuat.
1. External JSON-2 API untuk implementasi baru
Di Odoo 19, dokumentasi resmi menyebut External JSON-2 API sebagai endpoint HTTP di pola:
POST /json/2/<model>/<method>
Request memakai JSON body. Header pentingnya:
- Authorization: bearer <API_KEY>
- Content-Type: application/json
- X-Odoo-Database: <nama_database> jika server butuh pemilihan database eksplisit
- User-Agent yang jelas untuk identitas software integrasi
Contoh pola request yang aman untuk dibahas publik:
POST /json/2/res.partner/search_read
Authorization: bearer <API_KEY>
Content-Type: application/json
X-Odoo-Database: mycompany
{
"domain": [["is_company", "=", true]],
"fields": ["name"]
}
Untuk implementasi baru di Odoo 19 ke atas, jalur ini lebih masuk akal dijadikan default karena memang diarahkan sebagai external API modern. Gunakan API key, dedicated bot user, dan permission minimum. Jangan memakai akun owner utama untuk automation panjang.
2. XML-RPC untuk legacy connector dan Odoo 18
Di Odoo 18, dokumentasi External API menjelaskan akses model Odoo lewat XML-RPC. Pola dasarnya:
- panggil
/xmlrpc/2/common - authenticate dengan database, login, dan password atau API key
- dapatkan
uid - panggil
/xmlrpc/2/object - gunakan
execute_kwuntuk menjalankan method model
Contoh alur singkat:
common = xmlrpc.client.ServerProxy(f"{url}/xmlrpc/2/common")
uid = common.authenticate(db, username, api_key, {})
models = xmlrpc.client.ServerProxy(f"{url}/xmlrpc/2/object")
records = models.execute_kw(
db,
uid,
api_key,
"res.partner",
"search_read",
[[["is_company", "=", True]]],
{"fields": ["name"], "limit": 10}
)
XML-RPC tetap penting kalau connector lama sudah berjalan, atau instance masih memakai versi yang belum mengandalkan JSON-2 API. Tapi untuk Odoo 19, dokumentasi resmi External RPC API memberi catatan bahwa endpoint /xmlrpc, /xmlrpc/2, dan /jsonrpc dijadwalkan dihapus pada Odoo 22 dan Odoo Online 21.1. Jadi untuk build baru, jadikan XML-RPC sebagai jalur kompatibilitas, bukan fondasi jangka panjang.
Cara OpenClaw sebaiknya masuk
OpenClaw tidak perlu mengambil alih Odoo. Odoo tetap menjadi source of truth untuk data bisnis. OpenClaw cukup menjadi layer eksekusi di luar Odoo:
- mengambil data lewat External JSON-2 API atau XML-RPC
- menjalankan cron untuk pengecekan berkala
- menerima event dari middleware atau automated action bila tersedia
- mengirim ringkasan ke Telegram, WhatsApp, Slack, Discord, atau email internal
- membuat reminder dan eskalasi ketika record perlu tindakan manusia
Untuk Odoo Appointment, desain yang realistis biasanya seperti ini:
- tentukan 3-5 event penting untuk booking appointment, reminder, dan no-show prevention
- validasi field dan method di
/docatau dokumentasi app resmi - buat bot user dengan akses paling sempit yang masih cukup
- pilih jalur API: JSON-2 untuk Odoo 19+, XML-RPC untuk legacy/Odoo 18
- simpan log request, response, dan error agar gampang diaudit
- kirim alert hanya untuk event yang butuh aksi, bukan semua perubahan kecil
Guardrail agar tidak rapuh
Beberapa hal perlu dikunci dari awal:
- jangan hardcode API key di artikel, repo publik, atau prompt agent
- jangan pakai user admin harian untuk integrasi automation
- jangan mengandalkan satu request untuk rangkaian aksi yang harus atomik
- untuk operasi sensitif seperti payment, stock reservation, atau approval, lebih aman membuat method server-side yang menjalankan satu transaksi utuh
- batasi field yang dibaca dengan fields, jangan ambil seluruh record kalau tidak perlu
- gunakan pagination atau limit untuk job berkala
- catat versi Odoo, karena strategi Odoo 18 dan Odoo 19 tidak sama
Catatan transaksi ini penting. Dokumentasi JSON-2 Odoo menjelaskan bahwa setiap call berjalan dalam transaksi SQL sendiri. Kalau proses bisnis butuh beberapa langkah yang harus berhasil bersama, buat satu method di module Odoo, lalu panggil method itu dari external API.
Checklist implementasi Odoo Appointment
Sebelum masuk ke coding, pakai checklist ini:
- Versi Odoo sudah jelas: 18, 19, Online, atau self-hosted
- Plan mendukung external API; dokumentasi Odoo menyebut akses external API tersedia untuk plan Custom
- Bot user sudah dibuat dengan permission minimum
- API key dibuat, disimpan aman, dan punya rotasi
- Model, field, dan method sudah dicek di /doc atau dokumentasi resmi instance
- Jalur dipilih: JSON-2 untuk implementasi baru, XML-RPC untuk legacy/kompatibilitas
- Event yang dikirim ke OpenClaw sudah dibatasi agar tidak jadi spam operasional
- Ada fallback cron kalau event real-time tidak tersedia
- Ada logging dan alert error supaya integrasi tidak silent fail
Kesimpulan
Integrasi Odoo Appointment dengan OpenClaw bisa dibuat rapi kalau fondasinya benar. Odoo tetap menjadi sistem utama, sementara OpenClaw membantu disiplin follow-up, reminder, ringkasan, dan eskalasi.
Untuk implementasi baru, arah paling sehat adalah External JSON-2 API di Odoo 19 ke atas. Untuk Odoo 18 atau connector lama, XML-RPC masih bisa dipakai dengan pola common, object, dan execute_kw. Yang penting, jangan menebak model dan field. Validasi di instance target, pakai bot user, batasi permission, lalu buat workflow yang benar-benar membantu tim bekerja.
Sumber resmi yang dipakai
- https://www.odoo.com/id_ID/app/appointments
- https://www.odoo.com/documentation/19.0/applications/productivity/appointments.html
- https://www.odoo.com/documentation/19.0/developer/reference/external_rpc_api.html
- https://www.odoo.com/documentation/19.0/developer/reference/external_api.html
- https://www.odoo.com/documentation/18.0/developer/reference/external_api.html
- https://www.odoo.com/documentation/18.0/developer/howtos/web_services.html
Tag Artikel
Artikel Terkait
Temukan lebih banyak konten menarik yang mungkin Anda sukai
Tentang Penulis

Rama Aditya
Profesional dengan pengalaman 15+ tahun dalam digital marketing, fullstack development, dan konsultasi bisnis. Fokus membantu bisnis Indonesia membangun sistem yang efisien, scalable, dan berdampak langsung ke pertumbuhan bisnis.
Pelajari Tentang Kami

