Webhooks & Automations

Connect your TinyTable to external systems and workflows. When data changes in your table, you can trigger webhooks, run workflows, or update other systems automatically.

Webhook triggers

Configure webhooks that fire when table data changes:

  1. Open your table
  2. Click Settings (gear icon) → Webhooks
  3. Click + Add webhook
  4. Configure:
FieldDescription
URLThe endpoint to call when the event fires
EventsWhich changes trigger the webhook (see below)
HeadersCustom headers (e.g., Authorization: Bearer token)
ActiveToggle to enable/disable without deleting

Available events

EventFires whenPayload includes
Row createdA new row is added to the tableAll field values of the new row
Row updatedAny field in an existing row changesChanged fields with old and new values
Row deletedA row is removed from the tableThe deleted row's last known values
Bulk importMultiple rows are added via importCount and array of new rows

Webhook payload format

{
  "event": "row.created",
  "table_id": "tbl_abc123",
  "table_name": "Leads",
  "timestamp": "2024-03-15T10:30:00Z",
  "data": {
    "row_id": "row_xyz789",
    "fields": {
      "Name": "Sarah Chen",
      "Email": "sarah@acmecorp.com",
      "Status": "New",
      "Created": "2024-03-15T10:30:00Z"
    }
  },
  "changed_fields": ["Name", "Email", "Status"],
  "user": {
    "id": "usr_abc",
    "email": "admin@yourcompany.com"
  }
}

TinyWorkflow integration

The most powerful way to automate on table changes is with TinyWorkflows:

Using the Spreadsheet trigger

  1. Create a new workflow
  2. Add a Spreadsheet trigger (see Spreadsheet Trigger)
  3. Select your TinyTable
  4. Choose the event type (row created, updated, or deleted)
  5. Build your automation in the workflow canvas

This is more powerful than raw webhooks because you get:

  • Visual workflow builder: drag-and-drop automation
  • AI nodes: classify, enrich, or analyze the changed data
  • Error handling: retry logic and error branches
  • Execution history: full audit trail of what happened

Common automation patterns

New lead → Enrich → Notify:

Spreadsheet trigger (row created in Leads table) →
  Company Enrichment (look up company data) →
  Update Record (write enrichment data back) →
  Slack (#new-leads: enriched lead details)

Status change → Update downstream:

Spreadsheet trigger (row updated, field: Status) →
  If-Else (new status = "Closed Won") →
    Google Sheets (add to wins spreadsheet) +
    Send Email (celebration to team) +
    Slack (#wins channel)

Row deleted → Archive:

Spreadsheet trigger (row deleted) →
  Create Record (insert into archive table with deletion timestamp) →
  Log (record deletion for audit)

Testing webhooks

  1. After configuring a webhook, click Test in the webhook settings
  2. This sends a sample payload to your URL
  3. Check the response status; a 2xx response means success
  4. View the test payload to verify the format matches your expectations
Tip

For development and testing, use a webhook testing service like webhook.site to inspect the payloads before building your receiving endpoint.

Warning

Webhooks retry failed deliveries (non-2xx responses) up to 3 times with exponential backoff. If your endpoint is consistently failing, webhooks will be automatically disabled after multiple consecutive failures.

Note

Webhook events are not batched. Each individual row change fires its own webhook. For high-volume tables, consider using TinyWorkflows with a Spreadsheet trigger, which handles batching more efficiently.