Your AI Connector Docs

Fungsi Kustom

Fungsi kustom memungkinkan bot AI Anda terhubung ke sistem lain selama percakapan langsung. Alih-alih mengatakan “Saya akan periksa dan kembali kepada Anda,” bot dapat mencari status pesanan, memeriksa inventaris, atau membuat catatan di CRM (sistem manajemen hubungan pelanggan - perangkat lunak yang Anda gunakan untuk melacak prospek dan pelanggan, seperti HubSpot atau Salesforce) Anda - semuanya secara waktu nyata, saat pelanggan menunggu.


Fungsi Kustom vs Webhook

Ini adalah poin kebingungan yang paling umum, jadi ada baiknya untuk memperjelasnya sebelum Anda membangun apa pun.

Webhook Fungsi Kustom
Arah Satu arah (kirim dan lupakan) Dua arah (panggil dan tunggu)
Apa yang dilakukan bot Mengirimkan notifikasi saat sesuatu terjadi, lalu terus berjalan. Memanggil keluar, berhenti sejenak, menunggu respons, dan menggunakan apa yang kembali untuk melanjutkan percakapan.
Visibilitas ke percakapan Hasil hilir tidak terlihat oleh bot — bot tidak pernah melihat apa yang terjadi. Respons dimasukkan langsung kembali ke AI, sehingga bot dapat mengutipnya, menalar tentangnya, dan membalas pelanggan dengannya.
Terbaik untuk Mencatat peristiwa, menyinkronkan data ke CRM, memicu otomatisasi eksternal (Zapier, Make, n8n). Apa pun di mana bot memerlukan jawaban sebelum dapat membalas — pencarian langsung, penetapan harga waktu nyata, pembuatan konten secara instan.

Kapan memilih yang mana: Jika Anda hanya perlu memberi tahu sistem lain bahwa sesuatu telah terjadi, gunakan webhook - pesan otomatis satu arah yang dikirim ke sistem lain (lihat Pengaturan → Integrasi → Webhook). Jika bot perlu mempelajari sesuatu dari sistem lain sebelum melanjutkan percakapan, gunakan fungsi kustom.


Contoh Apa yang Dibuka oleh Fungsi Kustom

Karena respons dimasukkan kembali ke dalam percakapan, fungsi kustom membuka hal-hal yang tidak dapat dilakukan oleh webhook:

  • Pencarian inventaris Shopify atau WooCommerce langsung — Sebelum memberikan penawaran kepada pelanggan, bot memeriksa stok secara waktu nyata dan menjawab “Ya, kami memiliki 12 dalam ukuran M” alih-alih “biarkan saya periksa dan kembali kepada Anda.”
  • Penetapan harga dinamis dari Google Sheet — Tim penjualan Anda memperbarui harga di lembar; bot membaca baris terbaru di tengah percakapan dan memberikan harga saat ini tanpa ada yang menyentuh konfigurasi AI.
  • Agen panggilan balik AI suara — Saat bot mengkualifikasi prospek, bot memicu agen suara (misalnya, penelepon bertenaga ElevenLabs) untuk menelepon balik prospek dalam hitungan menit, dan mengonfirmasi kepada pelanggan “bagus, nantikan panggilan dalam 5 menit ke depan.”
  • PDF penawaran kustom, dibuat dan dikirim melalui email di tengah obrolan — Bot mengumpulkan persyaratan, memanggil pembuat penawaran Anda, mendapatkan kembali URL PDF, dan memberi tahu pelanggan “Saya baru saja mengirimkan penawaran Anda melalui email — periksa kotak masuk Anda.”

Apa yang Dapat Dilakukan Fungsi Kustom?

Anggap fungsi kustom sebagai pemberian kekuatan super kepada bot Anda selain sekadar mengobrol. Berikut adalah contoh dunia nyata:

  • Pelacakan pesanan - Pelanggan bertanya “Di mana pesanan saya?” dan bot memeriksa sistem e-commerce Anda serta membalas dengan status pengiriman dan tautan pelacakan
  • Pemeriksaan inventaris - “Apakah Anda memiliki ini dalam ukuran 10?” Bot memeriksa sistem stok Anda dan memberikan jawaban waktu nyata
  • Pembaruan CRM - Saat bot mengkualifikasi prospek, bot secara otomatis membuat atau memperbarui catatan di HubSpot, Salesforce, atau CRM lainnya
  • Pembuatan penawaran - Bot mengumpulkan persyaratan pelanggan dan membuat penawaran yang dipersonalisasi dari sistem penetapan harga Anda
  • Pemesanan - Bot membuat janji temu di sistem pemesanan eksternal Anda
  • Verifikasi diskon - “Apakah kode kupon ini valid?” Bot memeriksa dan mengonfirmasi
  • Pencarian akun - Pelanggan yang kembali dikenali secara otomatis dan detail akun mereka ditarik

Pelanggan tidak pernah melihat apa yang terjadi di balik layar. Mereka hanya merasakan bot yang dapat menjawab pertanyaan mereka dengan informasi nyata dan terkini.


Bagaimana Fungsi Kustom Bekerja (Versi Sederhana)

Berikut adalah apa yang terjadi ketika fungsi kustom dipicu selama percakapan:

  1. Pelanggan menanyakan sesuatu yang memerlukan data waktu nyata (misalnya, “Di mana pesanan saya?”)
  2. Bot mengenali bahwa ia perlu menggunakan fungsi kustom untuk menjawab
  3. Bot mengumpulkan informasi apa pun yang kurang dari pelanggan (misalnya, “Berapa nomor pesanan Anda?”)
  4. Platform mengirimkan permintaan ke sistem Anda (situs web, CRM, atau alat lainnya) dengan detail yang relevan
  5. Sistem Anda merespons dengan data (misalnya, status pesanan, nomor pelacakan, tanggal pengiriman)
  6. Bot membaca respons dan menyusun balasan yang natural: “Pesanan Anda ORD-4582 telah dikirim dan akan tiba pada hari Jumat!”

Berapa biaya panggilan fungsi kustom

Setiap panggilan fungsi kustom ditagihkan berdasarkan tingkat Kualitas AI Agen Anda:

