FAQ
Apakah pengguna perlu menginstal sesuatu?
Tidak. Pengguna cukup menempelkan satu tag skrip ke HTML mereka — tanpa paket npm, tanpa langkah build, tanpa dependensi. Fitur tambahan dimuat secara otomatis dari origin yang sama.
Apakah akan berkonflik dengan CSS saya?
Tidak. Widget dirender di dalam Shadow DOM, sepenuhnya mengisolasi gayanya dari halaman Anda.
Apakah mendukung single-page app (React, Vue, Next.js)?
Ya. Skrip dimuat sekali dan bertahan di seluruh perubahan rute. Untuk React/Next.js, tempatkan skrip di layout root Anda.
// app/layout.tsx (App Router)
import Script from 'next/script';
import { ReactNode } from 'react';
export default function RootLayout({ children }: { children: ReactNode }) {
return (
<html lang="en">
<body>
{children}
<Script id="respondo-init" strategy="afterInteractive">
{`
window.Respondo = window.Respondo || {};
Respondo.init = Respondo.init || function(c) { window.RespondoAIConfig = c; };
Respondo.q = Respondo.q || [];
Respondo.identify = Respondo.identify || function(d) { Respondo.q.push(['identify', d]); };
Respondo.init({
agentId: 'YOUR_AGENT_ID',
channelId: 'YOUR_CHANNEL_ID'
});
`}
</Script>
<Script src="https://api.respondo.ai/widget/widget.js" strategy="afterInteractive" />
</body>
</html>
);
}Apa yang terjadi ketika sebuah percakapan diselesaikan?
Pesan baru setelah penyelesaian secara otomatis membuka percakapan lanjutan yang tertaut ke percakapan sebelumnya (ditampilkan sebagai "Continued from #N" di inbox Anda). Konteks seperti bahasa dan transkrip sebelumnya terbawa, dan pengunjung melihat satu chat yang berkesinambungan. Jika seorang anggota tim menangani percakapan yang diselesaikan itu, percakapan lanjutan dialihkan kembali ke tim Anda alih-alih ke AI; jika tidak, AI yang mengambilnya.
Bagaimana widget dimuat?
Widget dimuat secara asinkron (async), sehingga tidak pernah memblokir rendering halaman. Bundle inti sekitar ~180KB (~50KB gzip); fitur opsional (kampanye, tur produk) dimuat sebagai chunk lazy terpisah setelah widget terpasang, sehingga render halaman awal tidak pernah terblokir.
Bagaimana eskalasi bekerja?
Pengguna dapat mengeklik tombol "Talk to human", mengetik frasa yang meminta manusia, atau AI mengalihkan sendiri ketika tidak dapat menjawab dari basis pengetahuan Anda. Setelah dieskalasi, AI berhenti merespons dan semua pesan lanjutan diteruskan ke tim dukungan Anda. Lihat bagian Eskalasi & Pengalihan untuk detail.
Dapatkah pengguna terus mengobrol dengan AI setelah eskalasi?
Ya. Widget menampilkan tombol "Continue with AI" yang memungkinkan pengguna menutup eskalasi dan melanjutkan percakapan AI.
Basis pengetahuan & perayapan situs web#
Mengapa perayapan situs web saya diblokir?
"Diblokir" berarti situs — atau lapisan perlindungannya (Cloudflare, WAF, plugin anti-bot) — menolak perayap kami: halaman awal atau robots.txt menjawab setiap percobaan dengan kesalahan akses atau tantangan "memeriksa browser Anda", atau robots.txt secara eksplisit melarang perayap kami. Halaman yang sudah diimpor sebelumnya tetap utuh, dan sinkronisasi ulang akan gagal dengan cara yang sama sampai situs mengizinkan kami masuk. Minta pemilik situs mengizinkan User-Agent RespondoAI-Crawler (string lengkap: Mozilla/5.0 (compatible; RespondoAI-Crawler/1.0; +https://respondo.ai/bot)) di pengaturan perlindungan mereka — di Cloudflare ada di Security → WAF → Custom rules — dan, jika penyebabnya robots.txt, menambahkan aturan izin untuk User-agent: RespondoAI-Crawler. Respondo tidak memublikasikan alamat IP perayap yang tetap — buat daftar izin berdasarkan User-Agent; jika kesalahan yang ditampilkan pada sumber menyebutkan IP, izinkan IP itu juga. Jika situs tidak bisa diubah, tambahkan konten yang sama sebagai file atau teks yang ditempel.
Perayapan selesai tetapi hanya menemukan beberapa halaman
Kami menemukan halaman dari sitemap situs (baris Sitemap: di robots.txt atau lokasi umum seperti /sitemap.xml) dan dengan mengikuti tautan dari URL awal — hingga 10 tingkat tautan dan hingga 5.000 halaman per sumber. Hanya halaman di situs yang sama dan di bawah jalur URL awal yang diimpor: perayapan yang dimulai dari https://example.com/help melewati /blog, jadi mulailah dari root atau tambahkan jalur yang disertakan. Halaman yang tidak ditunjuk oleh tautan atau sitemap mana pun, halaman yang dilarang robots.txt, dan halaman di balik login tidak akan ditemukan. Halaman yang hampir sama (versi cetak, varian dengan parameter pelacakan) digabung menjadi satu. Halaman yang kontennya sepenuhnya digambar oleh JavaScript terdeteksi dan dirender dengan mekanisme cadangan berbasis browser, jadi jumlah halaman yang sedikit biasanya berarti masalah cakupan atau sitemap, bukan rendering.
Bagaimana membatasi perayapan hanya ke satu bagian situs?
Buka Advanced di dialog tambah situs web dan isi Only crawl paths starting with (hanya rayapi jalur yang diawali dengan) dan/atau Skip paths starting with (lewati jalur yang diawali dengan) — satu jalur per baris, hingga 50 per kolom. Pencocokan dilakukan per segmen jalur utuh: /docs cocok dengan /docs dan /docs/getting-started, tetapi tidak dengan /docs-archive; garis miring di akhir diabaikan, dan Anda bisa menempel URL lengkap — hanya jalurnya yang dipakai. Aturan lewati lebih kuat daripada aturan sertakan. Aturan yang sama berlaku untuk sitemap dan untuk setiap sinkronisasi ulang berikutnya dari sumber itu.
Seberapa sering Respondo merayapi ulang situs web saya?
Setiap sumber situs web memiliki jadwal Auto-refresh di panel halamannya: Off (mati), Daily (setiap 24 jam), atau Weekly (setiap 7 hari). Perayapan terjadwal bersifat inkremental: halaman yang lastmod di sitemap-nya lebih lama dari perayapan sebelumnya dilewati, halaman yang tidak berubah tidak diindeks ulang, halaman yang berubah diindeks ulang, dan halaman yang hilang dihapus. Untuk menyegarkan segera, gunakan Re-sync di menu sumber atau Re-sync all di halaman Knowledge.
"Kami tidak bisa membaca situs kali ini" — apa yang terjadi?
Ini kegagalan umum: situs tidak merespons tepat waktu, domain tidak dapat di-resolve, server mengembalikan kesalahan, halaman awal tidak memiliki teks yang bisa dibaca, atau alamat tidak ditemukan. Detailnya ditampilkan pada sumber. Pastikan URL terbuka di jendela penyamaran browser, tidak ada salah ketik di domain, dan halaman awal adalah halaman konten sungguhan, bukan layar login. Jejaring sosial dan platform pesan (Facebook, Instagram, LinkedIn, X, YouTube, dan sejenisnya) sama sekali tidak bisa diimpor — ditolak sebelum perayapan dimulai. Halaman yang sudah ada tetap disimpan; sumber terjadwal mencoba lagi pada jalankan berikutnya, jika tidak, sinkronkan ulang setelah situs dapat dijangkau kembali.
Apa arti "indeks pencarian kami penuh" dan "kami tidak bisa mengindeks sumber ini"?
Keduanya muncul setelah konten berhasil dibaca. Indeks penuh berarti indeks pencarian tempat sumber ini disalin tidak memiliki ruang di sisi Respondo — batasan Respondo, bukan masalah pada konten Anda. Halaman tersimpan, semua yang sudah terindeks tetap menjawab, tim kami diberi tahu secara otomatis, dan sumber akan diindeks begitu ada ruang; sinkronisasi ulang lebih awal akan gagal dengan cara yang sama. Tidak bisa mengindeks sumber ini berarti pembangunan indeks pencarian gagal kali ini — kesalahan sementara di sisi kami; data yang ada tetap utuh dan tugas dicoba ulang secara otomatis. Jika salah satu pesan terus muncul, gunakan "Tanya Copilot" pada kesalahan tersebut.
Apakah halaman panjang hanya dijawab dari bagian awalnya?
Tidak. Setiap halaman yang dirayapi dibagi menjadi potongan yang saling tumpang tindih sekitar 1.600 karakter, masing-masing diindeks terpisah dengan judul halaman terlampir, sehingga jawaban bisa berasal dari bagian mana pun dari artikel panjang. Kutipan tetap menampilkan satu tautan per halaman. Halaman yang diimpor sebelum perubahan ini dibagi ulang pada sinkronisasi ulang berikutnya.
Bagaimana cara mendapatkan bantuan untuk kesalahan perayapan?
Setiap kesalahan perayapan atau pengindeksan di halaman Knowledge dilengkapi tombol Tanya Copilot. Tombol ini membuka Copilot dengan kesalahan terlampir, dan Copilot menjawab dari dokumentasi bantuan Respondo sendiri dengan langkah konkret untuk kasus Anda. Bantuan ini gratis — tidak dihitung dalam permintaan AI Anda. Jika langkah-langkah itu tidak menyelesaikannya, katakan saja — "itu tidak membantu" sudah cukup. Copilot lalu menawarkan kartu yang menyerahkan masalah ke tim Respondo: kartu itu mencantumkan persis apa yang akan dikirim, tidak ada yang terkirim sampai Anda mengonfirmasinya, dan balasan mereka tiba di utas Copilot yang sama. Jika penyerahan tidak tersedia, Copilot mengatakannya secara terbuka alih-alih diam.
Pesan yang tidak sampai ke pelanggan#
Sebuah balasan bertanda "Not delivered" — apa artinya, dan apa langkah pertamanya?
Setiap pesan keluar di kotak masuk membawa indikator pengiriman: Queued (mengantre — balasan yang ditulis berdekatan digabung dan berangkat sebagai satu email dalam beberapa menit), Sending… (sedang mengirim), Sent (terkirim), Delivered (sampai), atau kegagalan berwarna merah. Kegagalan hadir dalam tiga bentuk: Not delivered — kanal menolak pesan itu; Bounced dengan sub-tipe pantulan di sebelahnya — server surat penerima menolak email tersebut; dan Marked as spam — penerima melaporkannya. Arahkan kursor atau klik labelnya: tooltip memuat kata-kata penyedia itu sendiri, termasuk diagnostik SMTP mentah untuk sebuah pantulan. Di sampingnya tersedia paling banyak dua tindakan — Retry / Send again (kirim ulang), yang benar-benar mengirim ulang pesan, dan Ask Copilot (tanya Copilot), yang membuka Copilot dengan kesalahan terlampir. Jika tombol kirim ulang sama sekali tidak ada, alamat itu diblokir dan pengiriman berikutnya akan gagal dengan cara yang sama. Sent atau Delivered yang disertai N files not delivered berarti teksnya sampai tetapi lampirannya tidak — kanal itu tidak bisa membawa berkas tersebut.
Mengapa email saya tidak sampai ke pelanggan?
Ada empat penyebab berbeda, dan labelnya membedakan satu dari yang lain. Pantulan permanen berarti alamatnya tidak ada atau menolak surat — tidak ada tombol kirim ulang, dan alamat itu masuk ke daftar penekanan. Pantulan sementara berarti kotak surat penuh atau ada gangguan sesaat di server penerima; Send again ditawarkan dan biasanya berhasil di kemudian waktu. Pantulan yang diagnostiknya menyebut SPF, DKIM, DMARC, atau 5.7.515 berbeda lagi: sistem surat penerima menolak pesan karena domain pengirim Anda gagal dalam pemeriksaan autentikasi. Balasan baru akan memantul persis dengan cara yang sama sampai domainnya diperbaiki, jadi jawablah lewat kanal lain untuk sementara dan perbaiki catatan DNS pada kanal email di Settings → Channels. Terakhir, Marked as spam berarti penerima menekan "laporkan spam": alamatnya ditekan dan kami berhenti mengirim ke sana. Laporan kampanye juga bisa menampilkan The email provider rejected this message — penolakan permanen bahkan sebelum email berangkat, biasanya karena domain pengirim belum terverifikasi atau alamatnya salah format — dan The email provider rejected our credentials, yang merupakan masalah penyiapan ruang kerja, bukan soal satu kontak itu.
Apa itu daftar penekanan, dan bagaimana sebuah alamat bisa keluar darinya?
Ini adalah daftar alamat email yang tidak mau dikirimi Respondo, khusus untuk ruang kerja Anda. Sebuah alamat masuk ke sana ketika pesan mengalami pantulan keras (penolakan permanen), ketika seseorang melaporkan salah satu email Anda sebagai spam, atau ketika alamat itu diblokir secara manual. Pantulan lunak tidak pernah menekan sebuah alamat. Selama blokir aktif, pengiriman kampanye ke alamat itu dilewati dengan This address is blocked after an earlier bounce or complaint, dan balasan dari kotak masuk ditolak sebelum berangkat. Hanya penerima sebenarnya dari pesan itu yang ditekan — notifikasi pantulan tidak bisa memblokir alamat sembarangan. Tidak ada layar untuk daftar ini di dasbor: pemilik atau admin bisa membacanya dengan GET https://api.respondo.ai/api/v1/integrations/email/suppressions dan mencabut satu entri dengan DELETE https://api.respondo.ai/api/v1/integrations/email/suppressions/<email>, atau meminta dukungan Respondo melakukannya. Cabut pantulan keras hanya bila Anda tahu kotak suratnya memang sudah diperbaiki — mengirim lagi ke alamat mati merusak reputasi domain Anda.
WhatsApp tidak mau menerima balasan saya — jendela 24 jam
WhatsApp hanya mengizinkan bisnis mengirim pesan bebas dalam 24 jam sejak pesan terakhir pelanggan; lewat dari itu Meta menolak apa pun dengan kesalahan 131047. Respondo melacak jendela itu per orang, dan ketika tahu jendelanya sudah habis, ia menghentikan balasan sebelum dikirim. Ketika Respondo sama sekali tidak punya catatan jendela — kontak hasil impor, atau nomor yang belum pernah menulis kepada Anda — ia tidak memblokir: pesan diteruskan ke Meta dan Meta yang memutuskan. Jalan keluarnya persis ada dua. Tunggu pelanggan menulis lagi — pesannya membuka kembali jendela selama 24 jam berikutnya dan balasan Anda pun lolos — atau kirim template (templat) yang sudah disetujui Meta. Template tidak bisa dikirim dari komposer percakapan. Kelola di Outbound → WhatsApp templates: Sync menarik yang sudah terdaftar pada nomor Anda, New template mengajukan satu ke Meta, yang peninjauannya makan waktu sehari atau lebih. Setelah itu kirim template yang disetujui lewat kampanye outbound yang menyasar kontak tersebut. Template menjangkau orang di dalam maupun di luar jendela, tetapi hanya selama statusnya approved.
"That channel is disconnected" / "That channel is not connected"
Disconnected (terputus) berarti integrasinya ada tetapi tidak lagi aktif — token aksesnya dicabut atau kedaluwarsa, atau seseorang memutuskannya. Not connected (tidak terhubung) berarti titik kontak orang itu sama sekali tidak punya integrasi di belakangnya. Keduanya diperbaiki di Settings → Channels, tempat kanal yang terputus dikelompokkan di bawah judul tersendiri dengan tombol Reconnect pada tiap kartu; hubungkan kembali, lalu coba kirim ulang pesannya. Dua kasus bertetangga terlihat mirip tetapi tidak sama: kanal email yang domain pengirimnya belum terverifikasi tidak bisa dijadikan Live dan tidak mengirim apa pun sampai DKIM dan SPF dikonfirmasi, dan kanal terima-saja memang dirancang menolak pesan keluar, jadi Retry di sana tidak akan pernah berhasil.
"No channel to reach this person on" / "No email address on this contact"
Keduanya muncul di laporan pengiriman kampanye, bukan di kotak masuk. Yang pertama berarti tidak satu pun titik kontak orang itu cocok dengan kanal yang dipakai kampanye; jika satu-satunya titik kontaknya berada di kanal terima-saja, hal itu dilaporkan terpisah sebagai lewatan yang disengaja. Yang kedua berarti kampanye mengirim email sementara kontak tersebut tidak punya alamat tercatat. Telegram punya varian sendiri: jika orangnya belum pernah menulis ke bot Anda, tidak ada obrolan yang bisa dituju, karena Bot API melarang bot menulis lebih dulu — dialah yang harus mengirim pesan pertama. Perbaiki dengan menambahkan alamat yang hilang ke kontak, memperluas kanal yang disasar kampanye, atau membiarkannya beralih ke email.
Kontaknya berhenti berlangganan — apa yang bisa saya kirim?
They had already unsubscribed berarti kontak itu menyandang opt-out global — disetel lewat tautan berhenti berlangganan di salah satu email Anda, terbawa saat impor, atau diubah oleh rekan tim. Kampanye dan seri melewati kontak semacam itu di setiap kanal, bukan hanya email, dan pengirimannya dicatat sebagai lewatan, bukan kegagalan. Balasan satu-lawan-satu dari rekan tim di dalam percakapan sengaja tidak diblokir olehnya: opt-out itu soal siaran massal, sedangkan menjawab orang yang menulis kepada Anda adalah keputusan manusia. Statusnya ditampilkan pada kontak sebagai Outbound: Subscribed / Unsubscribed (berlangganan / berhenti berlangganan), daftar kontak bisa disaring berdasarkan itu, dan tombol Re-subscribe (langganan lagi) pada kontak membalikkannya — pakai itu hanya kalau orangnya sendiri yang meminta.
Berapa kali sistem mencoba ulang, dan apakah menekan Retry aman?
Balasan dari kotak masuk diserahkan ke antrean yang melakukan hingga lima percobaan, dengan jeda kira-kira 3, 10, 30, dan 30 menit di antaranya. Hanya kegagalan sementara yang dicoba ulang — waktu habis, koneksi ditolak, batas laju, kesalahan server dari penyedia itu sendiri. Penolakan permanen (alamat tidak dikenal, domain pengirim belum terverifikasi, kredensial ditolak) langsung ditandai gagal, karena pengulangan akan mendapat jawaban yang sama. Pengiriman kampanye berjalan di antrean tersendiri dengan hingga enam percobaan dan jeda lebih pendek — 5 detik, 30 detik, 2 menit, 10 menit; ketika jatah itu habis, pengiriman ditutup dengan Delivery kept failing and was stopped after several attempts alih-alih menggantung di "queued" selamanya. Menekan Retry secara manual itu aman. Tombol itu hanya bekerja pada pesan yang benar-benar berstatus gagal, dan untuk email ia lebih dulu menanyakan ke penyedia apa yang terjadi pada pesan aslinya: kalau email itu ternyata sudah berangkat, barisnya berubah menjadi terkirim alih-alih mengirim salinan kedua, dan pengiriman ulang yang sungguhan berangkat dengan kunci idempotensi baru. Di tempat salinan kedua justru keliru — pantulan keras, keluhan spam, kiriman yang masih dalam perjalanan — tombolnya tidak ada atau percobaan ulang ditolak beserta alasannya.
Penyebabnya masih belum jelas — bagaimana saya mendapat bantuan?
Setiap pesan yang gagal dilengkapi tombol Ask Copilot (tanya Copilot) di sebelahnya. Tombol itu membuka Copilot dengan kesalahan, kanal, dan percakapan terlampir, dan Copilot menjawab dari dokumentasi bantuan Respondo sendiri dengan langkah untuk kegagalan persis itu. Bantuan ini gratis — tidak dihitung dalam permintaan AI Anda. Jika langkah-langkah itu tidak menyelesaikannya, katakan saja — "itu tidak membantu" sudah cukup. Copilot lalu menawarkan kartu yang menyerahkan masalah ke tim Respondo: kartu itu mencantumkan persis apa yang akan dikirim, tidak ada yang terkirim sampai Anda mengonfirmasinya, dan balasan mereka tiba di utas Copilot yang sama. Jika penyerahan tidak tersedia, Copilot mengatakannya secara terbuka alih-alih diam.