Reference · Tools

ClickUp Trigger

Starts workflow when ClickUp events occur (tasks created, updated, deleted, comments, folders, goals, etc.)

Webhook trigger Productivity v1

The ClickUp Trigger node starts a workflow the moment something happens in your ClickUp workspace — a task is created, a comment is posted, a goal changes, and more. It uses ClickUp's webhook system and verifies each incoming request via HMAC SHA-256 signature. A common use case is automatically notifying a Slack channel or creating a record in a database whenever a task in a specific list is marked complete.

Node type
Webhook trigger
Parameters
3
Outputs
Output
Credentials
ClickUp API

ClickUp Trigger

Trigger workflows from ClickUp events

Overview

The ClickUp Trigger node listens for webhook events from a ClickUp workspace. It can be configured to trigger on specific events such as task creation, task updates, task deletion, comments, folder changes, goal changes, and more. The incoming webhook payload contains full event details including the affected resource ID, event type, and history entries describing what changed. Supports filtering by space, folder, list, or task ID. Verifies webhook authenticity via HMAC SHA-256 signature.

Category: Productivity
Tool Name: clickup_trigger
Version: 1

Appearance: Icon: si-clickup | Color: #7b68ee

Node Type

Trigger — webhook (receives incoming HTTP callbacks)

Input / Output

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires ClickUp API credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
Team IDstringYesThe ClickUp team (workspace) ID. Find this in your ClickUp workspace settings or via the ClickUp API.
EventsmultiOptionsYes[]Which ClickUp events to listen for. Select * to receive all events.
Options: * (All Events), folderCreated, folderDeleted, folderUpdated, goalCreated, goalDeleted, goalUpdated, keyResultCreated, keyResultDeleted, keyResultUpdated, listCreated, listDeleted, listUpdated, spaceCreated, spaceDeleted, spaceUpdated, taskAssigneeUpdated, taskCommentPosted, taskCommentUpdated, taskCreated, taskDeleted, taskDueDateUpdated, taskMoved, taskStatusUpdated, taskTagUpdated, taskTimeEstimateUpdated, taskTimeTrackedUpdated, taskUpdated
FilterscollectionNo{}Optionally scope the webhook to a specific space, folder, list, or task.
— Folder IDstringNoOnly receive events for this folder
— List IDstringNoOnly receive events for this list
— Space IDstringNoOnly receive events for this space
— Task IDstringNoOnly receive events for this task

Output Data

Each delivery from ClickUp produces one output item. The webhook payload is copied onto the item unchanged, and three fields are added:

  • _trigger — always clickup_webhook
  • _timestamp — ISO 8601 timestamp of when the request arrived
  • _webhookEvent — the ClickUp event name, taken from the payload’s event field

The ClickUp payload itself carries:

  • event — the event name, e.g. taskCreated
  • webhook_id — the ID of the ClickUp webhook that delivered the event
  • task_id — the affected task, on task events
  • history_items — an array of change entries, each with field, before, after, date, and user

Reference the payload downstream by expression, e.g. {{ $json.task_id }} or {{ $json.history_items[0].after.status }}.

Usage Examples

  • Start a workflow when a new task is created in ClickUp
  • Trigger an automation when a ClickUp task status changes
  • Run a workflow when someone comments on a ClickUp task
  • Automate actions when a ClickUp folder or list is updated
  • Listen for ClickUp goal progress updates

Example Configuration

Listen for all task-related events across the entire workspace:

{
  "type": "clickup_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "team": "1234567",
    "events": ["taskCreated", "taskUpdated", "taskDeleted"]
  }
}

Listen for all events but only within a specific space:

{
  "type": "clickup_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "team": "1234567",
    "events": ["*"],
    "filters": {
      "spaceId": "space_123456"
    }
  }
}

Listen for comment events only within a specific list:

{
  "type": "clickup_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "team": "1234567",
    "events": ["taskCommentPosted", "taskCommentUpdated"],
    "filters": {
      "listId": "list_789012"
    }
  }
}

Monitor all events for a specific task:

{
  "type": "clickup_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "team": "1234567",
    "events": ["*"],
    "filters": {
      "taskId": "task_345678"
    }
  }
}

Monitor task status changes and assignments in a specific folder:

{
  "type": "clickup_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "team": "1234567",
    "events": ["taskStatusUpdated", "taskAssigneeUpdated", "taskDueDateUpdated"],
    "filters": {
      "folderId": "folder_456789"
    }
  }
}

Monitor all goal and key result events:

{
  "type": "clickup_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "team": "1234567",
    "events": ["goalCreated", "goalUpdated", "goalDeleted", "keyResultCreated", "keyResultUpdated", "keyResultDeleted"]
  }
}

Track organizational changes to spaces, folders, and lists:

{
  "type": "clickup_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "team": "1234567",
    "events": ["spaceCreated", "spaceUpdated", "spaceDeleted", "folderCreated", "folderUpdated", "folderDeleted", "listCreated", "listUpdated", "listDeleted"]
  }
}

Monitor time-related updates in a specific space:

{
  "type": "clickup_trigger",
  "typeVersion": 1,
  "position": [0, 0],
  "parameters": {
    "team": "1234567",
    "events": ["taskTimeEstimateUpdated", "taskTimeTrackedUpdated"],
    "filters": {
      "spaceId": "space_987654"
    }
  }
}

Trigger Behavior

  • Activation: When the workflow is activated, a webhook endpoint is registered with the service.
  • Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
  • Payload: The incoming webhook payload is parsed and output as workflow items.
  • Verification: Supports signature verification where applicable.

Tips

Receives webhook events from ClickUp. Configure which events to listen for (task created, updated, deleted, comments, folders, goals, etc.). Optionally filter by space, folder, list, or task ID. The webhook payload includes the event type, affected resource, and change history.

Key Notes

  • The team parameter is always required and represents your ClickUp workspace ID
  • Use "*" in the events array to listen for all available events
  • Filter parameters are completely optional but help reduce noise by limiting events to specific organizational units
  • The filters object uses a flat structure — all filter fields are direct properties of the filters object

Frequently asked questions

What credential do I need, and where do I find it?

The node requires a ClickUp API credential (type: clickupApi). You also need your ClickUp workspace ID, which maps to the required `team` parameter — this must always be provided, regardless of which events you are subscribing to. You can find your workspace ID in ClickUp's settings or from the URL when viewing your workspace.

How do I listen for every ClickUp event without listing them one by one?

Set the `events` array to `["*"]` to subscribe to all available ClickUp webhook events at once. This is useful when you want a single trigger to catch anything that happens in your workspace and then branch the workflow based on the event type found in the payload.

The trigger is firing for events I don't care about. How do I reduce the noise?

Use the optional filter parameters to scope the webhook to a specific space, folder, list, or task ID. All filter fields sit as direct properties of a flat `filters` object — there are no nested sub-objects. For example, providing a list ID means the trigger only fires for events that occur within that list, ignoring everything else in the workspace.

What does the webhook payload actually contain?

Each incoming payload includes the event type (e.g. `taskCreated`, `taskUpdated`), the ID of the affected resource, and history entries that describe exactly what changed. This means for update events you can inspect the before/after values directly in the payload without making a follow-up API call.

How does the node verify that an incoming webhook is genuinely from ClickUp?

The node validates each request using an HMAC SHA-256 signature, which ClickUp sends with every webhook delivery. This happens automatically — you do not need to add a separate verification step in your workflow. Requests that fail signature verification are rejected before your workflow runs.

Build with the ClickUp Trigger node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need ClickUp API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.