Integrasi

Impor dari Google Spreadsheet ke Kommo

Widget ini memungkinkan Anda memuat data dari Google Spreadsheet ke Kommo secara otomatis dan selalu memperbaruinya. Buat kontak, perusahaan, dan penawaran baru. Perubahan diimpor dalam satu menit setelah perubahan tabel saat menyiapkan pemicu Apps Script.

Fitur

Unduh data secara otomatis dari Google Spreadsheet
Buat kontak, perusahaan, dan lead
Impor dalam satu menit setelah perubahan tabel (melalui Apps Script)
Mode sinkronisasi berkala cadangan (setiap 10 menit)
Skenario pemrosesan duplikat yang fleksibel
Menyiapkan jam kerja untuk impor
Tag otomatis untuk lead
Sinkronisasi dua arah dengan widget unggah
Kustomisasi format tabel yang mudah

Panduan instalasi dan konfigurasi

Panduan lengkap untuk menggunakan widget "Impor dari Google Spreadsheet ke Kommo"

Pengaturan dasar

  • Setelah memasang widget, buka Setelan dan klik tombol +Tambahkan.

Selanjutnya, atur parameter impor:
Tautan tabel — tempel tautan ke Google Sheet Anda.
Pipeline dan tahap — pilih pipeline dan tahap tempat lead akan diimpor.
Jam kerja — tentukan rentang waktu untuk impor.
Tag untuk lead — masukkan tag yang akan otomatis ditambahkan ke lead saat impor.

  • Contoh pengaturan waktu: jika Anda perlu mengonfigurasi impor dari pukul 23:00 hingga 10:00, tambahkan dua rentang:
  • 23:00–23:59
  • 00:00–10:00
  • Jika Anda perlu menambahkan tabel lain untuk diimpor, klik +Tambahkan dan konfigurasikan sesuai dengan prinsip yang sama.
  • Semua tabel akan diperhitungkan secara bersamaan.
  • Setelah menyelesaikan pengaturan, klik Simpan.

Pemrosesan membutuhkan waktu

Fungsi Skrip untuk pengambilan tersedia di pengaturan:

  1. Jika pipeline dan judul cocok (default) - lead diperbarui jika pipeline (tahapan tidak menjadi masalah) dan nama lead cocok.
  2. Saat pipeline cocok - lead diperbarui jika hanya pipeline yang cocok.
  3. Selalu buat yang baru - setiap impor akan menghasilkan lead baru. Saat memilih skenario ini, Anda harus menghapus Hash dan ID lead di tabel.
  4. Setiap lead ditemukan—Lead diperbarui jika kontak atau perusahaan sudah memiliki setidaknya satu lead.

Menyiapkan tabel untuk impor

Penting: pada pengaturan akses tabel, pilih “Siapa pun yang memiliki tautan dapat mengedit” atau berikan akses ke email kami: [email protected]

  • Di baris pertama tabel, nama kolom ditunjukkan
  • Format: Entitas.Nama bidang (misalnya: Nama Lead, Kontak.Telepon)
  • Untuk detail selengkapnya, lihat tautan

Menyiapkan Skrip Aplikasi untuk Impor Instan

Untuk mengimpor data secara otomatis saat Anda mengubah tabel, Anda perlu memasang Skrip Aplikasi khusus di Google Spreadsheet Anda. Ini akan memastikan bahwa perubahan diproses dengan cepat (dalam satu menit). Penyiapan hanya memerlukan waktu 2 menit - cukup tempelkan kode dan jalankan satu fungsi!

⚡ Impor Tanpa Skrip Aplikasi akan berfungsi dalam mode pemeriksaan berkala (setiap 10 menit), yang secara signifikan memperlambat sinkronisasi data.

Keuntungan menyiapkan pemicu:

  • Pemrosesan cepat – perubahan diimpor dalam satu menit
  • 🔄 Otomasi – tidak perlu menunggu sinkronisasi berkala
  • 💪 Relevansi data – informasi di Kommo selalu sesuai dengan tabel

💡Di mana saya dapat menemukan ID Akun? Di Kommo, klik avatar Anda di kiri atas → Nomor klien Anda. Ini adalah akun_id Anda.

Petunjuk langkah demi langkah:

  1. Buka Google Spreadsheet Anda
  2. Dari menu, pilih: Ekstensi → Skrip Aplikasi
  3. Salin kode di bawah ini dan tempelkan ke editor Anda (ganti semua kode yang ada)
  4. Jalankan fungsi setup (pilih dari daftar drop-down dan tekan ▶️)
  5. Kembali ke lembar tabel (terletak di tab berikutnya) di jendela yang muncul, masukkan account_id Anda (di Kommo: klik avatar di kiri atas → Nomor klien Anda)
  6. Siap! Sekarang perubahan pada tabel akan diimpor secara otomatis