Tingkat Kualitas AI Kredit per panggilan fungsi kustom Dengan kunci Anthropic Anda sendiri (BYOK) terhubung
Pro 1 kredit 0 kredit — berjalan menggunakan kunci Anda
Ekonomi (tidak digunakan lagi) 0,5 kredit 0 kredit — berjalan menggunakan kunci Anda
Max 0,25 kredit tetap 0,25 kredit, ditagihkan meskipun kunci Anda sendiri terhubung, karena Max berjalan pada model kami sendiri
Mini 0,15 kredit tetap 0,15 kredit, ditagihkan meskipun kunci Anda sendiri terhubung, karena Mini berjalan pada model kami sendiri

Menyiapkan Fungsi Kustom (Langkah demi Langkah)

  1. Di bilah sisi utama, di bawah AI Studio, klik Custom Functions.
  1. Klik tombol hijau + Add Function (atau New function) di kanan atas.

Daftar fungsi kustom menampilkan tabel dengan kolom-kolom berikut:

Kolom Apa yang Ditampilkan
Name Nama fungsi (misalnya, check_order_status)
Description Ringkasan singkat tentang fungsi tersebut (dipotong hingga 50 karakter dalam tabel)
Method Metode HTTP yang digunakan, ditampilkan sebagai lencana berwarna: GET (biru), POST (hijau), PUT (oranye), DELETE (merah)
Created Tanggal fungsi dibuat

Hal ini memudahkan Anda untuk melihat sekilas fungsi Anda dan menemukan yang Anda butuhkan.

Langkah 1: Berikan Nama dan Deskripsi

Bidang Apa yang Harus Diisi Contoh
Name Nama singkat menggunakan huruf, angka, dan garis bawah check_order_status
Description Jelaskan apa yang dilakukan fungsi ini (AI membaca ini untuk memutuskan kapan harus menggunakannya) “Mencari status terkini pesanan pelanggan menggunakan nomor pesanan mereka”
Purpose (AI Action) Beri tahu AI kapan dan bagaimana tepatnya menggunakan fungsi ini “Gunakan ini saat pelanggan bertanya tentang status pesanan, pengiriman, atau pengantaran. Minta nomor pesanan mereka terlebih dahulu.”

Tips: Jadilah sangat spesifik dalam deskripsi dan tujuan. Semakin jelas Anda mengenai kapan fungsi tersebut harus digunakan, semakin andal bot akan menggunakannya pada waktu yang tepat.

Langkah 2: Siapkan Koneksi

Anda perlu memberi tahu aplikasi ke mana harus mengirim permintaan:

Bidang Apa yang Harus Dimasukkan Contoh
URL Alamat web titik akhir sistem Anda (alamat spesifik pada sistem Anda yang menerima permintaan dan mengirimkan kembali data) https://api.yourstore.com/v1/orders/status
Metode Jenis permintaan yang akan dikirim Lihat opsi di bawah

Metode mana yang harus dipilih:

Metode Kapan Harus Digunakan
GET Mencari informasi (status pesanan, inventaris, detail akun)
POST Membuat catatan baru (tiket dukungan, prospek, pemesanan) atau pencarian kompleks
PUT Memperbarui catatan yang sudah ada sepenuhnya
PATCH Memperbarui sebagian dari catatan yang sudah ada
DELETE Menghapus catatan

Jika Anda tidak yakin mana yang harus digunakan, tanyakan kepada pengembang Anda atau periksa dokumentasi sistem yang Anda hubungkan. GET (untuk pencarian) dan POST (untuk membuat catatan) adalah yang paling umum.

Langkah 3: Tambahkan Header Autentikasi

Sebagian besar sistem memerlukan autentikasi untuk menerima permintaan. Tambahkan header yang diperlukan:

Header Nilai Contoh
Authorization Bearer your-api-key-here
Content-Type application/json

Tips keamanan: Gunakan kunci API khusus dengan izin terbatas. Jangan gunakan kredensial tingkat admin.

Di mana menemukan kunci API: Periksa bagian pengaturan atau pengembang dari sistem yang Anda hubungkan (misalnya, CRM, platform e-commerce, atau alat pemesanan Anda).

Langkah 4: Tentukan Input (Apa yang Dikirim Bot)

Parameter input adalah potongan informasi yang dikumpulkan bot dari percakapan dan dikirim ke sistem Anda.

Untuk setiap parameter, Anda menentukan:

Properti Apa Artinya
Nama Nama parameter (harus sesuai dengan yang diharapkan sistem Anda)
Tipe Jenis data (teks, angka, benar/salah, dll.)
Deskripsi Beri tahu AI informasi apa ini dan di mana menemukannya dalam percakapan
Wajib Jika diatur ke Ya, bot akan meminta informasi ini kepada pelanggan sebelum melanjutkan

Tipe parameter yang tersedia:

Tipe Apa Artinya
string Teks (nama, nomor pesanan, alamat)
number Nilai numerik (kuantitas, harga)
boolean Benar atau salah (nilai ya/tidak)
array Daftar item. Dikirim sebagai daftar JSON asli — di Jalankan Uji Anda dapat mengetiknya sebagai [8624], ["a", "b"] atau cukup dipisahkan dengan koma (8624, 8625) dan itu akan dikonversi untuk Anda. Jika API Anda ketat mengenai isi daftar — misalnya hanya angka — atur Tipe item opsional di samping tipe tersebut dan setiap nilai dalam daftar akan dikonversi ke tipe tersebut.
query_param Teks yang dikirim sebagai parameter URL alih-alih di dalam badan permintaan. Gunakan ini saat API Anda mengharapkan data di dalam URL (misalnya, ?order_id=123).

Setiap parameter juga memiliki kolom Request body path opsional. Biasanya, parameter dikirim sebagai kolom tingkat atas dalam isi permintaan (atau sebagai nilai string kueri, untuk tipe query_param). Jika endpoint Anda mengharapkannya dalam bentuk bersarang — misalnya {"order": {"id": "ORD-123"}} — atur path ke order.id dan platform akan menyarangkan nilainya di sana untuk Anda.

Contoh: Untuk pencarian status pesanan, Anda mungkin menentukan:

  • order_number (string, wajib): “Nomor pesanan pelanggan. Biasanya dimulai dengan ORD- diikuti oleh angka. Tanyakan ini kepada pelanggan jika mereka belum menyebutkannya.”
  • email (string, opsional): “Alamat email pelanggan untuk verifikasi tambahan. Hanya diperlukan jika nomor pesanan saja tidak menemukan kecocokan.”

