Integrations

Airtable

Bidirectional item catalog sync between Airtable bases and Zivvy /v1/items.

The snag

Merchandising teams manage the item catalog in Airtable, but every launch requires re-keying every SKU into the ERP.

How Zivvy helps

Two-way sync of Airtable records into /v1/items via the Airtable REST API and Zivvy webhook events on items.updated.

What you get

  • Airtable base → /v1/items with UOM, tax, and price list
  • Zivvy items.updated → Airtable row updates
  • Bulk upload via CSV attachment on a base view

Workflow stream

New Airtable row → /v1/items with unit, tax, and price list

Common uses

  1. 01

    New Airtable row → /v1/items with unit, tax, and price list

  2. 02

    Zivvy items.updated → Airtable field update

  3. 03

    Airtable form → new /v1/items request

Integration code

Open API reference

Upsert item from Airtable

curl -X POST https://integrate.zivvy.xyz/v1/items \
  -H "Authorization: Bearer $ZIVVY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "item_code": "SKU-042",
    "item_name": "Ceramic Mug",
    "stock_uom": "Nos",
    "standard_rate": 12.5,
    "external_id": "airtable-recABC"
  }'

Bidirectional sync

import os, requests
from pyairtable import Api

air = Api(os.environ["AIRTABLE_TOKEN"])
table = air.table("appXXXX", "Items")

for rec in table.all():
    requests.post(
        "https://integrate.zivvy.xyz/v1/items",
        headers={"Authorization": f"Bearer {os.environ['ZIVVY_API_KEY']}"},
        json={
            "item_code": rec["fields"]["SKU"],
            "item_name": rec["fields"]["Name"],
            "standard_rate": rec["fields"].get("Price", 0),
            "external_id": rec["id"],
        },
    ).raise_for_status()

API endpoints

GET /v1/itemsPOST /v1/itemsPATCH /v1/items/{name}POST /v1/webhook-subscriptions

Events emitted

HMAC-SHA256 signed webhooks, retried for 24 hours.

  • items.created
  • items.updated
  • items.deleted

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.