Menyiapkan Respond.io dengan HubSpot dari Awal Hingga Akhir

Tim RevOps di perusahaan SaaS tahap pertumbuhan menjalankan Respond.io selama 60 hari sebelum ada yang memeriksa daftar kontak HubSpot mereka. Ketika mereka melihat, mereka menemukan 800 record duplikat, beberapa kontak diduplikasi 4 atau 5 kali, dengan riwayat percakapan tersebar di beberapa record dan tidak ada satu tampilan bersih tentang pelanggan.

Penyebabnya: pengaturan default sinkronisasi Respond.io membuat kontak HubSpot baru untuk setiap percakapan, terlepas dari apakah nomor telepon atau email tersebut sudah ada di CRM Anda. Tiga perubahan pengaturan memperbaiki masalahnya. Tapi pada saat itu, tim sudah menghabiskan 2 hari membersihkan database. Deduplikasi pada titik sinkronisasi adalah salah satu langkah yang paling sering diabaikan dalam workflow deduplikasi lead multi-channel.

Panduan ini mencakup setup integrasi yang mencegah skenario tersebut, dari koneksi awal melalui sinkronisasi percakapan, pembuatan deal, dan penugasan rep, dengan pengaturan spesifik yang penting.

Prasyarat

Sebelum memulai integrasi:

  1. Akun Respond.io dengan setidaknya satu channel yang terhubung (WhatsApp Business API, Instagram DM, atau website chat widget). Akun yang hanya memiliki website chat widget dan tidak ada channel lain masih bisa terintegrasi, tetapi nilainya paling tinggi ketika WhatsApp terhubung.
  2. Akun HubSpot dengan akses API yang diaktifkan. Anda memerlukan setidaknya HubSpot Starter untuk mengakses menu Integrations.
  3. Token HubSpot Private App: jangan gunakan API key (HubSpot sudah menghentikannya). Di HubSpot, pergi ke Settings → Integrations → Private Apps → Create a Private App. Beri nama "Respond.io Integration" dan berikan scope: crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.deals.write, conversations.read, oauth. Salin tokennya — Anda akan membutuhkannya di Respond.io. Dokumentasi Private Apps HubSpot menjelaskan pemilihan scope dan rotasi token secara detail.
  4. Akses admin di kedua platform: Anda memerlukan hak admin di Respond.io untuk mengonfigurasi integrasi, dan admin atau super admin di HubSpot untuk membuat properti kustom.

Langkah 1: Hubungkan Respond.io ke HubSpot via integrasi native

Di Respond.io, pergi ke Settings → Integrations → HubSpot. Klik Connect.

Alur OAuth akan meminta Anda masuk ke HubSpot dan memberi Respond.io akses ke portal Anda. Berikan akses. Setelah OAuth selesai, Anda akan kembali ke Respond.io dengan konfirmasi bahwa koneksi aktif.

Tapi jangan berhenti di sana. Pengaturan default setelah OAuth tidak benar untuk sebagian besar tim.

Di halaman pengaturan integrasi HubSpot di Respond.io, Anda akan melihat:

  • Sync all contacts: Nonaktifkan ini. Anda tidak ingin setiap pengunjung website chat anonim disinkronkan ke HubSpot. Aktifkan sinkronisasi kontak hanya untuk percakapan di mana Anda memiliki pengenal (email atau telepon).
  • Auto-create contacts: Atur ke "Only for identified contacts" (artinya kontak di mana setidaknya nomor telepon atau email telah dikumpulkan).
  • Default contact lifecycle stage: Atur ke "Lead" untuk kontak baru, bukan "Subscriber." Subscriber adalah untuk opt-in newsletter dan akan membingungkan pelaporan lifecycle stage Anda.

Langkah 2: Aturan pencocokan kontak (di sinilah duplikat berasal)

Respond.io mencocokkan percakapan ke kontak HubSpot yang sudah ada menggunakan salah satu dari tiga pengenal: alamat email, nomor telepon, atau WhatsApp ID. Urutannya penting.