Apa yang Diterima Sistem Anda Secara Otomatis

Selain parameter input yang Anda tentukan, platform secara otomatis menyertakan data sistem pada setiap permintaan. Endpoint Anda menerima ini di kolom system:

Bidang Sistem Apa Isinya
system.contactId ID platform kontak dalam percakapan
system.campaignId ID kampanye tempat percakapan tersebut berada
system.userId ID pengguna Anda
system.channel Saluran perpesanan (misalnya, "whatsapp", "instagram")
system.contact Catatan kontak lengkap (nama, telepon, email, tag, dll.)
system.campaign Konfigurasi kampanye
system.test true jika ini adalah uji coba, false untuk percakapan langsung

Ini berguna jika sistem Anda perlu mengidentifikasi kontak, memeriksa kampanye mana yang memicu fungsi tersebut, atau berperilaku berbeda selama pengujian.

Tidak butuh data sistem? Aktifkan tombol Lewati Data Sistem di pembuat fungsi. Bot kemudian hanya akan mengirimkan parameter input yang Anda tentukan — tanpa data kontak atau kampanye. Gunakan ini jika endpoint Anda menolak kolom yang tidak terduga atau Anda hanya menginginkan payload yang lebih ramping.

Langkah 5: Uji, Lalu Biarkan Bot Membaca Responsnya

Anda biasanya tidak perlu memetakan kolom respons sama sekali. Setelah endpoint Anda merespons, bot akan membaca seluruh respons JSON dan menggunakan Deskripsi serta Tujuan (Tindakan AI) fungsi Anda — ditambah deskripsi masing-masing parameter — untuk menentukan apa yang penting dan menyajikannya secara alami. Deskripsi yang jelas pada fungsi itu sendiri (“Mengambil status pesanan pelanggan saat ini termasuk info pengiriman dan pelacakan”) melakukan lebih banyak pekerjaan di sini daripada pemetaan per kolom.

Jika endpoint Anda mengembalikan respons yang besar dan Anda hanya ingin bot melihat beberapa nilai tertentu, buka bagian Pemetaan respons (diciutkan secara default, tepat di atas Uji). Setiap baris memilih satu kolom tingkat atas dari respons: Kolom respons adalah nama kolom dalam balasan JSON API Anda, dan Kolom output adalah nama yang diterima bot untuk kolom tersebut. Dengan setidaknya satu baris yang diisi, bot hanya akan mendapatkan nilai yang Anda petakan alih-alih seluruh isi respons. Biarkan bagian tersebut kosong untuk mempertahankan perilaku respons penuh default.

Sebelum Anda menyimpan, gunakan bagian Uji di bagian bawah pembuat untuk mengirim permintaan persis seperti yang dikonfigurasi dan melihat respons sebenarnya, tanpa meninggalkan aplikasi:

Respons yang Anda lihat di sini adalah balasan mentah dari endpoint. Jika Anda telah mengatur Pemetaan respons di atas, bot dalam obrolan nyata hanya akan menerima kolom yang dipetakan tersebut — pengujian selalu menampilkan respons mentah lengkap agar Anda dapat melihat apa saja yang tersedia untuk dipetakan. Jika ada sesuatu yang terlihat tidak sesuai (nama kolom yang tidak terduga, penumpukan tambahan), perbaiki pada endpoint Anda atau sesuaikan pemetaan Anda.


Menetapkan Fungsi ke Agen

Setelah membuat fungsi kustom, Anda perlu memberi tahu setiap Agen fungsi mana yang dapat digunakannya:

  1. Buka Agen di bawah AI Studio → AI Agents.
  2. Buka tab AI Abilities miliknya. (Untuk kampanye yang masih menyimpan pengaturan AI-nya sendiri secara langsung alih-alih melalui Agen terpisah, daftar yang sama akan muncul di langkah AI Abilities kampanye tersebut.)
  3. Anda akan melihat daftar setiap fungsi kustom yang telah Anda buat. Aktifkan setiap fungsi yang ingin Anda panggil oleh bot Agen ini.
  4. Klik Simpan perubahan di bagian bawah. Pilihan hanya berlaku setelah disimpan.

Hanya fungsi yang ditetapkan yang tersedia bagi bot untuk Agen tersebut. Ini mencegah bot menggunakan fungsi yang tidak relevan secara tidak sengaja.


Menguji Fungsi Kustom Anda

Sebelum ditayangkan, lakukan pengujian secara menyeluruh:

  1. Jalankan Uji bawaan - Gunakan bagian Uji di dalam pembuat fungsi (lihat di atas) untuk pemeriksaan cepat tanpa meninggalkan aplikasi — isi dengan nilai realistis dan klik Jalankan uji.
  2. Uji endpoint sistem Anda secara langsung - Untuk daftar periksa lengkap di bawah, alat khusus seperti Postman (atau pengembang Anda) akan menggali lebih dalam daripada sekadar satu kali Jalankan uji.
  3. Uji di Coba - Simulasikan percakapan di mana pelanggan menanyakan sesuatu yang seharusnya memicu fungsi tersebut.
  4. Periksa respons - Pastikan bot membaca dan menyajikan data dengan benar.
  5. Uji skenario kesalahan - Apa yang terjadi jika pelanggan memberikan nomor pesanan yang tidak valid? Bagaimana jika sistem Anda sedang down sementara?

Saat pengujian menghasilkan 401 atau 403

Respons 401 atau 403 berarti endpoint Anda menerima permintaan tersebut namun menolaknya. Indikasinya adalah tidak ada yang muncul di log Anda sendiri — sebagian besar alat menolak panggilan yang tidak sah sebelum alur kerja dimulai, sehingga tidak ada yang terlihat di sisi Anda dan seolah-olah permintaan tersebut tidak pernah sampai.

Hampir selalu ini disebabkan oleh ketidakcocokan autentikasi: endpoint Anda menginginkan satu jenis kredensial, sementara fungsi mengirimkan jenis yang berbeda. Periksa apakah header yang Anda tambahkan di Langkah 3 adalah header yang tepat yang diharapkan oleh sistem Anda.

