Table events let you react to changes at the table level in your Airtable base—when tables are created, renamed, have their description changed, or are deleted. This is separate from record events, which track changes to individual records.
Overview
| Event | Triggers when |
|---|
| table_create | A new table has been created in the base |
| table_update | A table’s name or description has changed |
| table_delete | A table has been deleted from the base |
Setup
You can register table event webhooks via:
- Dashboard: Add a new webhook and select “New Table”, “Updated Table”, or “Deleted Table” as the event type
- API: Use the Register Webhook endpoint with
event: "table_create", "table_update", or "table_delete"
For table_create, no table selection is needed—the webhook watches the entire base for new tables.
For table_update and table_delete, you can optionally specify which tables to watch. Leave the selection empty to watch all tables in the base.
Watch New Tables (table_create)
Triggers when a new table is created in your Airtable base.
Payload example
{
"id": "0abce289-4d03-46ef-80b5-16744c1798a4",
"event": "table_create",
"tableId": "tblx8EstOGzjOlnO8",
"baseId": "appatVcKk6xNFwPej",
"tableData": {
"name": { "current": "Table 4" },
"description": { "current": null }
},
"meta": {
"source": "client",
"occurredAt": "2025-07-27T14:02:45.228Z",
"user": {
"id": "usrnwwJUfsBR6EMXl",
"name": "Richard Ahrend",
"email": "richard.ahrend@gmail.com"
}
}
}
Key components
| Field | Description |
|---|
event | Always "table_create" |
tableId | The ID of the newly created table |
baseId | The base containing the table |
tableData.name.current | The table’s name |
tableData.description.current | The table’s description (or null) |
meta | Source, timestamp, and user who made the change |
Watch Updated Tables (table_update)
Triggers when a table’s name or description is changed.
Payload example (renamed table)
{
"id": "0abce289-4d03-46ef-80b5-16744c1798a4",
"event": "table_update",
"tableId": "tblL70CrLtnGYjKCV",
"baseId": "appatVcKk6xNFwPej",
"tableData": {
"name": {
"current": "Kopie von Field Types Reference1",
"previous": "Kopie von Field Types Reference"
}
},
"meta": {
"source": "client",
"occurredAt": "2025-07-27T13:43:45.888Z",
"user": {
"id": "usrnwwJUfsBR6EMXl",
"name": "Richard Ahrend",
"email": "richard.ahrend@gmail.com"
}
}
}
Payload example (updated description)
{
"id": "0abce289-4d03-46ef-80b5-16744c1798a4",
"event": "table_update",
"tableId": "tblL70CrLtnGYjKCV",
"baseId": "appatVcKk6xNFwPej",
"tableData": {
"description": {
"current": "Test Beschreibung",
"previous": null
}
},
"meta": {
"source": "client",
"occurredAt": "2025-07-27T13:48:29.650Z",
"user": {
"id": "usrnwwJUfsBR6EMXl",
"name": "Richard Ahrend",
"email": "richard.ahrend@gmail.com"
}
}
}
Key components
| Field | Description |
|---|
event | Always "table_update" |
tableId | The ID of the updated table |
baseId | The base containing the table |
tableData.name | current and previous values when name changed |
tableData.description | current and previous values when description changed |
meta | Source, timestamp, and user who made the change |
Only fields that actually changed are included in tableData. If only the name changed, description will be omitted, and vice versa.
Watch Deleted Tables (table_delete)
Triggers when a table is deleted from the base.
Payload example
{
"id": "0abce289-4d03-46ef-80b5-16744c1798a4",
"event": "table_delete",
"tableId": "tblx8EstOGzjOlnO8",
"baseId": "appatVcKk6xNFwPej",
"meta": {
"source": "client",
"occurredAt": "2025-07-27T14:03:38.033Z",
"user": {
"id": "usrnwwJUfsBR6EMXl",
"name": "Richard Ahrend",
"email": "richard.ahrend@gmail.com"
}
}
}
Key components
| Field | Description |
|---|
event | Always "table_delete" |
tableId | The ID of the deleted table |
baseId | The base the table belonged to |
meta | Source, timestamp, and user who made the change |
When to use Table Events
- Sync schema changes to external systems when tables are added or removed
- Audit table renames and description updates
- Notify your team when someone creates, renames, or deletes tables
- Maintain documentation that reflects the current base structure