Prioritas pencocokan default adalah: Email → Phone → WhatsApp ID.

Untuk funnel yang berat WhatsApp, ini terbalik. Sebagian besar percakapan WhatsApp tidak memiliki alamat email di awal. Anda mengumpulkannya nanti dalam qualification flow. Jika Respond.io mencoba mencocokkan berdasarkan email terlebih dahulu dan tidak menemukannya, ia membuat kontak baru. Kemudian ketika email masuk nanti, ia membuat kontak lain yang cocok berdasarkan email. Hasilnya: dua kontak untuk orang yang sama.

Ubah prioritas pencocokan ke: Phone → WhatsApp ID → Email.

Nomor WhatsApp terikat ke nomor telepon, jadi kecocokan ini andal dari pesan pertama. Perbarui ini di Settings → Integrations → HubSpot → Contact Matching. Dokumentasi integrasi HubSpot Respond.io merinci logika pencocokan penuh dan pengaturan deduplikasi yang tersedia di panel integrasi.

Juga aktifkan Deduplication on match: ketika Respond.io menemukan kontak HubSpot yang sudah ada yang cocok dengan nomor telepon, ia memperbarui record daripada membuat yang baru. Pengaturan tunggal ini mencegah sekitar 70% pembuatan duplikat.

Langkah 3: Pemetaan field

Di pengaturan integrasi HubSpot Respond.io, pergi ke tab Field Mapping. Ini mengontrol atribut kontak Respond.io mana yang disinkronkan ke properti kontak HubSpot mana.

Field default yang disinkronkan dengan baik secara langsung: First Name, Last Name, Email, Phone. Tapi Anda perlu menambahkan custom field untuk menangkap data spesifik chat yang tidak dimiliki properti standar HubSpot.

Pertama, buat properti kontak kustom ini di HubSpot (Settings → Properties → Create Property):

  • Last Chat Channel: teks baris tunggal (misalnya WhatsApp, Instagram, Website Chat)
  • Chat Qualification Score: angka
  • Chat Lead Source: teks baris tunggal (misalnya Meta Ad, Organic WhatsApp, Website)
  • First Contact Date (Chat): date picker
  • Qualification Answers: teks multi-baris

Keputusan tentang custom field mana yang dibuat — dan cara menamainya secara konsisten agar logika routing tidak rusak — tercakup dalam panduan custom fields untuk implementasi CRM.

Kemudian petakan di Respond.io:

Field Respond.io Properti HubSpot
First Name First Name
Last Name Last Name
Email Email
Phone Phone Number
Channel Last Chat Channel (kustom)
Contact Source Chat Lead Source (kustom)
Created At First Contact Date (chat) (kustom)
Custom: Qualification Score Chat Qualification Score (kustom)
Tags (petakan ke tag kontak HubSpot jika menggunakan tag HubSpot)

Field Qualification Score mengharuskan Anda menetapkan skor dalam workflow Respond.io (dibahas di Langkah 6). Untuk sekarang, buat pemetaan dan tinggalkan logika scoring untuk setelah flow dibangun.

Langkah 4: Pengaturan sinkronisasi percakapan

Respond.io dapat menyinkronkan pesan percakapan ke timeline kontak HubSpot. Ini berguna tetapi menciptakan banyak kebisingan jika Anda menyinkronkan segalanya.

Pengaturan default menyinkronkan setiap pesan, termasuk pesan bot otomatis, pesan sistem, dan catatan internal. Itu berarti timeline kontak HubSpot untuk pengguna aktif mungkin memiliki 50+ entri timeline per minggu, sehingga hampir tidak mungkin bagi rep untuk mendapatkan gambaran cepat tentang situasinya.

