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:
- Open your table
- Click Settings (gear icon) → Webhooks
- Click + Add webhook
- Configure:
| Field | Description |
|---|---|
| URL | The endpoint to call when the event fires |
| Events | Which changes trigger the webhook (see below) |
| Headers | Custom headers (e.g., Authorization: Bearer token) |
| Active | Toggle to enable/disable without deleting |
Available events
| Event | Fires when | Payload includes |
|---|---|---|
| Row created | A new row is added to the table | All field values of the new row |
| Row updated | Any field in an existing row changes | Changed fields with old and new values |
| Row deleted | A row is removed from the table | The deleted row's last known values |
| Bulk import | Multiple rows are added via import | Count 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
- Create a new workflow
- Add a Spreadsheet trigger (see Spreadsheet Trigger)
- Select your TinyTable
- Choose the event type (row created, updated, or deleted)
- 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
- After configuring a webhook, click Test in the webhook settings
- This sends a sample payload to your URL
- Check the response status; a
2xxresponse means success - View the test payload to verify the format matches your expectations
For development and testing, use a webhook testing service like webhook.site to inspect the payloads before building your receiving endpoint.
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.
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.