Skip to content

Malika Tools v2 and Cekat AI

Cekat AI adalah platform kecerdasan buatan yang dirancang untuk meningkatkan interaksi antara bisnis dan pelanggan melalui agen AI yang mampu berkomunikasi secara natural dan memahami konteks percakapan. Dikembangkan oleh Matthew Sebastian dan Nicholas Alden Liem, Cekat AI bertujuan memberikan solusi layanan pelanggan yang efisien dan responsif.

Cekat AI pake Natural Language Processing (NLP) sebagai algoritma utama untuk ngeproses dan mahamin pesan-pesan teks yang diminta oleh customer melalui berbagai connected platforms, seperti WhatsApp, Instagram, atau Live Chat. Pesan-pesan yang diproses tersebut akan dipahami oleh si AI, lalu dikembaliin respon sesuai dengan yang diminta si customer, seperti menanyakan katalog, membaca invoice, melakukan upselling, dan lain sebagainya.

Alur Umum Customer ke Cekat AI

Alur Umum Customer ke Cekat AI

About Cekat and The Root Issue

Sebenernya, fungsionalitas bawaan dari Cekat AI udah cukup banget buat ngebantu tim sales ngejalanin proses-proses penjualan dari bisnis yang ditentukan. Namun, semakin besar bisnis, proses pendataan data di dalemnya juga ikutan kompleks. AI Knowledge yang bisa ditulis di dalam CRM Cekat AI gak akan cukup untuk meng-cover keseluruhan data barang yang hendak dimuat sama klien. Selain banyak dan besar, data yang disimpan dinamis banget terutama data terkait harga dan katalog. Selain itu, terdapat data dari klien yang disimpan di platform-platoform yang berbeda, seperti API baik REST ataupun GraphQL, Google Sheet, dan lain sebagainya yang makin nyusahin kita kalo semata-mata cuma ngandelin AI Knowledge. Cekat AI juga belum bisa melakukan fitur-fitur klien unik bin aneh lain seperti scheduling menggunakan Cron Job, pake API-nya si Raja Ongkir, perhitungan total harga yang kompleks dan ekstensi ke third parties yang lainnya.

Untungnya, Cekat AI punya fitur Integrations yang dapat ngetranslasi pesan-pesan yang dikirim customer menjadi HTTP request ke sebuah endpoint API (Lihat selengkapnya tentang HTTP, Middleware, dll). Dengan fleksibilitas tersebut, kita dapat ngembangin sebuah tools baru terhadap fungsi-fungsi yang tidak bisa diselesaikan oleh AI. Kita dapat membuat tools untuk melakukan koneksi ke Google Sheet atau ke penyimpanan third party yang lain, membuat fungsi custom untuk menjumlah totalan harga, menggunakan API tertentu, dan lain sebagainya. Untuk itu, perkenalkanlah: Malika Tools ✨.

Cekat AI Knowledge Source

Sumber Knowledge Cekat AI

