Integrations

Google Sheets

Two-way sync between Google Sheets and /v1/... resources via a Zap or Apps Script.

The snag

Finance and ops keep dropping spreadsheets on top of the ERP; there is no clean way to keep a live sheet in sync with the operating record.

How Zivvy helps

Use a Zap or a small Apps Script to push spreadsheet rows into Zivvy /v1/... endpoints, and let webhook events flow back into new sheet rows.

What you get

  • Any /v1/... resource as a Sheets tab
  • New Zivvy record → new row via webhook subscription
  • Sheet edits → PATCH /v1/... via Apps Script

Workflow stream

Weekly AR aging exported to Google Sheets

Common uses

  1. 01

    Weekly AR aging exported to Google Sheets

  2. 02

    Sheet-driven bulk PATCH on /v1/items

  3. 03

    New /v1/sales-orders → row on the sales dashboard tab

Integration code

Open API reference

Register the sheet's webhook

curl -X POST https://integrate.zivvy.xyz/v1/webhook-subscriptions \
  -H "Authorization: Bearer $ZIVVY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target_url": "https://script.google.com/macros/s/AKfycb.../exec",
    "events": ["sales-orders.submitted"]
  }'

Apps Script consumer

function doPost(e) {
  const evt = JSON.parse(e.postData.contents);
  if (evt.event === "sales-orders.submitted") {
    const sheet = SpreadsheetApp
      .getActive()
      .getSheetByName("Sales Orders");
    sheet.appendRow([
      evt.data.name,
      evt.data.customer,
      evt.data.grand_total,
      evt.data.transaction_date
    ]);
  }
  return ContentService.createTextOutput("ok");
}

API endpoints

GET /v1/sales-ordersPOST /v1/sales-ordersPATCH /v1/items/{name}POST /v1/webhook-subscriptions

Events emitted

HMAC-SHA256 signed webhooks, retried for 24 hours.

  • sales-orders.submitted
  • items.updated
  • sales-invoices.paid

0

free seats forever

0

card required to start

1

workspace for the workflow

Questions

Ready to try it?

Free plan. Two seats. No card.