> ## Documentation Index
> Fetch the complete documentation index at: https://simplified-webhooks.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Watch Table Events

> Trigger webhooks when Airtable tables are created, updated, or deleted.

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](/api-reference/post/webhooks/register) 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

```json theme={null}
{
  "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@simplified-webhooks.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)

```json theme={null}
{
  "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@simplified-webhooks.com"
    }
  }
}
```

### Payload example (updated description)

```json theme={null}
{
  "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@simplified-webhooks.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          |

<Info>
  Only fields that actually changed are included in `tableData`. If only the name changed, `description` will be omitted, and vice versa.
</Info>

***

## Watch Deleted Tables (table\_delete)

Triggers when a table is deleted from the base.

### Payload example

```json theme={null}
{
  "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@simplified-webhooks.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
