Clickup · AsyncAPI Specification

ClickUp Webhooks Events

Version 2.0

The ClickUp Webhooks event system delivers real-time notifications when changes occur within a ClickUp Workspace. When subscribed events happen, ClickUp sends HTTP POST requests to a registered endpoint URL with a JSON payload describing the event. Each payload is signed using HMAC-SHA256 with a shared secret for verification. Events cover tasks, lists, folders, spaces, goals, and key results.

View Spec View on GitHub AsyncAPIEventsWebhooks

Channels

/webhook
publish receiveWebhookEvent
Receive a webhook event from ClickUp
Channel for all ClickUp webhook events. Events are delivered as HTTP POST requests with a JSON body. The X-Signature header contains the HMAC-SHA256 signature for payload verification.

Messages

TaskCreated
Task Created
A new task was created
TaskUpdated
Task Updated
A task was updated
TaskDeleted
Task Deleted
A task was deleted
TaskStatusUpdated
Task Status Updated
A task status was changed
TaskAssigneeUpdated
Task Assignee Updated
A task assignee was added or removed
TaskPriorityUpdated
Task Priority Updated
A task priority was changed
TaskDueDateUpdated
Task Due Date Updated
A task due date was changed
TaskTagUpdated
Task Tag Updated
A task tag was added or removed
TaskMoved
Task Moved
A task was moved to a different list
TaskCommentPosted
Task Comment Posted
A comment was posted on a task
TaskCommentUpdated
Task Comment Updated
A comment on a task was updated
TaskTimeEstimateUpdated
Task Time Estimate Updated
A task time estimate was changed
TaskTimeTrackedUpdated
Task Time Tracked Updated
Time tracked on a task was updated
ListCreated
List Created
A new list was created
ListUpdated
List Updated
A list was updated
ListDeleted
List Deleted
A list was deleted
FolderCreated
Folder Created
A new folder was created
FolderUpdated
Folder Updated
A folder was updated
FolderDeleted
Folder Deleted
A folder was deleted
SpaceCreated
Space Created
A new space was created
SpaceUpdated
Space Updated
A space was updated
SpaceDeleted
Space Deleted
A space was deleted
GoalCreated
Goal Created
A new goal was created
GoalUpdated
Goal Updated
A goal was updated
GoalDeleted
Goal Deleted
A goal was deleted
KeyResultCreated
Key Result Created
A new key result was created
KeyResultUpdated
Key Result Updated
A key result was updated
KeyResultDeleted
Key Result Deleted
A key result was deleted

Servers

https
webhookEndpoint {webhookUrl}
The HTTPS endpoint URL registered when creating a webhook subscription. ClickUp sends event payloads as POST requests to this URL.

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: ClickUp Webhooks Events
  description: >-
    The ClickUp Webhooks event system delivers real-time notifications when
    changes occur within a ClickUp Workspace. When subscribed events happen,
    ClickUp sends HTTP POST requests to a registered endpoint URL with a
    JSON payload describing the event. Each payload is signed using
    HMAC-SHA256 with a shared secret for verification. Events cover tasks,
    lists, folders, spaces, goals, and key results.
  version: '2.0'
  contact:
    name: ClickUp Support
    url: https://help.clickup.com
  license:
    name: ClickUp API Terms
    url: https://clickup.com/terms
servers:
  webhookEndpoint:
    url: '{webhookUrl}'
    protocol: https
    description: >-
      The HTTPS endpoint URL registered when creating a webhook subscription.
      ClickUp sends event payloads as POST requests to this URL.
    variables:
      webhookUrl:
        description: >-
          The URL configured as the webhook endpoint during webhook creation.
    security:
      - hmacSignature: []
