Browser Function
Pengantar
Browser Function memungkinkan bot Anda berinteraksi langsung dengan website tempat widget ditanamkan. Alih-alih hanya membalas dengan teks, bot Anda dapat memicu aksi di dalam browser itu sendiri, seperti mengarahkan pengguna ke halaman lain, membuka bagian tertentu dari halaman, atau memanggil script kustom yang sudah didefinisikan di situs Anda.
Ini memungkinkan bot Anda melampaui percakapan biasa. Bot dapat merespons permintaan pelanggan dengan bertindak langsung di website secara realtime.
Contoh Penggunaan
Browser Function dapat digunakan dalam berbagai skenario, seperti:
- Mengarahkan pengguna ke halaman detail atau produk tertentu
- Membuka bagian atau modal tertentu pada halaman saat ini
- Memicu script kustom yang sudah diimplementasikan di website Anda (misalnya membuka toko, scroll ke bagian tertentu, menerapkan filter)
Persyaratan
Fitur ini hanya berfungsi jika widget yang Anda gunakan adalah embed code yang terpasang di website atau platform Anda. Anda juga memerlukan setidaknya keahlian teknis atau scripting dasar, karena Browser Function bergantung pada script/function yang sudah ada di website Anda dan dipanggil melalui Function Key.
Cara Mengakses Browser Function
Anda dapat mengakses Browser Function dari area konfigurasi bot.
Buka:
Bots → Pilih bot Anda → Tools → Browser Function

Dari tab ini, Anda dapat membuat, mengelola, dan mengonfigurasi aksi browser yang akan dipicu bot Anda selama percakapan.
Penjelasan Form Browser Function
Berikut penjelasan setiap field untuk mengonfigurasi Browser Function dan cara menggunakannya secara efektif.
Name
Field ini mendefinisikan nama Browser Function Anda.
Gunakan nama yang jelas dan deskriptif agar mudah mengidentifikasi tujuannya nanti, terutama jika Anda memiliki beberapa Browser Function yang dikonfigurasi.
Contoh:
Redirect to detail page

Function Key
Ini adalah function yang akan dipanggil di browser. Nilai ini harus unik.
Function Key harus sesuai dengan function/script yang sudah didefinisikan di website Anda, karena inilah yang akan dipanggil bot ketika condition terpenuhi.
Contoh:
redirect-to-detail

When should the chatbot trigger the browser function?
Ini adalah salah satu field terpenting.
Definisikan kondisi yang jelas (misalnya keywords, masalah urgent, atau topik sensitif) agar chatbot memicu browser function ini. Bot akan menggunakan instruksi ini untuk memutuskan kapan mengeksekusi function secara otomatis selama percakapan.
Jelaskan secara spesifik dan sertakan contoh intent pengguna.
Contoh yang baik:
Trigger when the user wants to browse, see all products, or explore a category, e.g. "show me what you have", "what bouquets do you sell", "I want to look at plants", "browse your store", "how to shop online".
Tips:
- Deskripsikan intent, bukan hanya frasa yang persis
- Sertakan variasi cara pengguna mungkin bertanya
- Hindari terlalu abstrak (misalnya "when user asks something")
Content
Ini adalah konten yang akan dikirim ke browser ketika function dipanggil. Bisa berupa JSON, XML, atau plain string.
Konten dikirim sebagai payload dari pemanggilan function, jadi strukturkan sesuai dengan apa yang diharapkan oleh function di website Anda.
Contoh:
{"url": "https://example.com"}
Custom Response When Condition is Triggered
Field ini mendefinisikan respons yang dikirim chatbot ke pengguna ketika browser function dipicu.
Gunakan ini untuk memberi tahu pelanggan apa yang baru saja terjadi, sehingga interaksi terasa alami alih-alih aksi yang diam-diam terjadi di background.
Contoh:
Here you go! I've opened our shop so you can browse everything we have in bloom right now.☺️
Fallback Message
Ini adalah pesan yang ditampilkan ketika browser function tidak didukung. Ini berlaku ketika web widget tidak diakses melalui embedded code, sehingga tidak ada browser/website untuk function bertindak.
Gunakan field ini untuk tetap memberikan respons yang berguna, misalnya dengan membagikan link langsung alih-alih melakukan aksi.
Contoh:
Browse our full collection here: https://example.com/shop/
Integrasi Embed Code
Browser Function paling bermanfaat ketika bot Anda digunakan melalui embed code Web Widget, karena function sebenarnya dieksekusi oleh script website Anda sendiri, bukan oleh Onechat.
Agar ini berfungsi, tambahkan listener untuk event browserFunction pada window.WebSDK di script website Anda. Ketika kondisi trigger terpenuhi, Onechat akan mengirimkan event ini beserta Content yang Anda konfigurasi sebagai payload, dan script Anda memutuskan aksi apa yang akan dilakukan.
window.WebSDK.on("browserFunction", (payload) => {
const content = JSON.parse(payload.content);
window.open(content.url, "_blank");
});Pada contoh di atas:
payload.contentadalah nilai Content yang Anda set di form Browser Function, dikirim sebagai stringJSON.parse(payload.content)mengubahnya menjadi object sehingga Anda dapat membaca propertinya (misalnyacontent.url)window.open(content.url, "_blank")adalah aksi sebenarnya yang dilakukan di browser, dalam hal ini membuka URL di tab baru
Anda tidak terbatas pada membuka URL. Karena ini adalah JavaScript biasa yang berjalan di website Anda, Anda dapat menggunakan payload untuk melakukan aksi apa pun yang didukung situs Anda, seperti scroll ke bagian tertentu, membuka modal, atau menerapkan filter.
Penting: Pastikan script ini ditambahkan ke halaman yang sama tempat
embed code Web Widget Anda terpasang, jika tidak window.WebSDK tidak akan
tersedia dan event tidak akan pernah tertangkap.
Langkah Akhir
Setelah melengkapi semua field yang diperlukan dan konfigurasi, klik Save & Activate untuk mengaktifkan Browser Function.
Setelah diaktifkan, chatbot Anda akan dapat memicu browser function berdasarkan kondisi yang Anda definisikan, dan merespons dengan sesuai baik function tersebut didukung maupun tidak.
Best Practices
Untuk memastikan performa dan keandalan optimal:
- Pastikan Function Key sesuai dengan function/script yang sudah ada di website Anda
- Uji Browser Function Anda di widget yang sudah di-embed untuk memastikan berfungsi sesuai harapan
- Gunakan kondisi trigger yang jelas untuk menghindari aksi browser yang tidak diinginkan
- Selalu konfigurasi Fallback Message agar pengguna tetap mendapat respons yang berguna di luar embedded widget