Cara menghubungkan node Webhook IoT Logic ke Google Sheets
Kirim parameter telematika dari alur IoT Logic ke Google Sheets menggunakan node Webhook. Mencakup penyiapan node, Apps Script, dan tingkat akses penerapan.
Dalam panduan ini, Anda akan mempelajari cara mengirim parameter telematika atau nilai Sumber Data eksternal dari aliran Navixy IoT Logic ke Google Sheets menggunakan node Webhook.

Langkah 1. Tambahkan node Webhook
Setelah aliran IoT Logic Anda dibuat, tambahkan node Webhook dan hubungkan ke pemicu yang akan memulai transmisi data.
Node Webhook bekerja sebagai mekanisme fire-and-forget. Ini berarti node tersebut mengirim permintaan HTTP segera saat dipicu, tetapi tidak menunggu atau menyimpan respons server.
Setelah menambahkan node Webhook, konfigurasikan sebagai berikut.
URL
Masukkan URL Web App Google Apps Script yang terkait dengan Google Sheet tempat Anda ingin mengirim informasi.
Header
Tambahkan header HTTP berikut:
Tipe konten
application/json
Badan
Isi permintaan harus dalam format JSON. Isi tersebut harus menyertakan kunci autentikasi dan data apa pun yang ingin Anda kirim ke Google Sheets.
Contoh:
{
"key": "MY_SUPER_SECRET_123",
"event": "laporan_bahan_bakar_pagi",
"device_id": "{{device_label}}",
"timestamp": "{{comb_current_time}}"
}
Anda dapat menyertakan atribut IoT Logic atau parameter telemetri tambahan dengan menggunakan placeholder yang sesuai.
Catatan: bidang "key" diperlukan jika Google Apps Script Anda menggunakan rahasia bersama untuk mengautentikasi permintaan Webhook yang masuk. Ganti "MY_SUPER_SECRET_123" dengan rahasia yang dikonfigurasikan di Google Apps Script Anda.

Langkah 2. Siapkan Google Sheet
Buka Google Sheet Anda, klik Extensions, lalu pilih Apps Script.

Ini akan membuka file Code.gs, tempat Anda akan menambahkan skrip yang bertanggung jawab untuk menerima permintaan Webhook dan menulis data ke dalam spreadsheet.

Contoh kode berikut dapat digunakan untuk menerima nilai yang dikirim dari node Webhook dan menambahkannya sebagai baris baru di Google Sheet Anda.
function doPost(e) {
var SECRET_KEY = "MY_SUPER_SECRET_123";
var data = JSON.parse(e.postData.contents);
if (data.key !== SECRET_KEY) {
return ContentService.createTextOutput("Access Denied").setMimeType(ContentService.MimeType.TEXT);
}
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.appendRow([
new Date(),
data.name || "",
data.device_id || "",
data.longitud || "",
data.latitud || ""
]);
return ContentService.createTextOutput("Success").setMimeType(ContentService.MimeType.TEXT);
}
Catatan: Ganti contoh kode di atas dengan skrip yang disediakan di bawah. Anda juga dapat menyesuaikan bidang agar sesuai dengan data yang dikirim dari Webhook IoT Logic Anda.
Skrip di atas berfungsi sebagai endpoint HTTP POST yang menerima permintaan yang dikirim dari node Webhook IoT Logic.
Setiap kali sebuah permintaan diterima, skrip terlebih dahulu memvalidasi rahasia bersama (SECRET_KEY) untuk memastikan bahwa hanya permintaan Webhook yang berwenang yang diizinkan menulis data ke Google Sheet. Jika autentikasi berhasil, payload JSON diurai dan parameter yang ditentukan—seperti stempel waktu penerimaan, nama perangkat, ID perangkat, bujur, lintang, atau nilai telemetri lainnya—secara otomatis ditambahkan sebagai baris baru di spreadsheet.
Akhirnya, skrip mengembalikan respons yang menunjukkan apakah operasi telah selesai dengan berhasil (Berhasil) atau ditolak karena kunci autentikasi yang tidak valid (Akses Ditolak).
Penting: Nama field yang digunakan dalam skrip harus persis cocok dengan nama parameter yang dikirim oleh IoT Logic Webhook. Setiap nilai diakses menggunakan sintaks data.<parameter_name>, di mana <parameter_name> sesuai dengan properti JSON yang diterima dalam permintaan.
Misalnya, jika Webhook mengirim parameter berikut:
{
"level Bahan bakar": 68,5
}
Apps Script harus merujuknya sebagai:
data.fuel_level
Jika skrip justru mereferensikan:
data level Bahan bakar Maret
Nilai tersebut tidak akan terisi karena tidak ada parameter dengan nama itu dalam payload JSON yang masuk. Akibatnya, sel yang sesuai di Google Sheets akan tetap kosong.
Ini adalah salah satu kesalahan konfigurasi yang paling umum saat mengintegrasikan IoT Logic Webhook dengan Google Sheets. Selalu verifikasi bahwa nama parameter di isi Webhook persis cocok dengan yang digunakan di Apps Script, termasuk huruf kapital, garis bawah, dan ejaannya.
Setelah Anda selesai mencocokkan isi JSON dengan kode Apps Script Anda, klik tombol Deploy.
Di bawah Who has access, pastikan untuk memilih Anyone.
Pengaturan ini diperlukan karena ketika simpul Webhook mengirim permintaan HTTP POST ke URL Web App Google Apps Script, permintaan tersebut diterima sebagai klien anonim (tanpa kredensial akun Google Anda).
Jika tingkat akses dikonfigurasi sebagai:
Only myself – Google akan menolak permintaan atau meminta autentikasi.
Anyone – Google akan menerima permintaan POST tanpa mewajibkan pengirim untuk masuk.
Karena alasan ini, Anyone adalah tingkat akses yang direkomendasikan saat menerima permintaan dari penyedia webhook eksternal seperti Navixy, ngrok, Postman, curl, atau klien HTTP pihak ketiga lainnya.

Pilih New Deployment, lalu pilih Web App dari menu jenis deployment. Proses deployment mungkin memerlukan beberapa saat. Setelah selesai, URL Web App akan dibuat. Salin URL ini dan tempelkan ke kolom URL pada simpul Webhook di aliran IoT Logic Anda. URL Web App adalah endpoint yang akan menerima permintaan HTTP POST yang dikirim oleh simpul Webhook.


Memperbarui Apps Script
Jika Anda perlu memodifikasi Apps Script nanti, Anda tidak perlu membuat deployment baru.
Sebagai gantinya, klik Deploy → Manage Deployments, pilih deployment yang sudah ada, lalu klik Edit (ikon pensil). Setelah menyimpan dan menerapkan ulang versi yang diperbarui, perubahan yang dibuat pada skrip akan langsung berlaku sambil tetap menggunakan URL Web App yang sama.
Ini memungkinkan Anda memperbarui skrip tanpa harus memodifikasi konfigurasi Webhook di IoT Logic.

Setelah menyelesaikan semua langkah yang dijelaskan dalam panduan ini, koneksi antara IoT Logic dan Google Sheets seharusnya berhasil dibuat.
Integrasi ini menyediakan cara yang sederhana dan efektif untuk mencatat data telemetri, parameter eksternal, atau atribut kustom IoT Logic untuk pelaporan, analisis, audit, atau integrasi dengan alat Google Workspace lainnya.
Terakhir diperbarui
Apakah ini membantu?