Versi paling umum dari masalah ini adalah webhook yang dilindungi dengan Basic Auth (n8n, Make, dan sebagian besar alat yang di-host sendiri menawarkan ini sebagai kotak centang pada webhook itu sendiri) sementara fungsi mengirimkan header rahasia kustom seperti X-My-Secret. Basic Auth hanya menerima header Authorization, sehingga header kustom diabaikan dan panggilan ditolak. Anda memiliki dua opsi:

  • Matikan Basic Auth pada webhook, dan periksa header kustom Anda di dalam alur kerja sebagai gantinya.
  • Tetap aktifkan Basic Auth, dan tambahkan header Authorization ke fungsi yang nilainya adalah kata Basic diikuti oleh username:password Anda yang telah dienkode base64.

Keduanya berhasil — pastikan saja kedua sisi sepakat.

Saat pengujian menghasilkan 404

URL endpoint salah, atau alur kerja belum dipublikasikan. Khusus di n8n, setiap webhook memiliki URL Test dan URL Production yang terpisah, dan URL Test hanya mendengarkan saat editor terbuka. Salin URL Production dan pastikan alur kerja sudah aktif.

Melihat kegagalan di Try Out dan Chats

Saat AI memanggil fungsi kustom selama percakapan dan panggilan tersebut gagal — kredensial salah, endpoint tidak aktif, waktu habis — percakapan sekarang akan menunjukkannya: penanda “(nama fungsi) gagal” berwarna merah akan muncul di utas, baik di tab Try Out agen maupun percakapan nyata di Chats. Klik penanda tersebut untuk memperluas detailnya: kode status yang dikembalikan oleh endpoint Anda dan isi responsnya, yang biasanya cukup untuk memberi tahu Anda apa yang perlu diperbaiki (sebuah 401 dengan pesan “unauthorized” berarti header autentikasi, waktu habis berarti endpoint Anda membutuhkan waktu lebih dari 30 detik).

Panggilan yang berhasil juga menampilkan penanda — klik penanda tersebut untuk melihat apa yang sebenarnya dikirim kembali oleh endpoint Anda. Ini adalah cara tercepat untuk men-debug integrasi dari ujung ke ujung: lakukan percakapan pengujian di Try Out, lalu klik penanda fungsi untuk melihat hasil permintaan yang sebenarnya tanpa meninggalkan halaman.


Contoh Lengkap: Pencarian Status Pesanan

Berikut adalah contoh yang telah dikonfigurasi sepenuhnya yang dapat Anda gunakan sebagai templat:

Informasi Dasar:

  • Nama: check_order_status
  • Deskripsi: “Mengambil status pesanan pelanggan saat ini termasuk info pengiriman dan pelacakan”
  • Tindakan AI: “Panggil ini saat pelanggan bertanya tentang status pesanan mereka, di mana paket mereka berada, atau kapan paket akan tiba. Selalu minta nomor pesanan terlebih dahulu.”

Koneksi:

  • URL: https://api.mystore.com/orders/lookup
  • Metode: POST

Header:

  • Authorization: Bearer sk_live_abc123
  • Content-Type: application/json

Parameter Input:

  • order_number (teks, wajib): “Nomor pesanan yang diberikan oleh pelanggan”
  • customer_email (teks, opsional): “Email pelanggan untuk verifikasi tambahan”

Tidak perlu pemetaan respons — dengan Deskripsi dan Tindakan AI yang jelas sudah diatur di atas, bot membaca JSON apa pun yang dikembalikan oleh endpoint Anda (status, nomor pelacakan, tanggal pengiriman, item) dan mencari tahu cara membicarakannya.

Seperti apa percakapannya:

Pelanggan: Hei, di mana pesanan saya?

Bot: Hai! Saya akan dengan senang hati memeriksa pesanan Anda. Bisakah Anda membagikan nomor pesanan Anda kepada saya?

Pelanggan: ORD-78234

Bot: Izinkan saya mencarinya untuk Anda…

Pesanan Anda ORD-78234 telah dikirim dan sedang dalam perjalanan! Perkiraan tanggal pengiriman adalah 10 Maret. Anda dapat melacak paket Anda di sini: https://tracking.example.com/1Z999AA1

Apakah ada hal lain yang bisa saya bantu?


Contoh Lengkap: Status Pesanan Shopify

Jika toko menggunakan Shopify, Anda tidak memerlukan pengembang untuk membuat endpoint pencarian — sistem Shopify sendiri dapat menjawab pertanyaan pesanan secara langsung. (Untuk pertanyaan produk dan stok di toko Shopify, Anda sama sekali tidak memerlukan fungsi kustom: hubungkan server bawaan toko sebagai gantinya — lihat Hubungkan toko Shopify.)