channels:
  /webhook:
    description: >-
      Channel for all ClickUp webhook events. Events are delivered as HTTP
      POST requests with a JSON body. The X-Signature header contains the
      HMAC-SHA256 signature for payload verification.
    publish:
      operationId: receiveWebhookEvent
      summary: Receive a webhook event from ClickUp
      description: >-
        ClickUp publishes webhook events to the registered endpoint. Each
        event includes the event type, webhook ID, and event-specific data
        in the history_items array. The payload is signed with the shared
        secret using HMAC-SHA256.
      message:
        oneOf:
          - $ref: '#/components/messages/TaskCreated'
          - $ref: '#/components/messages/TaskUpdated'
          - $ref: '#/components/messages/TaskDeleted'
          - $ref: '#/components/messages/TaskStatusUpdated'
          - $ref: '#/components/messages/TaskAssigneeUpdated'
          - $ref: '#/components/messages/TaskPriorityUpdated'
          - $ref: '#/components/messages/TaskDueDateUpdated'
          - $ref: '#/components/messages/TaskTagUpdated'
          - $ref: '#/components/messages/TaskMoved'
          - $ref: '#/components/messages/TaskCommentPosted'
          - $ref: '#/components/messages/TaskCommentUpdated'
          - $ref: '#/components/messages/TaskTimeEstimateUpdated'
          - $ref: '#/components/messages/TaskTimeTrackedUpdated'
          - $ref: '#/components/messages/ListCreated'
          - $ref: '#/components/messages/ListUpdated'
          - $ref: '#/components/messages/ListDeleted'
          - $ref: '#/components/messages/FolderCreated'
          - $ref: '#/components/messages/FolderUpdated'
          - $ref: '#/components/messages/FolderDeleted'
          - $ref: '#/components/messages/SpaceCreated'
          - $ref: '#/components/messages/SpaceUpdated'
          - $ref: '#/components/messages/SpaceDeleted'
          - $ref: '#/components/messages/GoalCreated'
          - $ref: '#/components/messages/GoalUpdated'
          - $ref: '#/components/messages/GoalDeleted'
          - $ref: '#/components/messages/KeyResultCreated'
          - $ref: '#/components/messages/KeyResultUpdated'
          - $ref: '#/components/messages/KeyResultDeleted'