Di Settings → Integrations → HubSpot → Conversation Sync, ubah:

  • Sync conversations: Ya, tapi hanya untuk percakapan dengan status = "Resolved" atau di mana manusia telah ditugaskan (bukan percakapan bot murni)
  • Sync bot messages: Tidak
  • Sync internal notes: Tidak (ini untuk tim Anda, bukan record CRM)
  • Sync attachments: Ya, tapi hanya gambar dan dokumen (bukan reaksi emoji atau voice note)

Aturan praktis yang lebih bersih: sinkronkan ringkasan percakapan ke HubSpot ketika percakapan mencapai status terminal (qualified, disqualified, atau diserahkan). Satu entri timeline dengan ringkasan lebih berguna daripada 30 entri yang menampilkan setiap pesan bot.

Langkah 5: Otomasi pembuatan deal

Ketika lead memenuhi kualifikasi dalam flow Respond.io (chatbot menyelesaikan kualifikasi), Anda ingin Deal HubSpot dibuat secara otomatis, bukan secara manual oleh rep.

Di Respond.io, pergi ke Workflows → New Workflow. Atur pemicu ke: Contact Attribute Changed → Qualification Score → is greater than → [ambang batas Anda].

Aksi dalam workflow:

  1. Update contact: Atur Lifecycle Stage = MQL, Lead Status = New
  2. Create HubSpot Deal: Title = "Chat Lead: [Contact First Name]", Pipeline = [pipeline penjualan Anda], Stage = "New Lead", Amount = biarkan kosong, Owner = [penugasan round-robin]
  3. Assign conversation: Tugaskan percakapan Respond.io ke rep yang ditugaskan deal tersebut (memerlukan langkah untuk mencari pemilik deal; gunakan aksi pencarian HubSpot jika paket Anda mendukungnya)
  4. Send rep notification: Slack atau email dengan link deal dan link percakapan

Logika workflow dalam bahasa sederhana: ketika kontak mendapat skor di atas ambang kualifikasi Anda, secara otomatis pindahkan mereka ke MQL, buat deal pipeline, tugaskan deal ke rep, dan beri tahu rep tersebut. Rep tidak membuat apapun secara manual. Untuk tim yang membangun lapisan otomasi CRM yang lebih luas, otomasi workflow CRM mencakup pola untuk pembuatan deal, transisi lifecycle, dan notifikasi rep di berbagai platform CRM.

Langkah 6: Penugasan rep (mencocokkan Respond.io ke HubSpot)

Integrasi tidak secara otomatis mencerminkan pemilik kontak HubSpot ke penerima tugas percakapan Respond.io. Anda harus mengonfigurasi ini.

Dua pendekatan:

Opsi A (Respond.io ke HubSpot): Ketika rep ditugaskan percakapan di Respond.io, sinkronkan penugasan tersebut ke HubSpot Contact Owner. Siapkan ini di Settings → Integrations → HubSpot → Sync Assignment. Aktifkan "Sync assignee to HubSpot contact owner."

Opsi B (HubSpot ke Respond.io): Ketika HubSpot Contact Owner diatur atau diubah, perbarui penerima tugas percakapan Respond.io. Ini memerlukan HubSpot workflow yang memanggil Respond.io API. Berguna jika tim Anda menugaskan deal di HubSpot terlebih dahulu.

Untuk sebagian besar tim, Opsi A lebih sederhana. Rep bekerja di Respond.io untuk chat; HubSpot mencerminkan penugasan tersebut.

Untuk kontak yang tidak ditugaskan (lead baru yang belum memiliki rep), konfigurasikan round-robin di Respond.io: Settings → Teams → [Tim Sales Anda] → Assignment → Round Robin. Ini mendistribusikan percakapan baru secara merata di antara rep yang tersedia.

Langkah 7: Pengujian (5 skenario yang perlu dijalankan sebelum sinkronisasi penuh)

Jalankan skenario uji ini sebelum mengaktifkan integrasi untuk seluruh daftar kontak Anda:

Skenario Uji Cara Menjalankan Hasil yang Diharapkan
Kontak baru hanya dengan telepon Kirim pesan WhatsApp dari nomor yang tidak ada di HubSpot Kontak HubSpot baru dibuat dengan telepon; tidak ada duplikat
Kontak yang sudah ada mengirim pesan lagi Gunakan nomor yang sama dari uji 1 Kontak HubSpot yang sudah ada diperbarui, tidak diduplikasi
Qualification flow selesai Jalani seluruh bot flow sebagai hot lead Lifecycle stage MQL diatur; deal dibuat di pipeline; rep diberi tahu
Kontak dengan telepon dan email Selesaikan flow dan kumpulkan email Satu kontak dengan kedua field; tidak ada kontak kedua untuk email
Rep menugaskan percakapan Tugaskan percakapan uji ke rep di Respond.io Pemilik kontak HubSpot diperbarui ke rep tersebut

Periksa HubSpot setelah setiap uji sebelum melanjutkan ke yang berikutnya. Yang Anda cari: lifecycle stage yang benar, tidak ada duplikat, nilai field yang benar, dan entri timeline hanya di mana Anda mengonfigurasinya.

Langkah 8: Menjalankan sinkronisasi nyata pertama

Jangan aktifkan sinkronisasi untuk semua kontak sekaligus. Mulai dengan kelompok yang terkontrol:

  1. Di Respond.io, filter kontak berdasarkan tag = "Test" atau berdasarkan rentang tanggal (misalnya percakapan dari kemarin saja)
  2. Aktifkan sinkronisasi hanya untuk kelompok yang difilter ini
  3. Periksa HubSpot setelah 30 menit. Verifikasi record, periksa duplikat, konfirmasi nilai field.
  4. Jika bersih, perluas sinkronisasi ke 7 hari terakhir percakapan
  5. Jalankan audit lain. Tarik laporan HubSpot untuk kontak yang dibuat dalam 7 hari terakhir dengan source = "Respond.io" dan spot-check 20 record.

Hanya setelah dua audit bersih Anda harus mengaktifkan sinkronisasi untuk semua kontak dan semua percakapan baru.

Kesalahan Umum

Menyinkronkan semua kontak bukan hanya yang teridentifikasi. Pengunjung website chat anonim yang tidak pernah memberikan nama, telepon, atau email akan membuat kontak HubSpot kosong tanpa data yang dapat digunakan. Atur sinkronisasi ke kontak yang teridentifikasi saja.

Tidak menetapkan prioritas pencocokan. Pencocokan email-first default menyebabkan duplikat untuk kontak WhatsApp yang memberikan email nanti dalam flow. Beralih ke phone-first matching sebelum mengaktifkan sinkronisasi penuh.

Sinkronisasi percakapan tanpa filter. Menyinkronkan setiap pesan bot ke timeline HubSpot mengubur kontak dalam kebisingan. Gunakan filter "qualified conversations only."

Kedaluwarsa token HubSpot Private App. Token Private App tidak kedaluwarsa, tetapi jika seseorang mencabut aplikasi atau integrasi dihubungkan ulang dengan token baru, sinkronisasi rusak secara diam-diam. Tidak ada error yang muncul di Respond.io. Kontak hanya berhenti disinkronkan. Atur pengingat kalender bulanan untuk memverifikasi status integrasi di panel pengaturan integrasi Respond.io. Panduan pemantauan integrasi HubSpot mencakup cara mengaudit aplikasi yang terhubung dan mendeteksi status token yang rusak sebelum menyebabkan kehilangan data.

Langkah Selanjutnya

Jalankan sinkronisasi uji 50 kontak menggunakan percakapan dari minggu lalu. Periksa duplikat di HubSpot dengan menjalankan laporan Contact yang difilter berdasarkan "Create Date = 7 hari terakhir DAN Source = Respond.io" dan memindai record dengan nomor telepon duplikat.

Setelah uji bersih, aktifkan sinkronisasi penuh dan lanjutkan membangun aturan routing penugasan rep.

Pelajari Lebih Lanjut