Pertama, buat token akses di Shopify. Shopify mengubah hal ini selama tahun 2026: aplikasi tidak lagi dapat dibuat di dalam admin Shopify, dan layar aplikasi baru memberikan Anda Client ID dan Client secret alih-alih token yang sudah jadi. Langkah-langkah di bawah ini mengubahnya menjadi token permanen. Luangkan waktu sekitar sepuluh menit, satu kali per toko. (Jika toko sudah memiliki aplikasi lama yang dibuat dengan cara lama, token yang ada akan tetap berfungsi — langsung lewati ke fungsi kustom di bawah.)

  1. Buka Dasbor Pengembang Shopify di dev.shopify.com, buka organisasi Anda, dan klik Apps → Create app. Beri nama seperti Order lookup.
  2. Berikan izin read_orders pada aplikasi, rilis versi, dan instal aplikasi di toko.
  3. Buka Settings aplikasi dan tambahkan alamat web toko Anda (misalnya https://www.yourstore.com/) ke URL pengalihan yang diizinkan. Simpan.
  4. Masih di Settings, salin Client ID dan Client secret.
  5. Di browser tempat Anda masuk ke admin Shopify toko tersebut, buka alamat di bawah ini, ganti nama toko, ID klien, dan alamat pengalihan dengan milik Anda: https://YOUR-STORE.myshopify.com/admin/oauth/authorize?client_id=YOUR-CLIENT-ID&scope=read_orders&redirect_uri=https://www.yourstore.com/&state=12345 Setujui layar yang muncul. Browser akan mendarat di alamat pengalihan Anda dan bilah alamat sekarang berisi code= diikuti oleh nilai yang panjang — salin nilai tersebut. Nilai ini hanya berlaku selama beberapa menit, jadi segera lanjutkan ke langkah berikutnya.
  6. Tukar kode tersebut dengan token, yang dapat Anda lakukan di dalam Your AI Connector. Di pembuat fungsi kustom, atur Method ke POST dan URL ke https://YOUR-STORE.myshopify.com/admin/oauth/access_token, tambahkan tiga parameter input teks bernama client_id, client_secret, dan code, lalu klik Test, isi ketiga nilai tersebut, dan jalankan. Responsnya berisi access_token — itulah token permanen Anda. Salin ke tempat yang aman, lalu bersihkan pembuat fungsi dan siapkan fungsi yang sebenarnya di bawah.

Kemudian siapkan fungsi kustom:

Informasi Dasar:

  • Nama: check_shopify_order
  • Deskripsi: “Mencari pesanan di sistem Shopify toko dan mengembalikan status, pelacakan, dan itemnya”
  • Tindakan AI: “Panggil ini saat pelanggan bertanya tentang status pesanan atau pengiriman mereka. Selalu minta nomor pesanan terlebih dahulu.”

Koneksi:

  • URL: https://YOUR-STORE.myshopify.com/admin/api/2026-01/orders.json?status=any — ganti YOUR-STORE dengan nama .myshopify.com toko (alamat ini menggunakan domain teknis Shopify, bukan domain kustom toko)
  • Metode: GET

Header:

  • X-Shopify-Access-Token: shpat_... (token dari atas)

Parameter Input:

  • name (query_param, wajib): “Nomor pesanan pelanggan persis seperti yang muncul di konfirmasi pesanan mereka, termasuk tanda # — contohnya #1001. Minta pelanggan untuk memberikannya jika mereka belum menyebutkannya.”

Tidak diperlukan pemetaan respons — bot membaca pesanan yang dikembalikan (status pembayaran, status pemenuhan, pelacakan, item) dan menjawab secara alami.

Perlu diketahui: token yang dibuat dengan cara ini dapat melihat pesanan dari 60 hari terakhir — cukup untuk pertanyaan dukungan sehari-hari, tetapi bukan riwayat pesanan lengkap.


Contoh Lengkap: Membuat Janji Temu

Informasi Dasar:

  • Nama: create_booking
  • Deskripsi: “Membuat janji temu baru di sistem pemesanan kami”
  • Tindakan AI: “Gunakan ini setelah mengonfirmasi tanggal, waktu, dan detail kontak dengan pelanggan. Jangan panggil sebelum pelanggan secara eksplisit mengonfirmasi bahwa mereka ingin memesan.”

Koneksi:

  • URL: https://booking.mycompany.com/api/appointments
  • Metode: POST

Parameter Input:

  • date (teks, wajib): “Tanggal janji temu dalam format YYYY-MM-DD”
  • time (teks, wajib): “Waktu janji temu dalam format HH:MM”
  • name (teks, wajib): “Nama lengkap pelanggan”
  • phone (teks, wajib): “Nomor telepon pelanggan”
  • service_type (teks, wajib): “Jenis layanan yang dipesan”

Contoh Lengkap: Menambahkan Pelanggan Newsletter ke CRM Anda

Pola yang sangat umum: bot selesai menjawab, menawarkan newsletter Anda, kontak membalas dengan alamat email mereka, dan alamat tersebut harus langsung masuk ke alat email Anda. Sebagian besar CRM (FluentCRM, ActiveCampaign, MailerLite, Brevo, dan lainnya) menerima POST sederhana untuk hal ini, sehingga tidak diperlukan platform otomatisasi di antaranya.

Contoh ini menggunakan FluentCRM di WordPress. Bentuknya sama untuk alat lain apa pun yang memberi Anda “webhook masuk” atau titik akhir “buat pelanggan”.

Pertama, dapatkan URL dari CRM Anda. Di WordPress, buka FluentCRM → Pengaturan → Webhook Masuk dan buat webhook. Pilih daftar, tag, dan status langganan yang harus didapatkan kontak baru, lalu salin URL webhook yang dihasilkannya. Apa pun yang Anda atur di sini akan diterapkan secara otomatis, jadi bot hanya perlu mengirim alamat email.

Kemudian siapkan fungsi kustom:

Informasi Dasar:

  • Nama: add_newsletter_subscriber
  • Deskripsi: “Menambahkan seseorang ke daftar newsletter kami menggunakan alamat email yang mereka berikan di obrolan”
  • Tindakan AI: “Gunakan ini saat kontak setuju untuk berlangganan newsletter dan memberikan alamat email mereka. Jangan panggil sebelum mereka benar-benar memberikan alamat, dan jangan panggil dua kali untuk orang yang sama.”

Koneksi:

  • URL: URL webhook yang Anda salin dari CRM Anda
  • Metode: POST

Parameter Input:

  • email (string, wajib): “Alamat email yang diberikan kontak dalam percakapan”
  • first_name (string, opsional): “Nama depan kontak, jika mereka menyebutkannya”

Lewati Data Sistem: aktifkan ini. CRM Anda hanya memerlukan kolom di atas, dan payload yang lebih ramping menghindari kesalahan dari alat yang menolak kolom yang tidak terduga.

Pemetaan respons: tidak diperlukan di sini. Tidak ada yang perlu dikembalikan agar bot dapat melanjutkan.

Jangan lupa untuk mengaktifkan fungsi untuk Agen yang menjalankan percakapan (lihat Menetapkan Fungsi ke Agen). Ini adalah alasan paling umum mengapa fungsi yang dibuat dengan benar tidak pernah berjalan.

Tips: bot juga memiliki alat Perbarui Email Kontak bawaan, yang menyimpan alamat ke catatan kontak di dalam platform. Itu terpisah dari fungsi ini, dan berguna jika digunakan bersamaan — alat bawaan menjaga catatan kontak Anda tetap lengkap, fungsi kustom mendorong alamat tersebut ke CRM Anda.


Tips untuk Fungsi Kustom yang Andal

  1. Pastikan permintaan berulang aman. Jika permintaan yang sama tidak sengaja dikirim dua kali, hal itu tidak boleh membuat catatan duplikat. Gangguan jaringan terkadang dapat menyebabkan hal ini.

  2. Berikan pesan kesalahan yang jelas. Jika terjadi masalah pada sisi sistem Anda, berikan kesalahan yang dapat dibaca manusia. Bot akan menyampaikannya kepada pelanggan dengan baik.

  3. Jaga waktu respons di bawah 10 detik. Jika sistem Anda membutuhkan waktu lebih lama, pertimbangkan untuk memberikan konfirmasi cepat terlebih dahulu.

  4. Tangani kredensial yang kedaluwarsa atau tidak valid. Jika kunci API Anda kedaluwarsa, pastikan pesan kesalahannya jelas agar bot tahu untuk memberi tahu manusia alih-alih mencoba lagi.

  5. Tulis deskripsi yang mendetail. AI menggunakan deskripsi Anda untuk menentukan kapan harus memanggil fungsi dan cara mengekstrak informasi yang tepat dari percakapan. Deskripsi yang samar akan menyebabkan kesalahan.

  6. Uji dengan percakapan nyata. Coba (Try Out) sangat bagus untuk pengujian awal, tetapi pantau beberapa percakapan langsung pertama Anda untuk memastikan semuanya berfungsi dengan kueri pelanggan yang sebenarnya.

  7. Simpan log di sisi Anda. Minta pengembang Anda untuk mencatat permintaan yang datang dari aplikasi agar Anda dapat dengan cepat men-debug masalah apa pun.

  8. Gunakan URL final publik. URL fungsi Anda harus berupa alamat web publik (HTTP/HTTPS). Alamat internal, localhost, dan jaringan pribadi ditolak demi keamanan, dan platform tidak mengikuti pengalihan — arahkan fungsi ke URL final secara langsung, bukan ke URL yang mengarah ke sana.


Batasan Eksekusi

Setiap fungsi kustom memiliki bagian Batasan eksekusi opsional di bagian bawah editor. Bagian ini mengontrol seberapa sering AI dapat menjalankan fungsi tersebut, dan apakah hasil sebelumnya dapat digunakan kembali. Semuanya di sini bersifat opsional — biarkan semuanya kosong dan fungsi akan berperilaku persis seperti sebelumnya.

Fungsi read-only (baca saja). Aktifkan ini jika fungsi Anda hanya membaca data — pencarian stok, pemeriksaan harga, pencarian status pesanan — dan tidak pernah membuat atau mengubah apa pun. Ketika gangguan jaringan sementara menginterupsi AI di tengah balasan, platform dapat dengan aman mencoba kembali giliran percakapan tersebut alih-alih membiarkan pelanggan tanpa jawaban. Hanya aktifkan jika fungsi tersebut benar-benar tidak pernah menulis apa pun: fungsi yang membuat catatan harus tetap nonaktif, sehingga percobaan ulang tidak akan pernah secara tidak sengaja menjalankannya dua kali.

Sajikan hasil cache pada panggilan berulang. Saat AI memanggil fungsi lagi dengan input yang sama (misalnya, pelanggan menanyakan pertanyaan yang sama dua kali), hasil sebelumnya akan digunakan kembali alih-alih memanggil endpoint Anda lagi. Hasil cache disimpan hingga 24 jam, dan panggilan dengan input yang berbeda akan selalu menuju ke endpoint Anda secara baru.

Maksimal eksekusi per percakapan. Batas keras mengenai berapa kali fungsi dapat berjalan dalam satu percakapan. Atur ke 1 untuk fungsi yang hanya boleh dijalankan sekali per obrolan — membuat penawaran, memicu panggilan balik, memulai otomatisasi. Saat batas tercapai, AI akan diberitahu bahwa fungsi tersebut sudah berjalan dan diberikan hasil terbaru, sehingga AI tetap dapat menjawab pelanggan alih-alih diam.

Maksimal eksekusi per jendela waktu. Batas laju sepanjang waktu: misalnya, maksimal 5 kali eksekusi dalam 60 menit. Berguna untuk fungsi yang memanggil layanan pihak ketiga berbayar atau memicu otomatisasi yang lebih berat. Kedua kotak harus diisi bersamaan (jumlah eksekusi dan jendela waktu dalam menit, hingga 7 hari).

Beberapa hal yang perlu diketahui:

  • Batasan hanya menghitung eksekusi yang berhasil. Panggilan yang gagal di sisi endpoint Anda tidak akan menghabiskan kuota.
  • Saat eksekusi diblokir oleh batasan, pelanggan tidak akan pernah digantung — AI akan diberitahu alasannya dan bekerja dengan informasi yang sudah dimilikinya.
  • Batasan berlaku di mana pun fungsi dijalankan: obrolan reguler di setiap saluran, dan fungsi yang dikelola oleh otomatisasi. Percakapan uji coba di Try Out tidak dihitung dan tidak dibatasi.

Alat Bot Bawaan

Selain fungsi kustom yang Anda buat sendiri, platform ini dilengkapi dengan pustaka alat bawaan yang dapat digunakan bot AI selama percakapan. Alat-alat ini mencakup hal-hal paling umum yang perlu dilakukan bot — memberi tahu rekan tim, membuat janji temu, menandai kontak, mencari di situs web Anda, menjadwalkan tindak lanjut, dan banyak lagi — sehingga Anda tidak perlu menyiapkannya dari awal.

Bot memutuskan kapan harus menggunakan setiap alat berdasarkan apa yang terjadi dalam percakapan dan bagaimana Agen Anda (serta kampanye yang terlampir) dikonfigurasi. Sebagian besar alat ini aktif secara otomatis saat fitur terkait diaktifkan (misalnya, alat pemesanan hanya tersedia setelah Anda menghubungkan kalender dan mengaktifkan pemesanan).

Biaya kredit: Setiap panggilan alat ditagihkan berdasarkan tingkat Kualitas AI Agen Anda, dan fungsi kustom yang Anda buat sendiri ditagihkan dengan cara yang sama:

Tingkat Kualitas AI Kredit per panggilan alat Dengan kunci Anthropic Anda sendiri (BYOK) terhubung
Pro 1 kredit 0 kredit — berjalan menggunakan kunci Anda
Ekonomi (tidak digunakan lagi) 0,5 kredit 0 kredit — berjalan menggunakan kunci Anda
Max 0,25 kredit tetap 0,25 kredit, ditagihkan meskipun kunci Anda sendiri terhubung, karena Max berjalan pada model kami sendiri
Mini 0,15 kredit tetap 0,15 kredit, ditagihkan meskipun kunci Anda sendiri terhubung, karena Mini berjalan pada model kami sendiri

Alat Tim & Tugas

Alat Apa Fungsinya Kapan Bot Menggunakannya
Peringatkan Anggota Tim Menjeda bot untuk kontak ini dan mengirim email ke tim Anda bahwa bantuan manusia diperlukan. Obrolan ditandai agar rekan tim dapat mengambilnya. Saat pelanggan meminta bantuan manusia, merasa frustrasi, atau menanyakan sesuatu yang tidak diizinkan atau tidak dapat dijawab oleh bot.
Buat Tugas Membuat tugas baru di papan tugas Anda, yang secara opsional ditautkan ke kontak dan percakapan. Bot terus membalas seperti biasa — tugas tersebut hanyalah catatan bagi tim Anda untuk menindaklanjuti. Untuk item yang tidak mendesak seperti permintaan fitur, peluang peningkatan penjualan, atau panggilan balik yang harus ditangani tim nanti.
Sarankan Pembaruan FAQ Saat bot menemukan pertanyaan yang tidak dapat dijawab dengan baik, bot membuat tugas yang meminta tim Anda untuk menambahkan jawaban ke basis pengetahuan. Saat kontak menanyakan sesuatu yang tidak tercakup dalam FAQ Anda yang ada — sehingga kesenjangan tersebut diperbaiki untuk waktu berikutnya.
Tambahkan Konteks ke Saran FAQ Jika kontak lain kemudian menanyakan pertanyaan serupa dengan sudut pandang berbeda, bot menambahkan konteks tersebut ke saran FAQ yang ada alih-alih membuat tugas duplikat. Otomatis — menjaga daftar tugas Anda tetap rapi saat beberapa orang mengangkat kesenjangan pengetahuan yang sama.

Alat Kontak

Alat Apa Fungsinya Kapan Bot Menggunakannya
Penandaan (Tagging) Berjalan secara otomatis setelah setiap balasan bot — ini bukan alat yang diputuskan untuk dipanggil oleh bot yang berhadapan dengan pelanggan. Sistem meninjau percakapan terbaru dan menerapkan tag yang relevan, menggunakan kembali tag Anda yang ada jika memungkinkan (dan hanya membuat yang baru jika diperlukan). Otomatis — kapan pun percakapan mengungkapkan sesuatu yang layak untuk disegmentasi, seperti minat, niat, kualitas prospek, atau bahasa.
Perbarui Nama Kontak Menyimpan nama depan dan/atau nama belakang kontak saat mereka membagikannya. Saat pelanggan memperkenalkan diri atau mengoreksi nama.
Perbarui Email Kontak Menyimpan alamat email kontak saat mereka membagikannya. Saat pelanggan memberikan email — untuk buletin, tanda terima, pencarian akun, dll.

Alat Janji Temu & Pemesanan

Alat-alat ini hanya tersedia jika pemesanan diaktifkan pada kampanye yang ditautkan ke Agen Anda, dan jenis acara kalender telah dikonfigurasi.

Alat Fungsi Kapan Bot Menggunakannya
Periksa Slot Waktu Tersedia Mencari waktu yang terbuka di kalender Anda yang terhubung untuk tanggal atau rentang tanggal tertentu. Saat pelanggan ingin memesan dan bot perlu menawarkan ketersediaan yang nyata.
Buat Janji Temu Membuat janji temu di kalender Anda dan mengonfirmasi pemesanan kembali kepada pelanggan. Setelah pelanggan mengonfirmasi tanggal dan waktu tertentu.
Pindahkan Janji Temu Menjadwalkan ulang janji temu yang sudah ada ke tanggal dan waktu baru. Saat pelanggan meminta untuk menjadwalkan ulang.
Batalkan Janji Temu Membatalkan janji temu yang sudah ada. Saat pelanggan meminta untuk membatalkan.
Cari Janji Temu Menarik janji temu pelanggan yang sudah ada agar bot mengetahui apa yang sudah terdaftar. Saat pelanggan bertanya “kapan janji temu saya?” atau sebelum menawarkan untuk menjadwalkan ulang.

Alat Pengetahuan & Web

Alat Kegunaan Kapan Bot Menggunakannya
Cari di Situs Web Anda Memindai URL yang telah Anda tambahkan ke daftar URL dinamis kampanye untuk menemukan halaman produk, artikel, atau konten lain yang menjawab pertanyaan pelanggan. Hanya tersedia saat Pencarian Web AI diaktifkan dan Anda telah menambahkan setidaknya satu URL Dinamis. Jika Pencarian Web AI dimatikan, bot tidak dapat membaca halaman atau tautan — bahkan yang ditempelkan pelanggan ke dalam obrolan. Saat pelanggan bertanya tentang sesuatu yang kemungkinan ada di situs web Anda — produk, harga, lokasi, kebijakan.
Periksa Tautan Membaca konten URL tertentu agar bot dapat menjawab pertanyaan tentang halaman tersebut. Hanya tersedia saat Pencarian Web AI diaktifkan dan Anda telah menambahkan setidaknya satu URL Dinamis. Jika Pencarian Web AI dimatikan, bot tidak dapat membaca halaman atau tautan — bahkan yang ditempelkan pelanggan ke dalam obrolan. Saat pelanggan membagikan tautan atau bertanya tentang halaman tertentu di situs Anda.
Cari di Web Menjalankan pencarian Google publik dan menampilkan hasil teratas, sehingga bot dapat menjawab pertanyaan di luar konten Anda sendiri. Saat pelanggan bertanya tentang sesuatu yang bersifat umum (misalnya, petunjuk arah, informasi publik) yang tidak ada dalam basis pengetahuan Anda. Hanya digunakan jika pencarian web diaktifkan.

Alat Tindak Lanjut

Alat-alat ini memerlukan tindak lanjut (follow-up) untuk diaktifkan pada kampanye yang ditautkan ke Agen Anda.

Alat Kegunaan Kapan Bot Menggunakannya
Jadwalkan Tindak Lanjut Cerdas Menjadwalkan pesan tindak lanjut cerdas menggunakan urutan tindak lanjut Anda — memilih templat dan waktu yang tepat berdasarkan percakapan. Saat pelanggan tidak merespons atau meminta bot untuk “memeriksa kembali nanti.”
Jadwalkan Tindak Lanjut Menjadwalkan tindak lanjut dasar pada waktu tertentu. Saat bot perlu mendorong percakapan ke depan pada momen yang ditentukan.

Penjalankan Fungsi Kustom

Alat Kegunaan Kapan Bot Menggunakannya
Jalankan Fungsi Kustom Menjalankan salah satu fungsi kustom yang telah Anda buat dan tetapkan ke Agen (lihat bagian lain dari halaman ini). Saat permintaan pelanggan sesuai dengan tujuan salah satu fungsi kustom Anda.

Alat Pemesanan Restoran (Zenchef dan Formitable)

Alat-alat ini hanya tersedia jika integrasi Zenchef atau Formitable terhubung. Alat ini memungkinkan bot mengelola reservasi restoran dari awal hingga akhir.

Alat Fungsi Kapan Bot Menggunakannya
Periksa Ketersediaan Restoran Mencari slot reservasi yang terbuka untuk tanggal, jumlah tamu, dan (opsional) area tempat duduk tertentu. Saat tamu meminta untuk memesan meja.
Buat Pemesanan Restoran Membuat reservasi baru. Setelah tamu mengonfirmasi slot tertentu.
Perbarui Pemesanan Restoran Mengubah tanggal, waktu, jumlah tamu, atau catatan pada reservasi yang sudah ada. Saat tamu meminta untuk mengubah pemesanan mereka.
Batalkan atau Ubah Status Pemesanan Membatalkan reservasi atau memperbarui statusnya (misalnya, dikonfirmasi, tidak datang). Saat tamu membatalkan, atau saat bot perlu menandai perubahan status.
Cari Pemesanan Menemukan reservasi yang ada yang cocok dengan kriteria seperti nama, email, atau tanggal. Saat tamu yang kembali bertanya tentang reservasi yang sudah ada.
Perbarui Profil Tamu Memperbarui profil tamu di sistem restoran (preferensi, catatan, info kontak). Saat tamu membagikan preferensi diet, nomor telepon baru, atau info tingkat profil lainnya.
Daftar Produk Restoran Menarik daftar menu, menu set, atau tambahan yang tersedia untuk dipesan. Saat tamu bertanya “menu set apa yang Anda miliki?” atau bot perlu melampirkan menu ke reservasi.

Mengaktifkan dan Menonaktifkan Alat

Sebagian besar alat dikontrol pada tab Kemampuan AI Agen (atau langkah Kemampuan AI kampanye, jika Anda bekerja dari kampanye yang masih klasik):

  • Alat pemesanan aktif saat Anda mengaktifkan pemesanan dan menghubungkan kalender — untuk saat ini, ini tetap menjadi pengaturan per kampanye, dengan tautan langsung ke langkah kampanye tersebut dari tab Kemampuan AI Agen itu sendiri
  • Alat tindak lanjut aktif saat Anda mengaktifkan tindak lanjut
  • Alat restoran aktif saat Anda menghubungkan akun Zenchef atau Formitable
  • Pencarian web memiliki tombol pengalihnya sendiri pada tab FAQ & Pengetahuan
  • Alat tugas dapat dimatikan per Agen dengan tombol pengalih Izinkan AI membuat tugas (alat ini aktif secara default; sakelar Tugas di seluruh akun dalam Pengaturan → Profil → Fitur mematikan seluruh sistem tugas di mana pun)
  • Alat pembaruan kontak dikontrol pada tab Kemampuan AI yang sama — apakah AI boleh mengganti nama kontak atau menyimpan info tambahan yang dikumpulkan pada kontak tersebut
  • Alat peringatan selalu tersedia; penandaan (tagging) berjalan secara otomatis setelah setiap balasan bot (ini bukan alat yang dipilih bot untuk dipanggil)

Jika Anda ingin bot berhenti menggunakan alat bawaan tertentu, cara paling bersih adalah dengan menonaktifkan fitur dasarnya (misalnya, matikan pemesanan untuk menonaktifkan semua alat pemesanan).


Fungsi yang Dikelola oleh Otomatisasi

Beberapa entri di halaman Fungsi Kustom Anda mungkin memiliki lencana Dikelola oleh otomatisasi. Entri tersebut tidak dibuat di sini — melainkan berasal dari otomatisasi dengan pemicu Fungsi Agen AI, yang memberikan kemampuan kepada agen Anda yang langkah-langkahnya Anda bangun secara visual di kanvas otomatisasi, alih-alih mengarahkannya ke alamat web luar.

Fungsi terkelola diurus untuk Anda: nama, deskripsi, dan kolomnya selalu mengikuti apa yang ditetapkan pada pemicu otomatisasi, sehingga fungsi tersebut tidak dapat diedit atau dihapus dari halaman ini — gunakan tautan Buka otomatisasi-nya dan ubah otomatisasi itu sendiri. Anda tetap dapat memilih agen mana yang memilikinya dengan cara biasa: pada tab Kemampuan AI milik agen, fungsi tersebut muncul bersama kemampuan agen lainnya dengan tombol aktif/nonaktif biasa (jika otomatisasinya dijeda, baris tersebut akan menunjukkannya — kemampuan akan aktif saat otomatisasi dinyalakan). Segala hal lain mengenainya berperilaku seperti fungsi kustom lainnya: AI memutuskan kapan harus memanggilnya, mengumpulkan detail yang Anda tentukan, dan dapat menggunakan balasan otomatisasi dalam percakapan yang sama.

Jika Anda memilih di antara keduanya: arahkan fungsi kustom reguler ke sistem yang sudah memiliki alamat untuk dipanggil; buat otomatisasi dengan pemicu Fungsi Agen AI jika pekerjaan tersebut adalah sesuatu yang lebih baik Anda susun dari langkah-langkah — mencari sesuatu di spreadsheet atau basis data, bercabang berdasarkan kondisi, membuat catatan — tanpa menjalankan server Anda sendiri. Lihat Otomatisasi.


Persyaratan Paket

Fungsi kustom tersedia pada paket yang menyertakan fitur fungsi kustom. Periksa langganan Anda untuk mengonfirmasi ketersediaan.


Langkah Selanjutnya

  • Hubungkan Server MCP ke Bot Anda — sekumpulan alat siap pakai alih-alih satu fungsi dalam satu waktu.
  • Agen AI — halaman utama grup AI Studio tempat Fungsi Kustom berada, dan tempat fungsi kustom ditetapkan ke bot.