clickup · Schema

ClickUp Webhook Payload

The payload delivered by ClickUp when a webhook event is triggered. Each payload includes the event type, webhook identifier, and an array of history items describing the specific changes that occurred.

Properties

Name Type Description
event string The name of the event that triggered the webhook.
webhook_id string The unique identifier of the webhook subscription that matched this event.
task_id string The ID of the task involved in the event. Present for task-related events.
list_id string The ID of the list involved in the event. Present for list-related events.
folder_id string The ID of the folder involved in the event. Present for folder-related events.
space_id string The ID of the space involved in the event. Present for space-related events.
goal_id string The ID of the goal involved in the event. Present for goal and key result events.
history_items array Array of change records describing what was modified in this event.
View JSON Schema on GitHub

JSON Schema

clickup-webhook-payload-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.clickup.com/schemas/clickup/webhook-payload.json",
  "title": "ClickUp Webhook Payload",
  "description": "The payload delivered by ClickUp when a webhook event is triggered. Each payload includes the event type, webhook identifier, and an array of history items describing the specific changes that occurred.",
  "type": "object",
  "required": ["event", "webhook_id"],
  "properties": {
    "event": {
      "type": "string",
      "description": "The name of the event that triggered the webhook.",
      "enum": [
        "taskCreated",
        "taskUpdated",
        "taskDeleted",
        "taskPriorityUpdated",
        "taskStatusUpdated",
        "taskAssigneeUpdated",
        "taskDueDateUpdated",
        "taskTagUpdated",
        "taskMoved",
        "taskCommentPosted",
        "taskCommentUpdated",
        "taskTimeEstimateUpdated",
        "taskTimeTrackedUpdated",
        "listCreated",
        "listUpdated",
        "listDeleted",
        "folderCreated",
        "folderUpdated",
        "folderDeleted",
        "spaceCreated",
        "spaceUpdated",
        "spaceDeleted",
        "goalCreated",
        "goalUpdated",
        "goalDeleted",
        "keyResultCreated",
        "keyResultUpdated",
        "keyResultDeleted"
      ]
    },
    "webhook_id": {
      "type": "string",
      "description": "The unique identifier of the webhook subscription that matched this event."
    },
    "task_id": {
      "type": "string",
      "description": "The ID of the task involved in the event. Present for task-related events."
    },
    "list_id": {
      "type": "string",
      "description": "The ID of the list involved in the event. Present for list-related events."
    },
    "folder_id": {
      "type": "string",
      "description": "The ID of the folder involved in the event. Present for folder-related events."
    },
    "space_id": {
      "type": "string",
      "description": "The ID of the space involved in the event. Present for space-related events."
    },
    "goal_id": {
      "type": "string",
      "description": "The ID of the goal involved in the event. Present for goal and key result events."
    },
    "history_items": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/HistoryItem"
      },
      "description": "Array of change records describing what was modified in this event."
    }
  },
  "$defs": {
    "HistoryItem": {
      "type": "object",
      "description": "A single change record within a webhook event payload.",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the history item."
        },
        "type": {
          "type": "integer",
          "description": "The type code of the history item."
        },
        "date": {
          "type": "string",
          "description": "Unix timestamp in milliseconds when the change occurred.",
          "pattern": "^[0-9]+$"
        },
        "field": {
          "type": "string",
          "description": "The name of the field that was changed (e.g., status, priority, assignee, due_date, tag, comment, name, description, time_estimate, time_spent)."
        },
        "parent_id": {
          "type": "string",
          "description": "The parent resource ID."
        },
        "data": {
          "type": "object",
          "description": "Additional contextual data about the change."
        },
        "source": {
          "type": ["string", "null"],
          "description": "The source of the change. Null for changes made through the UI, 'api' for API changes."
        },
        "user": {
          "$ref": "#/$defs/WebhookUser"
        },
        "before": {
          "description": "The value of the field before the change. Type varies based on the field."
        },
        "after": {
          "description": "The value of the field after the change. Type varies based on the field."
        }
      },
      "required": ["id", "date", "field", "user"]
    },
    "WebhookUser": {
      "type": "object",
      "description": "The user who performed the action that triggered the webhook event.",
      "properties": {
        "id": {
          "type": "integer",
          "description": "The unique identifier of the user."
        },
        "username": {
          "type": "string",
          "description": "The display name of the user."
        },
        "email": {
          "type": "string",
          "format": "email",
          "description": "The email address of the user."
        },
        "color": {
          "type": "string",
          "description": "The hex color code associated with the user."
        },
        "profilePicture": {
          "type": ["string", "null"],
          "format": "uri",
          "description": "URL of the user's profile picture."
        },
        "initials": {
          "type": "string",
          "description": "The initials of the user.",
          "maxLength": 3
        }
      },
      "required": ["id", "username"]
    }
  }
}