components:
  securitySchemes:
    hmacSignature:
      type: httpApiKey
      name: X-Signature
      in: header
      description: >-
        HMAC-SHA256 signature of the request body, signed with the shared
        secret returned when the webhook was created. Verify by computing
        HMAC-SHA256 of the raw request body using the secret and comparing
        with the X-Signature header value.
  messages:
    TaskCreated:
      name: taskCreated
      title: Task Created
      summary: A new task was created
      description: >-
        Triggered when a new task is created within the subscribed scope.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskUpdated:
      name: taskUpdated
      title: Task Updated
      summary: A task was updated
      description: >-
        Triggered when a task field is modified. The history_items array
        contains the specific field changes with before and after values.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskDeleted:
      name: taskDeleted
      title: Task Deleted
      summary: A task was deleted
      description: >-
        Triggered when a task is permanently deleted.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskStatusUpdated:
      name: taskStatusUpdated
      title: Task Status Updated
      summary: A task status was changed
      description: >-
        Triggered when a task's status changes. The history_items include
        the previous and new status values.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskAssigneeUpdated:
      name: taskAssigneeUpdated
      title: Task Assignee Updated
      summary: A task assignee was added or removed
      description: >-
        Triggered when assignees are added to or removed from a task.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskPriorityUpdated:
      name: taskPriorityUpdated
      title: Task Priority Updated
      summary: A task priority was changed
      description: >-
        Triggered when a task's priority level is changed.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskDueDateUpdated:
      name: taskDueDateUpdated
      title: Task Due Date Updated
      summary: A task due date was changed
      description: >-
        Triggered when a task's due date is set, changed, or removed.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskTagUpdated:
      name: taskTagUpdated
      title: Task Tag Updated
      summary: A task tag was added or removed
      description: >-
        Triggered when tags are added to or removed from a task.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskMoved:
      name: taskMoved
      title: Task Moved
      summary: A task was moved to a different list
      description: >-
        Triggered when a task is moved from one list to another.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskCommentPosted:
      name: taskCommentPosted
      title: Task Comment Posted
      summary: A comment was posted on a task
      description: >-
        Triggered when a new comment is added to a task.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskCommentUpdated:
      name: taskCommentUpdated
      title: Task Comment Updated
      summary: A comment on a task was updated
      description: >-
        Triggered when an existing comment on a task is modified.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskTimeEstimateUpdated:
      name: taskTimeEstimateUpdated
      title: Task Time Estimate Updated
      summary: A task time estimate was changed
      description: >-
        Triggered when a task's time estimate is set or modified.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    TaskTimeTrackedUpdated:
      name: taskTimeTrackedUpdated
      title: Task Time Tracked Updated
      summary: Time tracked on a task was updated
      description: >-
        Triggered when a time entry is added, modified, or deleted on a task.
      payload:
        $ref: '#/components/schemas/TaskWebhookPayload'
    ListCreated:
      name: listCreated
      title: List Created
      summary: A new list was created
      description: >-
        Triggered when a new list is created within the subscribed scope.
      payload:
        $ref: '#/components/schemas/ListWebhookPayload'
    ListUpdated:
      name: listUpdated
      title: List Updated
      summary: A list was updated
      description: >-
        Triggered when a list's properties are modified.
      payload:
        $ref: '#/components/schemas/ListWebhookPayload'
    ListDeleted:
      name: listDeleted
      title: List Deleted
      summary: A list was deleted
      description: >-
        Triggered when a list is permanently deleted.
      payload:
        $ref: '#/components/schemas/ListWebhookPayload'
    FolderCreated:
      name: folderCreated
      title: Folder Created
      summary: A new folder was created
      description: >-
        Triggered when a new folder is created within the subscribed scope.
      payload:
        $ref: '#/components/schemas/FolderWebhookPayload'
    FolderUpdated:
      name: folderUpdated
      title: Folder Updated
      summary: A folder was updated
      description: >-
        Triggered when a folder's properties are modified.
      payload:
        $ref: '#/components/schemas/FolderWebhookPayload'
    FolderDeleted:
      name: folderDeleted
      title: Folder Deleted
      summary: A folder was deleted
      description: >-
        Triggered when a folder is permanently deleted.
      payload:
        $ref: '#/components/schemas/FolderWebhookPayload'
    SpaceCreated:
      name: spaceCreated
      title: Space Created
      summary: A new space was created
      description: >-
        Triggered when a new space is created within the Workspace.
      payload:
        $ref: '#/components/schemas/SpaceWebhookPayload'
    SpaceUpdated:
      name: spaceUpdated
      title: Space Updated
      summary: A space was updated
      description: >-
        Triggered when a space's properties are modified.
      payload:
        $ref: '#/components/schemas/SpaceWebhookPayload'
    SpaceDeleted:
      name: spaceDeleted
      title: Space Deleted
      summary: A space was deleted
      description: >-
        Triggered when a space is permanently deleted.
      payload:
        $ref: '#/components/schemas/SpaceWebhookPayload'
    GoalCreated:
      name: goalCreated
      title: Goal Created
      summary: A new goal was created
      description: >-
        Triggered when a new goal is created within the Workspace.
      payload:
        $ref: '#/components/schemas/GoalWebhookPayload'
    GoalUpdated:
      name: goalUpdated
      title: Goal Updated
      summary: A goal was updated
      description: >-
        Triggered when a goal's properties are modified.
      payload:
        $ref: '#/components/schemas/GoalWebhookPayload'
    GoalDeleted:
      name: goalDeleted
      title: Goal Deleted
      summary: A goal was deleted
      description: >-
        Triggered when a goal is permanently deleted.
      payload:
        $ref: '#/components/schemas/GoalWebhookPayload'
    KeyResultCreated:
      name: keyResultCreated
      title: Key Result Created
      summary: A new key result was created
      description: >-
        Triggered when a new key result is added to a goal.
      payload:
        $ref: '#/components/schemas/GoalWebhookPayload'
    KeyResultUpdated:
      name: keyResultUpdated
      title: Key Result Updated
      summary: A key result was updated
      description: >-
        Triggered when a key result's progress or properties are modified.
      payload:
        $ref: '#/components/schemas/GoalWebhookPayload'
    KeyResultDeleted:
      name: keyResultDeleted
      title: Key Result Deleted
      summary: A key result was deleted
      description: >-
        Triggered when a key result is permanently deleted from a goal.
      payload:
        $ref: '#/components/schemas/GoalWebhookPayload'
  schemas:
    TaskWebhookPayload:
      type: object
      description: >-
        Payload delivered for task-related webhook events.
      properties:
        event:
          type: string
          description: >-
            The event name (e.g., taskCreated, taskUpdated, taskDeleted).
        webhook_id:
          type: string
          description: >-
            The ID of the webhook subscription that triggered this event.
        task_id:
          type: string
          description: >-
            The ID of the task that was affected.
        history_items:
          type: array
          items:
            $ref: '#/components/schemas/HistoryItem'
          description: >-
            Array of change records describing what was modified. Each item
            contains the field name, the before and after values, the user
            who made the change, and the timestamp.
    ListWebhookPayload:
      type: object
      description: >-
        Payload delivered for list-related webhook events.
      properties:
        event:
          type: string
          description: >-
            The event name (e.g., listCreated, listUpdated, listDeleted).
        webhook_id:
          type: string
          description: >-
            The ID of the webhook subscription that triggered this event.
        list_id:
          type: string
          description: >-
            The ID of the list that was affected.
        history_items:
          type: array
          items:
            $ref: '#/components/schemas/HistoryItem'
          description: >-
            Array of change records.
    FolderWebhookPayload:
      type: object
      description: >-
        Payload delivered for folder-related webhook events.
      properties:
        event:
          type: string
          description: >-
            The event name (e.g., folderCreated, folderUpdated, folderDeleted).
        webhook_id:
          type: string
          description: >-
            The ID of the webhook subscription that triggered this event.
        folder_id:
          type: string
          description: >-
            The ID of the folder that was affected.
        history_items:
          type: array
          items:
            $ref: '#/components/schemas/HistoryItem'
          description: >-
            Array of change records.
    SpaceWebhookPayload:
      type: object
      description: >-
        Payload delivered for space-related webhook events.
      properties:
        event:
          type: string
          description: >-
            The event name (e.g., spaceCreated, spaceUpdated, spaceDeleted).
        webhook_id:
          type: string
          description: >-
            The ID of the webhook subscription that triggered this event.
        space_id:
          type: string
          description: >-
            The ID of the space that was affected.
        history_items:
          type: array
          items:
            $ref: '#/components/schemas/HistoryItem'
          description: >-
            Array of change records.
    GoalWebhookPayload:
      type: object
      description: >-
        Payload delivered for goal and key result-related webhook events.
      properties:
        event:
          type: string
          description: >-
            The event name (e.g., goalCreated, goalUpdated, keyResultUpdated).
        webhook_id:
          type: string
          description: >-
            The ID of the webhook subscription that triggered this event.
        goal_id:
          type: string
          description: >-
            The ID of the goal that was affected.
        history_items:
          type: array
          items:
            $ref: '#/components/schemas/HistoryItem'
          description: >-
            Array of change records.
    HistoryItem:
      type: object
      description: >-
        A record of a single change within a webhook event. Describes what
        field was changed, by whom, and the before and after values.
      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.
        field:
          type: string
          description: >-
            The name of the field that was changed (e.g., status, priority,
            assignee, due_date, tag, comment, name, description).
        parent_id:
          type: string
          description: >-
            The parent resource ID.
        data:
          type: object
          description: >-
            Additional data about the change.
        source:
          type: string
          nullable: true
          description: >-
            The source of the change (e.g., null for UI, api for API).
        user:
          type: object
          properties:
            id:
              type: integer
              description: >-
                The user ID who made the change.
            username:
              type: string
              description: >-
                The username.
            email:
              type: string
              format: email
              description: >-
                The email address.
            color:
              type: string
              description: >-
                The user color.
            profilePicture:
              type: string
              format: uri
              nullable: true
              description: >-
                URL of the profile picture.
            initials:
              type: string
              description: >-
                The user initials.
          description: >-
            The user who made the change.
        before:
          description: >-
            The value before the change. Type varies based on the field.
        after:
          description: >-
            The value after the change. Type varies based on the field.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/clickup-webhooks-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.