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.
Before Zivvy
Handoffs go missing, owners are unclear, audits get painful.
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
Common uses
01
Weekly AR aging exported to Google Sheets
02
Sheet-driven bulk PATCH on /v1/items
03
New /v1/sales-orders → row on the sales dashboard tab
Integration code
Open API referenceRegister 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
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.