> ## Documentation Index
> Fetch the complete documentation index at: https://koreai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ClickUp integration

[Back to list of integrations](https://koreai.mintlify.site/agent-platform/integrations/enterprise-systems.md)

Use the ClickUp integration to let agents manage tasks, lists, comments, chat channels, and custom fields through Action Tools, and to start workflows when ClickUp events occur. Artemis authenticates with OAuth 2.0.

| Authentication | Actions | Workflow triggers |
| - | - | - |
| OAuth 2.0 | [31](#supported-actions) | [30](#supported-triggers) |

## Supported actions

Actions are ClickUp operations that an agent runs as Action Tools during a conversation. You can also run them from an [Integration node](https://koreai.mintlify.site/agent-platform/workflows.md#integration-node) in a workflow.

| Action | Use it to |
| - | - |
| [Create Task](#create-task) | Create a task in a list. |
| [Create Task From Template](#create-task-from-template) | Create a task from a task template. |
| [Create Folderless List](#create-folderless-list) | Create a list directly in a space. |
| [Create Task Comment](#create-task-comment) | Add a comment to a task. |
| [Create Subtask](#create-subtask) | Create a subtask under a task. |
| [Create Channel](#create-channel) | Create a chat channel in a workspace. |
| [Create Channel in Space/Folder/List](#create-channel-in-space-folder-list) | Create a chat channel in a space, folder, or list. |
| [Create Message](#create-message) | Post a message in a channel. |
| [Create Message Reaction](#create-message-reaction) | Add a reaction to a message. |
| [Create Message Reply](#create-message-reply) | Reply to a message. |
| [Get List](#get-list) | Get a list. |
| [Get Task](#get-task) | Get a task by ID. |
| [Get Task by Name](#get-task-by-name) | Find a task by name in a list. |
| [Get Space](#get-space) | Get a space. |
| [Get Spaces](#get-spaces) | Get the spaces in a workspace. |
| [Get Task Comments](#get-task-comments) | Get the comments on a task. |
| [Get Channel](#get-channel) | Get a channel. |
| [Get Channels](#get-channels) | Get the channels in a workspace. |
| [Get Channel Messages](#get-channel-messages) | Get the messages in a channel. |
| [Get Message Reactions](#get-message-reactions) | Get the reactions to a message. |
| [Get Message Replies](#get-message-replies) | Get the replies to a message. |
| [List Team Tasks](#list-team-tasks) | Get the tasks in a workspace that match filter criteria. |
| [List Time Entries](#list-time-entries) | Get time entries for a date range. |
| [Update Task](#update-task) | Change a task's name, description, status, priority, or assignees. |
| [Update Message](#update-message) | Change a message. |
| [Delete Message](#delete-message) | Delete a message. |
| [Delete Message Reaction](#delete-message-reaction) | Remove a reaction from a message. |
| [Delete Task](#delete-task) | Delete a task. |
| [Get Accessible Custom Fields](#get-accessible-custom-fields) | Get the custom fields available on tasks in a list. |
| [Set Custom Field Value](#set-custom-field-value) | Set a custom field value on a task. |
| [Custom API Call](#custom-api-call) | Call a ClickUp API endpoint that the other actions don't cover. |

## Supported triggers

Triggers start a [workflow](https://koreai.mintlify.site/agent-platform/workflows.md) when an event occurs in ClickUp.

| Trigger | Starts a workflow when |
| - | - |
| Task Created | A task is created. |
| Task Updated | A task is updated. |
| Task Deleted | A task is deleted. |
| Task Priority Updated | A task's priority changes. |
| Task Status Updated | A task's status changes. |
| Task Assignee Updated | A task's assignee changes. |
| Task Due Date Updated | A task's due date changes. |
| Task Tag Updated | A task's tag changes. |
| Task Moved | A task moves to another list. |
| Task Comment Posted | A comment is posted on a task. |
| Task Comment Updated | A task comment is updated. |
| Task Time Estimate Updated | A task's time estimate changes. |
| Task Time Tracked Updated | A task's tracked time changes. |
| List Created | A list is created. |
| List Updated | A list is updated. |
| List Deleted | A list is deleted. |
| Folder Created | A folder is created. |
| Folder Updated | A folder is updated. |
| Folder Deleted | A folder is deleted. |
| Space Created | A space is created. |
| Space Updated | A space is updated. |
| Space Deleted | A space is deleted. |
| Automation Created | An automation is created. |
| Goal Created | A goal is created. |
| Goal Updated | A goal is updated. |
| Goal Deleted | A goal is deleted. |
| Key Result Created | A key result is created. |
| Key Result Updated | A key result is updated. |
| Key Result Deleted | A key result is deleted. |
| Task Tag Updated | A tag is added to, removed from, or renamed on a task. |

## Prerequisites

* A ClickUp account with access to the workspaces, spaces, and lists that agents use.
* An OAuth app in ClickUp. See [Authentication](https://developer.clickup.com/docs/authentication).

## Set up the integration

**1. Create a ClickUp OAuth app**

In ClickUp, create an OAuth app. Add the **Callback URL** from the Artemis profile form as the redirect URL, and copy the **Client ID** and **Client Secret**.

**2. Create the auth profile**

In **Integrations**, select **ClickUp** > **Connect**. On **Project Auth Profiles**, select **New Profile** > **Integration Profile** > **ClickUp** > **Continue**.

| Field | Value |
| - | - |
| **Profile Name** | A name for the profile, for example `ClickUp - Production` |
| **Usage Mode** | **Preconfigured** (default), **JIT (Just-in-Time)**, or **Preflight**. With **Preconfigured**, an admin provides credentials at setup, and users don't authorize. See [Auth profiles](https://koreai.mintlify.site/agent-platform/administration/integrations-settings.md#auth-profiles). |
| **Authorization URL**, **Token URL**, **Refresh URL** | Pre-filled with the ClickUp endpoints. Keep the defaults. |
| **Scopes** | Leave empty. ClickUp doesn't use scopes. |
| **Callback URL** | Read only. Add it to your ClickUp app's redirect URL. |
| **Client ID**, **Client Secret** | From your ClickUp app. |

Select **Create Profile**, and complete the ClickUp sign-in and consent when prompted. Select every workspace that agents need.

**3. Create the action tool**

In **Tools**, open the **Actions** tab and select **Create Tool**. Enter a **Tool Name** and **Description**, and select **Select Integration** > **ClickUp** > **Continue**. Select the **Action** and **Auth Profile**, set parameter defaults (leave a value empty for the agent to supply at runtime), choose an output mode, and select **Create Tool**. Then [assign the tool to an agent](https://koreai.mintlify.site/agent-platform/tools/actions.md#assign-an-action-to-an-agent).

## Action reference

> [accordion] Create Task
>
> Creates a task in a list.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | enum | Space. |
> | `list_id` | enum | List to create the task in. |
> | `name` | string | Task name. |
> | `status_id` | enum | Task status. |
> | `priority_id` | enum | Task priority. |
> | `assignee_id` | array | Users to assign the task to. |
> | `description` | string | Task description. |
> | `is_markdown` | boolean | Treats the description as Markdown. Default: `False`. |
> | `due_date` | string | Due date. |
> | `due_date_time` | boolean | Includes the time in the due date. Default: `False`. |
> | `start_date` | string | Start date. |
> | `start_date_time` | boolean | Includes the time in the start date. Default: `False`. |
> | `time_estimate` | number | Time estimate, in milliseconds. |
> | `check_required_custom_fields` | boolean | Validates required custom fields. Default: `False`. |
> | `custom_fields_info` | string | Custom fields to set. For a dropdown field, select the option by its index, starting at 0. |
> | `custom_fields` | object | Custom field values. |

> [accordion] Create Task From Template
>
> Creates a task from a task template.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | enum | Space. |
> | `list_id` | enum | List to create the task in. |
> | `template_id` | enum | Task template. |
> | `name` | string | Task name. |

> [accordion] Create Folderless List
>
> Creates a list directly in a space, outside any folder.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | enum | Space to create the list in. |
> | `name` | string | List name. |

> [accordion] Create Task Comment
>
> Adds a comment to a task.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | enum | Space. |
> | `list_id` | enum | List. |
> | `task_id` | enum | Task to comment on. |
> | `comment` | string | Comment text. |
> | `assignee_id` | enum | User to assign the comment to. |

> [accordion] Create Subtask
>
> Creates a subtask under a task.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | enum | Space. |
> | `list_id` | enum | List. |
> | `task_id` | enum | Parent task. |
> | `name` | string | Subtask name. |
> | `status_id` | enum | Subtask status. |
> | `priority_id` | enum | Subtask priority. |
> | `assignee_id` | array | Users to assign the subtask to. |
> | `description` | string | Subtask description. |
> | `is_markdown` | boolean | Treats the description as Markdown. Default: `False`. |
> | `due_date` | string | Due date. |
> | `due_date_time` | boolean | Includes the time in the due date. Default: `False`. |
> | `start_date` | string | Start date. |
> | `start_date_time` | boolean | Includes the time in the start date. Default: `False`. |
> | `time_estimate` | number | Time estimate, in milliseconds. |
> | `check_required_custom_fields` | boolean | Validates required custom fields. Default: `False`. |
> | `custom_fields_info` | string | Custom fields to set. For a dropdown field, select the option by its index, starting at 0. |
> | `custom_fields` | object | Custom field values. |

> [accordion] Create Channel
>
> Creates a chat channel in a workspace.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `name` | string | Channel name. |
> | `description` | string | Channel description. |
> | `topic` | string | Channel topic. |
> | `visibility` | enum | Channel visibility. |

> [accordion] Create Channel in Space/Folder/List
>
> Creates a chat channel in a space, folder, or list.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `description` | string | Channel description. |
> | `topic` | string | Channel topic. |
> | `locationType` | enum | Location type: space, folder, or list. Default: `Folder`. |
> | `locationId` | string | ID of the space, folder, or list. |
> | `visibility` | enum | Channel visibility. |

> [accordion] Create Message
>
> Posts a message in a channel.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `channel_id` | enum | Channel. |
> | `content` | string | Message content. |
> | `type` | enum | Message type. Default: `Message`. |

> [accordion] Create Message Reaction
>
> Adds a reaction to a message.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `message_id` | string | Message ID. |
> | `emoji` | string | Emoji to react with. |

> [accordion] Create Message Reply
>
> Replies to a message.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `message_id` | string | ID of the message to reply to. |
> | `content` | string | Reply content. |
> | `type` | enum | Message type. Default: `Message`. |

> [accordion] Get List
>
> Gets a list.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `list_id` | string | List ID. |

> [accordion] Get Task
>
> Gets a task by ID.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `task_id` | string | Task ID. |
> | `include_subtasks` | boolean | Includes subtasks in the response. Default: `False`. |

> [accordion] Get Task by Name
>
> Finds a task by name in a list.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | enum | Space. |
> | `list_id` | enum | List to search. |
> | `task_name` | string | Task name to find. |

> [accordion] Get Space
>
> Gets a space.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `space_id` | enum | Space. |

> [accordion] Get Spaces
>
> Gets the spaces in a workspace.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `team_id` | enum | Workspace. |

> [accordion] Get Task Comments
>
> Gets the comments on a task.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `task_id` | string | Task ID. |

> [accordion] Get Channel
>
> Gets a channel.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `channel_id` | enum | Channel. |

> [accordion] Get Channels
>
> Gets the channels in a workspace.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `include_hidden` | boolean | Includes hidden channels. Default: `False`. |
> | `limit` | number | Maximum number of channels to return. |

> [accordion] Get Channel Messages
>
> Gets the messages in a channel.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `channel_id` | enum | Channel. |
> | `limit` | number | Maximum number of messages to return. |
> | `content_format` | enum | Format of the returned message content. Default: `Markdown`. |

> [accordion] Get Message Reactions
>
> Gets the reactions to a message.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `message_id` | string | Message ID. |

> [accordion] Get Message Replies
>
> Gets the replies to a message.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `message_id` | string | Message ID. |

> [accordion] List Team Tasks
>
> Gets the tasks in a workspace that match the filter criteria.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | array | Spaces to filter by. |
> | `folder_id` | array | Folders to filter by. |
> | `list_id` | array | Lists to filter by. |
> | `assignees` | array | Assignees to filter by. |
> | `tags` | array | Tags to filter by. |
> | `page` | number | Page to return, starting at 0. |
> | `reverse` | boolean | Returns tasks in reverse order. Default: `False`. |
> | `include_closed` | boolean | Includes closed tasks. Default: `False`. |
> | `order_by` | enum | Field to sort by. If empty, tasks are sorted by creation date. |

> [accordion] List Time Entries
>
> Gets time entries for a date range.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `start_date` | string | Start of the date range. |
> | `end_date` | string | End of the date range. |
> | `space_id` | enum | Space to filter by. |
> | `folder_id` | enum | Folder to filter by. |
> | `list_id` | enum | List to filter by. |
> | `task_id` | enum | Task to filter by. |
> | `assignee` | array | Users to filter by. |
> | `include_task_tags` | boolean | Includes the task tags for each time entry. Default: `False`. |
> | `include_location_names` | boolean | Includes the list, folder, and space names with their IDs. Default: `False`. |

> [accordion] Update Task
>
> Changes a task's name, description, status, priority, or assignees.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | enum | Space. |
> | `list_id` | enum | List. |
> | `task_id` | enum | Task to update. |
> | `name` | string | New task name. |
> | `description` | string | New task description. |
> | `status_id` | enum | New status. |
> | `priority_id` | enum | New priority. |
> | `add_assignee` | array | Users to add as assignees. |
> | `rem_assignee` | array | Users to remove as assignees. |

> [accordion] Update Message
>
> Changes a message.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `message_id` | string | Message ID. |
> | `content` | string | New message content. |
> | `content_format` | enum | Format of the content. |

> [accordion] Delete Message
>
> Deletes a message.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `message_id` | string | Message ID. |

> [accordion] Delete Message Reaction
>
> Removes a reaction from a message.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `message_id` | string | Message ID. |
> | `reaction_id` | string | Reaction ID. |

> [accordion] Delete Task
>
> Deletes a task.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | enum | Space. |
> | `list_id` | enum | List. |
> | `task_id` | enum | Task to delete. |

> [accordion] Get Accessible Custom Fields
>
> Gets the custom fields available on tasks in a list.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | enum | Space. |
> | `list_id` | enum | List. |

> [accordion] Set Custom Field Value
>
> Sets a custom field value on a task.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `workspace_id` | enum | Workspace. |
> | `space_id` | enum | Space. |
> | `list_id` | enum | List. |
> | `task_id` | enum | Task. |
> | `field_id` | enum | Custom field. |
> | `value` | string | New value. |

> [accordion] Custom API Call
>
> Sends a request to a ClickUp API endpoint. Artemis adds the authorization headers from the auth profile.
>
> | Parameter | Type | Description |
> | - | - | - |
> | `url` | object | Endpoint URL. |
> | `method` | enum | HTTP method. |
> | `headers` | object | Request headers. Authorization headers are added automatically. |
> | `queryParams` | object | Query parameters. |
> | `body_type` | enum | Body type. Default: `None`. |
> | `body` | object | Request body. |
> | `response_is_binary` | boolean | Returns the response as a file. Use for PDFs, images, and other files. Default: `False`. |
> | `failsafe` | boolean | Returns a result instead of an error when the request fails. |
> | `timeout` | number | Timeout, in seconds. |
> | `followRedirects` | boolean | Follows HTTP redirects. Default: `False`. |

## Troubleshoot common issues

| Issue | Resolution |
| - | - |
| Authorization fails with a redirect error | Confirm the ClickUp app's redirect URL matches the **Callback URL** from the profile form. |
| The profile status stays **Awaiting authorization** | Complete the ClickUp sign-in and consent in the same browser session. |
| A workspace is missing from the `workspace_id` list | Reauthorize the profile and select the workspace on the ClickUp consent screen. |
| Task creation fails on a list with required custom fields | Set `check_required_custom_fields` to `True`, and supply values in `custom_fields`. |
| `Get Task by Name` returns no result | Confirm the name matches exactly and that the task is in the selected list. |
| A trigger doesn't start the workflow | Confirm the auth profile is authorized and that the event occurs in a workspace the profile can access. |

**Related articles:**

* [Auth profiles](https://koreai.mintlify.site/agent-platform/administration/integrations-settings.md#auth-profiles)
* [Action Tools](https://koreai.mintlify.site/agent-platform/tools/actions.md)
* [Workflows](https://koreai.mintlify.site/agent-platform/workflows.md)
* [ClickUp API documentation](https://developer.clickup.com/docs)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.