// 🚀 Fungsi pengaturan awal — jalankan sekali!
function setup() {
  var ui = SpreadsheetApp.getUi();
  
  // Minta account_id dari pengguna
  var response = ui.prompt(
    '⚙️ Pengaturan impor otomatis',
    'Masukkan Account ID Anda (di amoCRM: avatar kiri atas → Nomor klien Anda):',
    ui.ButtonSet.OK_CANCEL
  );
  
  if (response.getSelectedButton() !== ui.Button.OK) {
    ui.alert('❌ Pengaturan dibatalkan');
    return;
  }
  
  var accountId = response.getResponseText().trim();
  if (!accountId) {
    ui.alert('❌ Account ID tidak boleh kosong');
    return;
  }
  
  // Simpan account_id
  PropertiesService.getScriptProperties().setProperty('account_id', accountId);
  
  // Hapus pemicu lama
  var triggers = ScriptApp.getProjectTriggers();
  for (var i = 0; i < triggers.length; i++) {
    if (triggers[i].getHandlerFunction() === 'onEdit') {
      ScriptApp.deleteTrigger(triggers[i]);
    }
  }
  
  // Buat pemicu baru
  ScriptApp.newTrigger('onEdit')
    .forSpreadsheet(SpreadsheetApp.getActive())
    .onEdit()
    .create();
  
  ui.alert(
    '✅ Pengaturan selesai!',
    'Account ID: ' + accountId + '\n\n' +
    'Sekarang saat spreadsheet berubah, data akan otomatis diimpor ke amoCRM dalam satu menit.',
    ui.ButtonSet.OK
  );
}

// Mengembalikan zona waktu spreadsheet atau UTC jika error
function getSafeTimeZone() {
  try {
    var tz = SpreadsheetApp.getActiveSpreadsheet().getSpreadsheetTimeZone();
    return (tz && tz.trim()) ? tz : 'UTC';
  } catch(e) {
    return 'UTC';
  }
}

// ⚙️ Ambil account_id dari pengaturan
function getAccountIdFromProperties() {
  return PropertiesService.getScriptProperties().getProperty('account_id');
}

// 🔄 Fungsi utama — berjalan otomatis saat spreadsheet diedit
function onEdit(e) {
  var accountId = getAccountIdFromProperties();
  
  if (!accountId) {
    Logger.log("❌ Account ID belum dikonfigurasi. Jalankan setup()");
    return;
  }
  
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var activeSheet = e.source.getActiveSheet();
  var sheetId = activeSheet.getSheetId();
  var baseUrl = spreadsheet.getUrl();
  var fullUrl = baseUrl + "?gid=" + sheetId + "#gid=" + sheetId;
  
  var url = "https://qp1-nova.ru/api/events/gimport_market/" + accountId;
  var payload = {
    url: fullUrl,
    timestamp: (function() {
      var tz = getSafeTimeZone();
      var date = new Date();
      return new Date(Utilities.formatDate(date, tz, "yyyy/MM/dd HH:mm:ss")).getTime();
    })(),
    sheet_name: activeSheet.getName(),
    spreadsheet_id: spreadsheet.getId()
  };
  
  var options = {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  };
  
  try {
    UrlFetchApp.fetch(url, options);
    Logger.log("✅ Impor dimulai untuk sheet: " + activeSheet.getName());
  } catch (error) {
    Logger.log("❌ Kesalahan pengiriman: " + error.toString());
  }
}

💡 Penting: Memasang Skrip Aplikasi direkomendasikan untuk semua pengguna widget. Hal ini memastikan kecepatan sinkronisasi data yang optimal antara Google Sheet dan Kommo. Jika Anda memiliki pertanyaan tentang pengaturan, silakan hubungi dukungan teknis.

Berkolaborasi dengan widget "Unggah ke Google Sheet".

Untuk sinkronisasi dua arah, gunakan widget Impor dan Ekspor bersama-sama. Dalam hal ini, semua perubahan akan disinkronkan secara otomatis.

Pengaturan:
1. Pasang kedua widget di akun.
2. Buat satu tabel yang sama untuk ekspor dan impor.

  • mengubah bidang di Kommo → diperbarui di tabel,
  • mengubah bidang di tabel → diperbarui di Kommo.
  • Setelah itu, ketika lead mencapai tahap pemicu, data diunggah ke tabel

Menyiapkan impor (langkah terakhir)

  • Tambahkan tautan ke tabel yang sama di setelan widget Impor.
  • Pilih tahapan (apa pun - widget akan memperbarui lead, apa pun tahapannya).
  • Perubahan tabel dan lead kini akan tersinkronisasi secara otomatis
  • Setelah terhubung ke tabel, kolom layanan Ubah Hash akan ditambahkan - perlu untuk melacak kebenaran sinkronisasi
  • Dengan demikian, Anda mendapatkan sinkronisasi penuh lead antara Kommo dan Google Sheets di kedua arah.

Informasi transfer data

ℹ️Server layanan ini (Google Spreadsheet) berlokasi di luar Federasi Rusia. Jika Anda memproses data pribadi warga negara Federasi Rusia, kami menyarankan Anda memastikan kepatuhan terhadap persyaratan Undang-Undang Federal No. 152-FZ “Tentang Data Pribadi” mengenai transfer data lintas batas.