Gampangnya, Malika Tools itu middleware (atau bisa juga disebut webhook/API/backend server) yang dijadiin “jembatan penghubung” antara Cekat AI dan klien. Malika Tools ini punya tujuan untuk mengintegrasikan berbagai data klien yang punya format dan platform macem-macem biar bisa “dibaca” oleh Cekat AI, tanpa harus masukin informasi data tersebut ke AI Knowledge secara manual. Seperti layaknya middleware, Cekat AI akan nglakuin request HTTP ke Malika Tools melalui fitur Integrations yang disediakan (`client to server) dan Malika Tools akan mencari data yang sesuai ke pihak klien lalu mengembalikan hasilnya ke Cekat AI (server to client). Untuk lebih jelasnya tentang middleware, dapat dipantau-pantau di HTTP, Middleware, dll

What is Middleware Actually?

Sebelum jauh menyelami tentang istilah-istilah aneh: middleware, webhook, API, dll, better mimin jelasin dulu konsep internet, web, dan aplikasi secara umum dulu ya!

Sejauh ini, udah jutaan bahkan milyaran aplikasi web yang terdaftar di internet, baik web-web receh buat portfolio yang biasanya cuma diakses sama kita-kita doang sampe web-web mahahebat milik Unicorn kayak Gojek atau Tokopedia yang udah nglakuin jutaan transaksi bersamaan dari ribuan user tanpa ngelag. Aplikasi-aplikasi web ini umumnya dijalanin di sebuah entitas bernama server. Kalau diamati secara lebih dalem, si server-server ini sebenernya ya cuma komputer seperti yang kita punya pada umumnya, tapi tugasnya spesifik digunain buat nyediain konten-konten aplikasi web yang bisa diakses di seluruh dunia. Si aplikasi web yang berjalan di atas server ini umumnya bisa kamu akses dengan ngetik alamat web atau URL tertentu (biasanya diawali http:// atau https://), misal https://tools.malika.ai.

Nah, kalo middleware itu adalah istilah yang bisa diibaratin sebagai jembatan yang menghubungkan berbagai aplikasi atau sistem dalam dunia teknologi, baik aplikasi web atau sistem yang lain. Mimin bisa bantu bayangin kalo middleware itu ya sebuah aplikasi yang duduk berjalan di sebuah sistem operasi di dalam komputer sama kek aplikasi web yang lain, tapi kerjanya spesifik buat sebagai perantara, “pintu masuk”, atau jembatan penghubung dari sistem ke sistem. Meskipun sebenernya middleware term-nya lebih luas daripada itu (alias gak melulu tentang aplikasi web), tapi biar gampang, middleware intinya adalah aplikasi (umumnya aplikasi web) yang kerjanya ngehubungin berbagai sistem atau aplikasi lain yang berbeda-beda dengan protokol dan cara komunikasi yang standar.

Nah terus apa dong ngaruhnya sama Cekat AI dan Malika Tools?

Seperti yang udah dijelasin sebelumnya, Malika Tools ini bisa dibilang sebuah middleware (atau aplikasi penghubung) antara Cekat AI (aplikasi web juga) ke data klien, yang mana bentuk dan formatnya macem-macem. Malika Tools ini bertindak sebagai “mesin pencari” dari request user ke data klien yang disambungkan ke Malika Tools. Biar lebih jelas, kita kasih contoh sebuah kasus berikut.

Pertanyaan selanjutnya yang mungkin kebayang..

Kenapa kudu repot-repot lewat Malika Tools? Kenapa gak langsung dari Cekat AI aja dari AI Knowledge?

Jawabannya adalah:

  1. Seperti yang udah dijelasin, karena datanya dinamis dan cepet berubah, mindah satu2 data baru ke AI Knowledge akan sangat tedious dan melelahkan
  2. Cekat AI secara langsung belum punya fitur connector ke data dari berbagai platform seperti Google Sheet atau yang lainnya, jadi diperluin tools khusus untuk meng-handle itu semua, yakni si middleware Malika Tools ini

What about API or Webhook? Are They Interchangeable?

Meskipun sebenernya terdapat perbedaan definisi secara teknis, baik API, webhook, atau middleware sebenernya punya tujuan yang sama: ngegabungin dan ngeintegrasi berbagai sistem atau aplikasi agar bersatu padu dan bisa bekerja sama satu sama lain. Biar lebih nambah ilmu tentang istilah-istilah itu, mimin bantu analogikan dengan poin-poin di bawah ya!

Application Programming Interface (API)

API itu jembatan komunikasi antar aplikasi. Misal, kamu buka aplikasi ojek online dan pengen tau lokasi driver, tuh aplikasi gak bisa langsung baca data GPS-nya driver, dia harus “ngobrol” dulu via API. Intinya: API = alat buat minta atau ngasih info antar sistem. Kalo kamu udah baca2 tentang middleware sebelumnya, sebenernya ini hampir mirip cuma kalo istilah API dipakai ke hal-hal yang lebih general dan luas, tidak terbatas pada aplikasi web aja.

Webhook

Webhook itu notifikasi otomatis dari server ke aplikasi atau server lain pas ada suatu kejadian atau trigger. Webhook ini bisa dibilang versi lebih advanced-nya dari API biasa, yang mana kalo API biasa kamu harus minta secara spesifik baru dikasih (request-response communication), sementara di webhook, kamu bisa dapet data atau respons dari trigger atas suatu event dari aplikasi yang bersangkutan. Trigger atau event-nya bisa macem-macem, misal ketika user menyelesaikan transaksi, melakukan proses tertentu, dll dan biasanya implementasinya spesifik di aplikasi masing-masing.

Istilah webhook ini dipake Cekat AI di bagian fitur Integrations-nya, karena dia akan ngasih data ke aplikasi lain pakai trigger atau kejadian dari pesan-pesan user. Kalau kita lihat contoh di Case 1: Apartment and Dorm Property, request dari Cekat AI ke Malika Tools query: "kos xx" bernama webhook, di mana di-trigger ketika user mengirim pesan dengan kata kunci tertentu seputar nanyain produk xx.

Middleware

Sama kek API, cuma dia lebih ke spesifik aplikasi web atau servernya, kalo definisi API lebih general: bisa aplikasi, bisa cara komunikasinya, dan lainnya.

Cekat API Integration

Setelah cukup ngerti tentang webhook, API, middleware, dan aplikasi web, then, gimana sih cara nggunain si Cekat API Integration ini? Seperti yang mimin tulis sebelumnya, Cekat API Integration ini merupakan salah satu jalan yang bisa dipake buat komunikasi dengan sistem, aplikasi, atau data di luar sana, yang mana cara komunikasinya berbasis API lalu API itu dipanggil pake webhook. Akan tetapi, untuk ke depan, mimin sepakati bahwa webhook-webhook atau API-API yang didaftarin di Integrations dengan sebutan ⚙️tools⚙️. So, biar ga bingung, kita coba telusuri tampilan menu Integrations ini yaaa 👇

Tampilan Salah Satu Tools di Integrations

Tampilan Salah Satu Tools di Integrations

Name and Description

Kamu bisa ngasih nama dan deskripsi spesifik buat tools yang kamu bikin. Better deskripsi ditulis pakai bahasa inggris dan dikasih trigger-trigger apa aja yang bisa AI lakuin, misal “call this tools whenever user is asking about product price

Method

Umumnya menggunakan POST alih-alih GET

Address

Address adalah alamat URL dari aplikasi atau sistem lain yang akan kita kirimin payload atau request yang kita definisikan di AI Inputs (Lihat AI Inputs) atau Additional Payload (Lihat Additional Payload). Untuk Malika Tools, setiap fitur memiliki address URL yang berbeda-beda, misal untuk fungsi searching data, terletak di https://tools.malika.ai/api/search. Kamu juga bisa ngemasukin address lain apabila klien punya API server sendiri dalam ngelola dan ngasih data mereka.

API Key

Berisi API Key dari API atau sistem lain yang didaftarin ke tools. Setiap API biasanya ada dokumentasi yang ngehandel terkait autentikasi dan autorisasi. Namun, Malika Tools untuk saat ini tidak perlu memerlukan API Key di tools-nya

Inputs

Terdapat dua input yang bisa dikirim ke tools, yaitu yang bersifat dinamis dari AI (AI Inputs) dan statis (Additional Payload). Adapun format dari input ini berbasis JSON Object

// JSON Example
{
'query': 'product xxx',
'limit': 10,
}

AI Inputs

AI Inputs adalah jenis input data yang akan dikirim berdasarkan trigger tertentu dari pesan yang dibaca oleh si AI ke address yang didaftarin. Karena itu, isi dari AI Inputs akan dinamis mengikuti sesuatu apa yang user tanyakan mengenai produk atau jasa. Perlu diingat, setiap address mempunyai input yang berbeda-beda. Dengan demikian, perlu diperhatikan bahwa input yang diberikan ke address tertentu harus sesuai (untuk input di setiap fitur Malika Tools, dapat dilihat di Malika Tools).

Meskipun dinamis, AI Inputs ini juga bisa kita batasi menggunakan fitur di Integrations bernama Enum, di mana kita membatasi value-value yang diberikan ke tools untuk tiap spesifik input tertentu. Seperti gambar di bawah, AI hanya bisa mengisikan input query dengan 4 nilai saja: Sampang Cilacap, Tallo Makasar, Rungkut Surabaya, dan Kelapa Gading.

Enum dari AI Inputs

Enum dari AI Inputs

Additional Payload

Input ini kurang lebih sama dengan AI Inputs, tapi berisi nilai statis yang didefinisiin ketika ngebuat atau mengedit informasi tentang tools. Biasanya dipakai untuk input-input yang statis seperti limit yang ditentukan nilainya secara spesifik (misal 10 yang berarti hanya mengembalikan data dengan jumlah 10 rows)

How Cekat AI’s Tool Could Seamlessly Works with Malika Tools v2 API Together?

Berkat fitur Integrations ini, kapabilitas Cekat AI buat nglakuin integrasi ke sistem-sistem lain jadi lebih gampang dan fleksibel. Dengan ngemanfaatin fitur ini, tim Malika nyoba untuk ngembangin sebuah middleware yang berkomunikasi dengan basis API dan webhook untuk menyempurnakan proses-proses bisnis yang kian hari makin dinamis dan kompleks dari tiap-tiap klien, terutama yang ada hubungannya sama data katalog dan lain sebagainya. Sampe sekarang, Malika Tools telah berhasil ngembangin beberapa fitur utama antara lain

  1. Search ➡️ Digunain buat ngeintegrasiin Malika Tools dengan data dari pihak klien dengan platform yang macem-macem
  2. Cek Ongkir ➡️ Pake API Raja Ongkir buat ngecek ongkir tapi input alamatnya jauh lebih simpel dan fleksibel
  3. Custom Function ➡️ Nglengkapin edge cases yang tidak tercakup dari fitur-fitur di atas tapi tetep modular dan scalable, misal buat perhitungan total harga dengan kombinasi cek ongkir dan lain sebagainya
  4. dan upcoming features yang lain seperti scheduler, invoice generator, dan lain sebagainya.

Nantinya, Malika Tools akan terus dikembangkan dengan ditambah fitur-fitur baru yang terkait dengan klien, serta melakukan optimasi agar kinerja dari sisi teknisnya jauh lebih efisien. So, untuk penjelasan tentang Malika Tools, bisa lanjut ke bagian berikutnya ya!