Language
Google SheetsFree

Connect GetPaidly to Google Sheets

Log every payment, reminder or new due to a spreadsheet automatically. Runs entirely in your own Google account - nothing to install, no cost.

Set it up

  1. 1
    Create a new Google Sheet (or open an existing one).
  2. 2
    In the sheet menu, open Extensions โ†’ Apps Script. A code editor opens in a new tab.
  3. 3
    Delete whatever code is there, paste the script below, and click the Save icon.
  4. 4
    Click Deploy โ†’ New deployment. Click the gear next to โ€œSelect typeโ€ and choose Web app.
  5. 5
    Set Execute as: Me and Who has access: Anyone, then click Deploy.
  6. 6
    Google asks you to authorise: Review permissions โ†’ pick your account โ†’ Advanced โ†’ Go to (project) โ†’ Allow. (This is your own script, so it is safe.)
  7. 7
    Copy the Web app URL it shows (it ends in /exec).
  8. 8
    In GetPaidly: dashboard API tab โ†’ Connect an app โ†’ Google Sheets, paste that URL, tick the events you want, and click Connect.
  9. 9
    Click Send test on the connection - a row appears in your sheet. Done.
Apps Script
function doPost(e) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
  if (sheet.getLastRow() === 0) {
    sheet.appendRow(['Time', 'Event', 'Customer', 'Amount', 'Status', 'Transaction ID']);
  }
  var body = JSON.parse(e.postData.contents);
  var d = body.data || {};
  sheet.appendRow([
    body.timestamp || new Date().toISOString(),
    body.event || '',
    d.contact_name || d.name || '',
    d.amount_paise != null ? (d.amount_paise / 100) : '',
    d.status || '',
    d.id || ''
  ]);
  return ContentService.createTextOutput('ok');
}

The first row becomes headers automatically. Each event adds a row with its time, type, customer, amount and status.

Your URL looks like: https://script.google.com/macros/s/AKfy.../exec

Which events can I send?

Tick any of these when you connect. You can change them anytime.

Payment madeA customer pays a specific due.
Any payment receivedAny payment lands (a due or a subscription).
Reminder sentA WhatsApp reminder goes out.
Due createdYou add a new due.
Customer addedA new customer is added.

Building your own software? The raw JSON and full REST API are in the API docs.

FAQ

Does this cost anything?
No. The script runs in your own free Google account and GetPaidly includes the connection on the Business plan.
Will it create the column headers?
Yes. The first time an event arrives, the script writes the header row (Time, Event, Customer, Amount, Status, Transaction ID) automatically.
Can I send it to an existing sheet?
Yes - open any sheet, add the Apps Script, and events append as new rows to the first tab.
What if the app is briefly down?
Nothing is lost. We log every delivery and retry automatically (after 1m, 5m, 30m, 2h, 6h). You can also redeliver any event by hand from the API tab.
Which plan do I need?
Integrations are part of the Business plan, alongside the REST API and webhooks.
Is it secure?
Every message is signed (HMAC-SHA256) and you only ever send the events you tick. You can disconnect an app anytime.

Connect another app

SlackSlackDiscordDiscordGoogle ChatGoogle ChatZapierZapierMakeMake
See all integrations โ†’

Ready to connect?

Open the API tab, pick this app, paste its URL. Two minutes.

Open API tabAll integrations