# Webhooks

Smartsheet webhooks are powerful tools for building custom integrations and automating processes. Instead of constantly polling for changes, with webhooks you can configure your applications to receive real-time notifications when specific Smartsheet events occur.

Here are just a few of the events you can receive:

- Sheet row added
- Sheet cell value updated
- Sheet comment added
- User seat type updated


You can act on events however you like. For example,

- Request approval
- Assign a related task
- Trigger automation
- Update related data


In your applications subscribed to notifications, you can implement event-based actions. Here's an overview of setting up Smartsheet webhooks.

> **See also:** Check out these resource-specific guides:**
- **Sheet webhooks** (covered here in this guide; continue reading)
- **[Plan-level webhooks](/api/smartsheet/guides/users/automate-user-seat-type-management)**



## Smartsheet webhooks setup overview

At a high level, the steps here summarize how to get started using Smartsheet event notifications via webhooks.

### Step 1: Determine the events you want

Smartsheet webhooks send events for plans, sheets, and several sheet components. The webhooks deliver events in callbacks to target endpoints. The [Callback](/api/smartsheet/openapi/webhooks/callback) schema's `events` field provides access to the event definitions.

For sheet scope webhooks, the object affected by the event can be one of the following `objectType` values:

- attachment
- cell
- column
- comment
- discussion
- row
- sheet


For plan scope webhooks, the object affected by the event is of `objectType: "user.seatType"`.

You can find events that interest you by looking at each callback's event payload (the events in its `events` array).

For example, if you're interested in events that affect a specific column in a sheet, you can parse out events that have `objectType=column` and `id=<ID of the column>`.

Here are some examples of sheet events that might interest you:

- Attachments added and updated
- Rows added, updated, and deleted
- Cell value updates


Once you've decided on the events you want, you can create endpoints to process those events.

### Step 2: Create an event-handling endpoint

[Create an event-handling endpoint](/api/smartsheet/guides/webhooks/create-an-event-handling-endpoint) that extracts the event data you want from event payloads and acts on those events.

> **Note:** Your endpoint must also acknowledge Smartsheet's verification requests -- they make sure your endpoint is listening.


### Step 3: Create your webhook

[Create a webhook](/api/smartsheet/openapi/webhooks/createwebhook) to subscribe to the events.

### Step 4: Enable your webhook

Enable your webhook by calling the [Update webhook](/api/smartsheet/openapi/webhooks/updatewebhook) operation with the `enable` query parameter set to `true`.

When your endpoint satisfies Smartsheet's verification challenge, Smartsheet enables your webhook and sends callbacks to your endpoint as events occur.

Now you have a general understanding of how Smartsheet webhooks work. It's time to create an endpoint for handling the Smartsheet events that interest you.

## What's next?

[Create an event-handling endpoint](/api/smartsheet/guides/webhooks/create-an-event-handling-endpoint)

[Launch a webhook](/api/smartsheet/guides/webhooks/launch-a-webhook)