webhooks

Creates a new Webhook.

Important: On creation, a webhook is inactive by default. You can activate the webhook by calling the Update webhook operation on it with enabled set to true.

Webhook instance limits

Each scope object, such as a plan or a sheet, can have a maximum number of associated webhooks.

ObjectMaximum webhooks
Plan100
Sheet100k

Note: You can pass custom headers in your webhook requests, which Smartsheet then adds to all requests that the webhook sends to your callback URL. This is useful for including authentication tokens or other information your application needs. To do this, add a customHeaders object to the request body, with each key-value pair representing a header and its value.

See also:

  • customHeaders body parameter in the Body section below
  • Launch a plan-level webhook
  • Create a plan event-handling endpoint article

Note: For sheet webhooks, you can now filter which events trigger callbacks by specifying event patterns in the events array (for example, ["row.created", "cell.updated"]). If you omit specific patterns or use ["*.*"], the webhook receives all event types. See the events property for supported patterns.

post/webhooks

Request

  • Base URL
    https://api.smartsheet.com/2.0
  • Auth
    • HTTP bearer
    • or OAuth 2
      Authorization code: https://app.smartsheet.com/b/authorize
      Token URL: https://api.smartsheet.com/2.0/token scopes: ADMIN_WEBHOOKS

Headers

Content-Typestring

Required for POST and PUT requests. Defines the structure for the request body.

Request body

OR

Example request

{
  "callbackUrl": "https://www.myApp.com/webhooks",
  "name": "My webhook",
  "id": 8444254503626628,
  "apiClientId": "555555",
  "apiClientName": "Awesome Smartsheet Application",
  "sharedSecret": "216ejjzdnq17mq1q8xs7d4hu8b",
  "events": [
    "*.*"
  ],
  "scope": "plan",
  "scopeObjectId": 3285357287499652,
  "status": "NEW_NOT_VERIFIED",
  "version": 1,
  "customHeaders": {
    "YOUR_CUSTOM_HEADER_KEY_1": "YOUR_CUSTOM_HEADER_VALUE_1",
    "YOUR_CUSTOM_HEADER_KEY_2": "YOUR_CUSTOM_HEADER_VALUE_2"
  }
}

Response

Result object, containing a Webhook object for the newly created webhook

message'PARTIAL_SUCCESS' | 'SUCCESS'

Message that indicates the outcome of the request. (One of SUCCESS or PARTIAL_SUCCESS.)

resultCode0 | 3
  • '0' Success
  • '3' Partial Success of Bulk Operation

Example response

{
  "message": "SUCCESS",
  "result": {
    "callbackUrl": "https://www.myApp.com/webhooks",
    "name": "My webhook",
    "id": 8444254503626628,
    "apiClientId": "555555",
    "apiClientName": "Awesome Smartsheet Application",
    "sharedSecret": "216ejjzdnq17mq1q8xs7d4hu8b",
    "events": [
      "*.*"
    ],
    "scope": "plan",
    "scopeObjectId": 3285357287499652,
    "status": "NEW_NOT_VERIFIED",
    "version": 1,
    "customHeaders": {
      "YOUR_CUSTOM_HEADER_KEY_1": "YOUR_CUSTOM_HEADER_VALUE_1",
      "YOUR_CUSTOM_HEADER_KEY_2": "YOUR_CUSTOM_HEADER_VALUE_2"
    }
  }
}

Changes

    • info

      removed the enum value DISABLED_EXCEEDED_GRID_LIMITS of the request read-only property allOf[subschema #1]/oneOf[subschema #2: Sheet webhook]/allOf[subschema #2]/status

    • info

      removed the DISABLED_EXCEEDED_GRID_LIMITS enum value from the ///// response property for the response status