# Webhook event types

Each smartsheet webhook sends notifications (callbacks) about events affecting its scope object (for example, a sheet or plan).

This article explains event filtering and describes events you can configure webhooks to send.

## Event filtering

Both **sheet webhooks** and **plan webhooks** support event filtering, allowing you to receive only the events you care about.

### Sheet webhook event filtering

You can configure **sheet webhooks** to send callbacks for specific event types by passing an array of event patterns in the `events` field.

For example, to receive only row creation and cell update events:

```yaml
"scope": "sheet"
"events": ["row.created", "cell.updated"]
```

You can also use wildcard patterns to match all events for a given object type:

| Pattern | Coverage |
|  --- | --- |
| `"*.*"` | All sheet events (default) |
| `"row.*"` | All row events (created, updated, deleted) |
| `"cell.*"` | All cell events |
| `"column.*"` | All column events |
| `"sheet.*"` | All sheet-level events |
| `"attachment.*"` | All attachment events |
| `"discussion.*"` | All discussion events |
| `"comment.*"` | All comment events |


> **Note:** For the full list of supported patterns, see the [Sheet webhook](/api/smartsheet/openapi/schemas/sheetwebhook) schema's `events` property.


### Plan webhook event filtering

You can configure **plan webhooks** to send callbacks that include specific events affecting a plan.

For example, you can set the following attributes on a plan webhook to have it send only **user seat type update** event notifications.

```yaml
"scope": "plan"
"events": ["user.seatType.updated"]
```

Alternatively, you can use plan webhook event patterns to filter on hierarchical groupings that automatically expand to include future event types.

The table below shows a range of patterns, starting with the most general pattern, to filter on plan events.

| Pattern | Coverage | Use Case |
|  --- | --- | --- |
| `"*.*"` | All plan events (current and future) | Comprehensive monitoring, maximum future-proofing |
| `"user.*"` | All user-related events (current and future) | Monitor all user management activities |
| `"user.seatType.*"` | All seat type-related events (current and future) | Focus on seat type changes |
| `"user.seatType.updated"` | Single event type | Targeted monitoring for specific workflows |


## Sheet events

Sheet webhooks (where `"scope": "sheet"`) send callbacks that contain sheet-related events. You can filter which events trigger callbacks using event patterns — see [Sheet webhook event filtering](#sheet-webhook-event-filtering) above for details.

## Plan events

Plan webhooks (where `"scope": "plan"`) send callbacks that contain plan-related events. You can filter which events trigger callbacks using event patterns — see [Plan webhook event filtering](#plan-webhook-event-filtering) above for details.

> **Note:** For details, see the [plan webhook](/api/smartsheet/openapi/schemas/planwebhook) schema.


### User seat type events

You can use any combination of the following `events` attribute patterns to configure a plan webhook to send specific user seat type events.

| Pattern | Description |
|  --- | --- |
| `"*.*"` | All plan events (current and future) |
| `"user.*"` | All user-related events (current and future) |
| `"user.seatType.*"` | All user seat type-related events (current and future) |
| `"user.seatType.updated"` | All user seat type updates |