“Bagaimana membantu petani menjual ikan dengan mengetahui pembudidayaan lebih dulu?”

Sebuah tantangan yang muncul yang ingin saya selesaikan, yang sebenarnya muncul lagi permasalahan baru,

“Kayanya harus mulai bikin tools baru”

Pernyataan paling malesin yang harus melewati proses panjang dari “Ideasi, Validasi dan Prototyping” dan baru masuk ke tahap Development.

Baru munculah tantangan baru “tools seperti apa yang mudah digunakan siapapun dengan segala umur, tanpa perlu install dan sudah terbiasa orang lain pakai, bahkan orang selevel petani yang kurang familiar dengan dunia digital?”

Dari sinilah muncul inisiatif aku untuk membuat Whatsapp ChatBot NeMo.

Sebuah inisiatif untuk membantu semua orang meringankan input data.

Akhirnya jadilah NeMo dan kalian dapat cek disini https://github.com/eFishery/NeMo, NeMo ini punya fitur utama diantaranya :

  1. Tanya Jawab
  2. Scheduling kirim pesan
  3. Parsing URL Request

Gitu aja ? yup sederhana ko, karena memang tujuan utama dari tools ini adalah eksperimen untuk pengembangan tools, apakah perlu dikembangkan ke tools yang lebih lanjut apa input gini aja udah cukup? Untuk memberikan aturan ke NeMo cukup dengan membuat file yang NeMo sebut coral. coral ini adalah nama folder yang didalamnya berisi konfigurasi ChatBot, konfigurasinya berupa file dalam bentuk format YAML, contoh pada file basic.yml isinya kurang lebih seperti berikut:

Kalau dijabarkan konfigurasi diatas diantaranya terdapat :

  • author berfungsi sebagai mendefinisikan author daripada konfigurasi coral ini.

  • default_greeting adalah konfigurasi untuk mengirimkan pesan default, jika user melakukan chat apapun (di luar pada bagian commands) ke NeMo, maka NeMo akan membalas ke user dengan pesan default.

  • commands adalah konfigurasi jika ada user melakukan chat !start ke NeMo (!start adalah gabungan keyprefix dan command) maka akan mengirimkan pesan pada message.

  • Kalau lihat pada commands terdapat key run_process ini berelasi dengan process dimana NeMo diperintahkan untuk menjalankan process jika user melakukan chat !start ke NeMo

  • Lalu bagianprocess untuk menspesifikasikan pertanyaan yang akan ditanyakan ke expected_users, pertanyaannya diambil dari questions.

  • Kalau dilihat pada konfigurasi questions banyaknya question adalah banyaknya pertanyaan yang akan ditanyakan ke expected_users. Setiap kali user menjawab pertanyaan NeMo, jawabannya divalidasi dengan menggunakan aturan regex. Aturan ini dimasukkan pada validation rule di setiap konfigurasi question. Jika user menjawab dan tidak sesuai dengan validation rule, maka NeMo akan meminta input ulang, kurang lebih interaksi nya NeMo seperti berikut :

Diatas sudah dibahas tentang expected_users, dimana konfigurasi ini bermaksud untuk menspesifikan nomor telepon yang dapat berkomunikasi dengan NeMo. Batasannya adalah setiap mau membuat konfigurasi NeMo maka harus menambahkan nomor telepon untuk bisa berkomunikasi dengan NeMo. Harapannya kedepan tidak ada batasan user seperti ini, supaya bisa melakukan komunikasi dengan NeMo tanpa perlu memasukan list nomor telepon.

Selanjutnya bagaimana supaya semua jawaban yang di input user tersimpan, NeMo memberikan konfigurasi webhook. Aturan menggunakan webhook ini dapat digunakan jika konfigurasi commands record itu dalam keadaan True. Fungsi utamanya adalah setiap jawaban yang ditulis oleh user dikirimkan ke URL dalam bentuk pesan webhook, dengan data format yang dikirimkannya kurang lebih seperti berikut :

Dengan data webhook yang dikirimkan oleh NeMo ke url tersebut sudah memberikan jawaban semua data yang diinputkan dapat menjadi data insight.

Pada akhirnya tools ini kami pakai untuk memudahkan petani atau tim operation untuk menyimpan data dengan cukup buka whatsapp, tanpa install lagi tools apapun, dan chat. Udah.

Challenge bisnis dari ChatBot ini adalah User Experience yang perlu diperhatikan karena user perlu betul betul paham ini adalah bot dan bagaimana cara penggunaannya.

lalu ini kepake buat apa ya ?

Nah ini, uniknya aku bikin NeMo ternyata bisa dipakai buat keperluan lain, misalnya,

Pragmatis Input Data oleh Petani

Case yang saya pakai di eFishery terutama untuk menyederhanakan data input, karena petani rata rata hanya menggunakan whatsapp, sms dan facebook, maka kita pakai lah whatsapp sebagai platform tanya jawab terkait dengan petani, jadi petani akan tertarik karena seperti diajak diskusi.

Kemudian setiap chat whatsapp yang ditulis petani disimpan ke database.

ChatBot untuk Automate Pesanan (?)

Bayangin kamu jualan semuanya disimpan manual ke excel, cape kan? Dan terkadang harus buka chat lalu tulis ulang. Pengen coba implementasi ini dengan NeMo apakah efektif ? Yah ini salah satu contoh NeMo bisa dipakai untuk meringankan salah satu proses keseharian.

Daily Analytic ke Grup

Karena NeMo ada fungsi parsing dari URL dan scheduling, jadi engineer cukup bikin API yang akan menampilkan data analytic dan di lempar sama NeMo setiap harinya.

Hampir keseluruhan kerjaan bisa dibantu sama NeMo, kalau menurut kalian seru, mungkin aku coba bikin artikel baru untuk “automate pemesanan barang” dan “daily analytic ke grup”, jika artikel ini banyak yang berminat.

Apalagi ? I don’t know silakan berkreasi

Dengan senang hati kami publikasikan tools ini untuk penggunaan umum, bahkan dengan senang hati jika tools ini bisa dikembangkan menjadi tools yang lebih baik. Untuk mendapatkan botnya dapat cek https://github.com/eFishery/NeMo dan untuk dokumentasi lengkap silahkan akses https://nemo-efishery.readthedocs.io/

Sekian

Hi! saya saya Yahya, Software Engineer Lead di eFishery bertanggung jawab sebagai Lead Engineer pada bagian Supply Demand, sering sering cek tulisan engineer eFishery buat liat hal hal keren lagi.

Sekalian ayok gabung eFishery!

Thanks!