Grist · Schema

GristWebhook

A webhook configured on a Grist document that delivers payloads when data changes.

SpreadsheetDatabaseCollaborationNo-CodeData ManagementWebhookOpen-Source

Properties

Name Type Description
id string Webhook unique identifier.
fields object Webhook configuration fields.
usage objectnull Delivery statistics for this webhook.
View JSON Schema on GitHub

JSON Schema

grist-webhook.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/grist/main/json-schema/grist-webhook.json",
  "title": "GristWebhook",
  "description": "A webhook configured on a Grist document that delivers payloads when data changes.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Webhook unique identifier.",
      "example": "xxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx"
    },
    "fields": {
      "type": "object",
      "description": "Webhook configuration fields.",
      "properties": {
        "name": { "type": ["string", "null"], "example": "new-project-email" },
        "memo": { "type": ["string", "null"], "example": "Send an email when a project is added" },
        "url": { "type": "string", "format": "uri", "example": "https://example.com/webhook/123" },
        "enabled": { "type": "boolean" },
        "eventTypes": {
          "type": "array",
          "items": { "type": "string" },
          "example": ["add", "update"]
        },
        "isReadyColumn": { "type": ["string", "null"] },
        "tableId": { "type": "string", "example": "Projects" },
        "unsubscribeKey": { "type": "string" }
      }
    },
    "usage": {
      "type": ["object", "null"],
      "description": "Delivery statistics for this webhook.",
      "properties": {
        "numWaiting": { "type": "integer" },
        "status": { "type": "string", "example": "idle" },
        "lastHttpStatus": { "type": ["number", "null"] },
        "lastErrorMessage": { "type": ["string", "null"] }
      }
    }
  }
}