Skip to Content
IntegrationsGoogle Sheets

Google Sheets

Trigger a WhatsApp message every time a new row is added (or edited) in a Google Sheet. Because Google Sheets doesn’t have a native webhook, this uses a short Apps Script that POSTs to Splashify on change.

Setup

1. Copy the Splashify webhook URL

https://apis.splashifypro.com/api/v1/webhooks/integrations/<your-user-id>/google_sheets

2. Open Apps Script on your sheet

Sheet → Extensions → Apps Script. Paste:

function onEdit(e) { // Only fire on edits in the main data sheet if (e.range.getSheet().getName() !== 'Sheet1') return; const row = e.range.getRow(); if (row === 1) return; // header row const sheet = e.range.getSheet(); const values = sheet.getRange(row, 1, 1, sheet.getLastColumn()).getValues()[0]; // Map your columns — adjust to match your sheet const payload = { phone: String(values[0]), first_name: String(values[1]), amount: String(values[2]), order_id: String(values[3]), }; UrlFetchApp.fetch('PASTE_SPLASHIFY_URL_HERE', { method: 'post', contentType: 'application/json', payload: JSON.stringify(payload), }); }

Replace PASTE_SPLASHIFY_URL_HERE with the URL from step 1. Save the script.

3. Grant permissions

First time the script runs, Google prompts for permissions (UrlFetch + read sheet). Approve.

4. Configure in Splashify

  • Phone Fieldphone
  • Variables → first_name, amount, order_id (match what you sent in the Apps Script payload)
  • EnabledSave.

5. Test

Add a row with a real phone number. The onEdit trigger fires within a second; check the Splashify logs.

Alternatives

  • If you want new row events (not just edits), use onChange instead and filter e.changeType === 'INSERT_ROW'.
  • For batched syncs (daily send based on a column value), use a time-based trigger in Apps Script instead.

Gotchas

  • Apps Script triggers don’t fire on API / external edits — only on human edits in the UI. For API-driven updates, you need an installable trigger plus a time-based check.
  • Rate limit. Apps Script limits UrlFetch to 20,000 calls/day (business), 2000/day (consumer). Past that, batch the notifications.
  • Sheet changes are lossy under high-frequency writes. Don’t expect millisecond-precise ordering.