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

> ## Agent Instructions
> To act on a user's behalf in Guild, use the Guild REST API at https://api.guild.ai/v1.
> The OpenAPI spec is unauthenticated: https://docs.guild.ai/openapi.json (or openapi.yaml).
> Authenticate with an account API key, sent as HTTP Basic (key id as username, secret as password) or as `Authorization: Bearer <api_key_id>:<api_key_secret>`. See https://docs.guild.ai/api-reference/introduction#authentication.
> To run one agent on demand without account-wide access, use an API trigger instead: https://docs.guild.ai/platform/api-triggers.
> To act on Guild from an MCP client, connect to https://api.guild.ai/mcp (OAuth) or run `guild mcp` locally. Setup: https://docs.guild.ai/api-reference/mcp.
> To search these docs from an MCP client, connect to https://docs.guild.ai/mcp. The full page index is https://docs.guild.ai/llms.txt.

# Manage ClickUp tasks and workspace structure from Guild agents

> Connect Guild agents to ClickUp to create and update tasks, manage goals, track time, configure workspace structure, and control guest permissions.

Integrations · ClickUp

A Guild agent can create, triage, and update work in ClickUp without leaving your team's existing processes. Guild stores the ClickUp API key server-side and injects it into every request, so agent code never sees the credential. Credential policies let you restrict which operations each agent may call, and every request runs through Guild's audit trail.

> [card] [Book a demo](https://guild-ai.cal.com/gtm/meeting-with-guild.ai)
>
> See how teams govern agents that use ClickUp.

> [card] [Talk to sales](https://guild.ai/talk-to-sales)
>
> Get access to Guild, then connect ClickUp to your first agent.

## What the ClickUp integration exposes

The tools cover tasks, comments, checklists, custom fields, time entries, and task dependencies. They also reach workspace structure: spaces, folders, lists, goals, views, webhooks, and user or guest permissions. Tools follow the `clickup_` prefix and ship in the `guildai~clickup` package. Use [`pick()`](https://docs.guild.ai/sdk/tools#selecting-specific-tools) to give an agent only the subset it needs.

## How it works

**1. Get your ClickUp API key**

Generate a personal API token from your ClickUp account settings. The token starts with `pk_`.

**2. Connect the credential in Guild**

In Guild, go to **Access & setup > Credentials**, click **Connect**, select **clickup**, and paste the key into **API Key**. See [Credentials](https://docs.guild.ai/platform/credentials.md) for workspace, member, and agent-scoped options.

**3. Import and configure the tools**

Import `ClickupTools` from `@guildai-services/guildai~clickup` and spread the tools into your `llmAgent` definition. Guild sends the key as `Authorization: <key>` on every outbound request.

## Why ClickUp access needs governing in an agent context

ClickUp tools can delete tasks, remove users from a workspace, revoke guest access, and tear down workspace structure. A credential scoped to an agent limits blast radius: Guild supports account, workspace, member, and agent-scoped credentials, so you can give a triage agent a credential that cannot touch spaces or goals. See [Credentials](https://docs.guild.ai/platform/credentials.md) for scoping options.

Credential policies add a second layer. Guild's proxy evaluates ALLOW and DENY rules before any request leaves the platform, matching on operation name, HTTP method, agent, and workspace. A policy can block all `clickup_delete_*` operations while permitting read and update calls, or restrict destructive tools to one workspace. Because the credential is injected server-side only after the policy check passes, an agent cannot bypass it. See [Credential policies](https://docs.guild.ai/platform/credential-policies.md) for rule syntax. Without scoped rules the default posture is allow-all, so adding a targeted DENY is the fastest way to harden a new deployment.

## About the ClickUp integration

Agents can create, update, and delete tasks, lists, folders, spaces, and goals within a ClickUp workspace. They can manage comments, checklists, custom fields, time entries, and task dependencies. Workspace structure, views, webhooks, and user or guest permissions can also be configured. The integration is `guildai~clickup`.

## Authentication

* **Type:** API key
* **Header:** Guild sends the key as `Authorization: <key>`

### Setup

**1. Connect ClickUp**

In Guild, go to **Access & setup > Credentials**, click **Connect**, select **clickup**, and paste the key into **API Key**.

See [Credentials](https://docs.guild.ai/platform/credentials.md) for workspace, member, and agent-scoped credentials.

## Usage

```typescript theme={null}
import { ClickupTools } from "@guildai-services/guildai~clickup"
import { llmAgent } from "@guildai/agents-sdk"

export default llmAgent({
  systemPrompt: "You work with ClickUp.",
  tools: { ...ClickupTools },
})
```

### Selecting specific tools

Tools are named with the `clickup_` prefix. Use [`pick()`](https://docs.guild.ai/sdk/tools#selecting-specific-tools) to include only what your agent needs.

## Tools

Tools in the latest published version of `guildai~clickup`:

> [accordion] All 138 tools
>
> | Tool | What it does |
> | - | - |
> | `clickup_add_dependency` | Set a task as waiting on or blocking another task. |
> | `clickup_add_guest_to_folder` | Share a Folder with a guest. |
> | `clickup_add_guest_to_list` | Share a List with a guest. |
> | `clickup_add_guest_to_task` | Share a task with a guest. |
> | `clickup_addtagsfromtimeentries` | Add a label to a time entry. |
> | `clickup_add_tag_to_task` | Add a Tag to a task. |
> | `clickup_add_task_link` | This is the equivalent of the feature *Task Links* in the right-hand sidebar of a Task. |
> | `clickup_add_task_to_list` | Add a task to an additional List. |
> | `clickup_changetagnamesfromtimeentries` | Rename an time entry label. |
> | `clickup_createatimeentry` | Create a time entry. |
> | `clickup_create_chat_view_comment` | Add a new comment to a Chat view. |
> | `clickup_create_checklist` | Add a new checklist to a task. |
> | `clickup_create_checklist_item` | Add a line item to a task checklist. |
> | `clickup_create_folder` | Add a new Folder to a Space. |
> | `clickup_create_folder_from_template` | Create a new Folder using a Folder template within a Space. |
> | `clickup_create_folderless_list` | Add a new List in a Space. |
> | `clickup_create_folder_list_from_template` | Create a new list using a list template in a Folder. |
> | `clickup_create_folder_view` | Add a List, Board, Calendar, Table, Timeline, Workload, Activity, Map, Chat, or Gantt view to a Folder. |
> | `clickup_create_goal` | Add a new Goal to a Workspace. |
> | `clickup_create_key_result` | Add a Target to a Goal. |
> | `clickup_create_list` | Add a new List to a Folder. |
> | `clickup_create_list_comment` | Add a comment to a List. |
> | `clickup_create_list_view` | Add a List, Board, Calendar, Table, Timeline, Workload, Activity, Map, Chat, or Gantt view to a List. |
> | `clickup_create_space` | Add a new Space to a Workspace. |
> | `clickup_create_space_list_from_template` | Create a new List using a List template within a Space. |
> | `clickup_create_space_tag` | Add a new task Tag to a Space. |
> | `clickup_create_space_view` | Add a List, Board, Calendar, Table, Timeline, Workload, Activity, Map, Chat, or Gantt view to a Space. |
> | `clickup_create_task` | Create a new task. |
> | `clickup_create_task_attachment` | Upload a file to a task as an attachment. |
> | `clickup_create_task_comment` | Add a new comment to a task. |
> | `clickup_create_task_from_template` | Create a new task using a task template defined in your workspace. |
> | `clickup_create_team_view` | Add a List, Board, Calendar, Table, Timeline, Workload, Activity, Map, Chat, or Gantt view at the Everything Level of a Workspace. |
> | `clickup_create_threaded_comment` | Create a threaded comment. |
> | `clickup_create_user_group` | This endpoint creates a User Group within a Workspace. |
> | `clickup_create_webhook` | Set up a webhook to monitor for events. |
> | `clickup_deleteatime_entry` | Delete a time entry from a Workspace. |
> | `clickup_delete_checklist` | Delete a checklist from a task. |
> | `clickup_delete_checklist_item` | Delete a line item from a task checklist. |
> | `clickup_delete_comment` | Delete a task comment. |
> | `clickup_delete_dependency` | Remove the dependency relationship between two or more tasks. |
> | `clickup_delete_folder` | Delete a Folder from your Workspace. |
> | `clickup_delete_goal` | Remove a Goal from your Workspace. |
> | `clickup_delete_key_result` | Delete a target from a Goal. |
> | `clickup_delete_list` | Delete a List from your Workspace. |
> | `clickup_delete_space` | Delete a Space from your Workspace. |
> | `clickup_delete_space_tag` | Delete a task Tag from a Space. |
> | `clickup_delete_task` | Delete a task from your Workspace. |
> | `clickup_delete_task_link` | Remove the link between two tasks. |
> | `clickup_delete_team` | This endpoint is used to remove a User Group from your Workspace. |
> | `clickup_deletetimetracked` | \*Note: This is a legacy time tracking endpoint. |
> | `clickup_delete_view` | Delete view. |
> | `clickup_delete_webhook` | Delete a webhook to stop monitoring the events and locations of the webhook. |
> | `clickup_edit_checklist` | Rename a task checklist, or reorder a checklist so it appears above or below other checklists on a task. |
> | `clickup_edit_checklist_item` | Update an individual line item in a task checklist. |
> | `clickup_edit_guest_on_workspace` | Configure options for a guest. |
> | `clickup_edit_key_result` | Update a Target. |
> | `clickup_edit_space_tag` | Update a task Tag. |
> | `clickup_edittimetracked` | \*Note: This is a legacy time tracking endpoint. |
> | `clickup_edit_user_on_workspace` | Update a user's name and role. |
> | `clickup_get_accessible_custom_fields` | View the Custom Fields you have access to in a specific List. |
> | `clickup_get_access_token` | These are the routes for authing the API and going through the OAuth flow. |
> | `clickup_getalltagsfromtimeentries` | View all the labels that have been applied to time entries in a Workspace. |
> | `clickup_get_authorized_teams` | View the Workspaces available to the authenticated user. |
> | `clickup_get_authorized_user` | View the details of the authenticated user's ClickUp account. |
> | `clickup_get_bulk_tasks_timein_status` | View how long two or more tasks have been in each status. |
> | `clickup_get_chat_view_comments` | View comments from a Chat view. |
> | `clickup_get_custom_items` | View the custom task types available in a Workspace. |
> | `clickup_get_custom_roles` | View the Custom Roles available in a Workspace. |
> | `clickup_get_filtered_team_tasks` | View the tasks that meet specific criteria from a Workspace. |
> | `clickup_get_folder` | View the Lists within a Folder. |
> | `clickup_get_folder_available_fields` | View the Custom Fields you have access to in a Folder. |
> | `clickup_get_folderless_lists` | View the Lists in a Space that aren't located in a Folder. |
> | `clickup_get_folders` | View the Folders in a Space. |
> | `clickup_get_folder_templates` | View the Folder templates available in a Workspace. |
> | `clickup_get_folder_views` | View the task and page views available for a Folder. |
> | `clickup_get_goal` | View the details of a Goal including its Targets. |
> | `clickup_get_goals` | View the Goals available in a Workspace. |
> | `clickup_get_guest` | View information about a guest. |
> | `clickup_get_list` | View information about a List. |
> | `clickup_get_list_comments` | View the comments added to a List. |
> | `clickup_get_list_members` | Get Workspace members who have explicit access to a List. |
> | `clickup_get_lists` | View the Lists within a Folder. |
> | `clickup_get_list_templates` | View the List templates available in a Workspace. |
> | `clickup_get_list_views` | View the task and page views available for a List. |
> | `clickup_getrunningtimeentry` | View a time entry that's currently tracking time for the authenticated user. |
> | `clickup_getsingulartimeentry` | View a single time entry. |
> | `clickup_get_space` | View the Spaces available in a Workspace. |
> | `clickup_get_space_available_fields` | View the Custom Fields you have access to in a specific Space. |
> | `clickup_get_spaces` | View the Spaces avialable in a Workspace. |
> | `clickup_get_space_tags` | View the task Tags available in a Space. |
> | `clickup_get_space_views` | View the task and page views available for a Space. |
> | `clickup_get_task` | View information about a task. |
> | `clickup_get_task_comments` | View task comments. |
> | `clickup_get_task_members` | Get Workspace members who have explicit access to a task. |
> | `clickup_get_tasks` | View the tasks in a List. |
> | `clickup_get_task_s_timein_status` | View how long a task has been in each status. |
> | `clickup_get_task_templates` | View the task templates available in a Workspace. |
> | `clickup_get_team_available_fields` | View the Custom Fields you have access to in a specific Workspace. |
> | `clickup_get_teams1` | This endpoint is used to view User Groups in your Workspace. |
> | `clickup_get_team_views` | View the task and page views available at the Everything Level of a Workspace. |
> | `clickup_get_threaded_comments` | View threaded comments. |
> | `clickup_gettimeentrieswithinadaterange` | View time entries filtered by start and end date. |
> | `clickup_gettimeentryhistory` | View a list of changes made to a time entry. |
> | `clickup_gettrackedtime` | \*Note: This is a legacy time tracking endpoint. |
> | `clickup_get_user` | View information about a user in a Workspace. |
> | `clickup_get_view` | View information about a specific task or page view. |
> | `clickup_get_view_tasks` | See all visible tasks in a view in ClickUp. |
> | `clickup_get_webhooks` | View the webhooks created via the API for a Workspace. |
> | `clickup_get_workspaceplan` | View the current Plan for the specified Workspace. |
> | `clickup_get_workspaceseats` | View the used, total, and available member and guest seats for a Workspace. |
> | `clickup_invite_guest_to_workspace` | Invite a guest to join a Workspace. |
> | `clickup_invite_user_to_workspace` | Invite someone to join your Workspace as a member. |
> | `clickup_merge_tasks` | Merge multiple tasks into a target task. |
> | `clickup_move_folder` | Move a Folder, either by nesting it inside another Folder as a subfolder or by moving it to another Space as a top-level Folder. |
> | `clickup_remove_custom_field_value` | Remove the data from a Custom Field on a task. |
> | `clickup_remove_guest_from_folder` | Revoke a guest's access to a Folder. |
> | `clickup_remove_guest_from_list` | Revoke a guest's access to a List. |
> | `clickup_remove_guest_from_task` | Revoke a guest's access to a task. |
> | `clickup_remove_guest_from_workspace` | Revoke a guest's access to a Workspace. |
> | `clickup_remove_tag_from_task` | Remove a Tag from a task. |
> | `clickup_removetagsfromtimeentries` | Remove labels from time entries. |
> | `clickup_remove_task_from_list` | Remove a task from an additional List. |
> | `clickup_remove_user_from_workspace` | Deactivate a user from a Workspace. |
> | `clickup_set_custom_field_value` | Add data to a Custom field on a task. |
> | `clickup_shared_hierarchy` | View the tasks, Lists, and Folders that have been shared with the authenticated user. |
> | `clickup_startatime_entry` | Start a timer for the authenticated user. |
> | `clickup_stopatime_entry` | Stop a timer that's currently running for the authenticated user. |
> | `clickup_tracktime` | \*Note: This is a legacy time tracking endpoint. |
> | `clickup_updateatime_entry` | Update the details of a time entry. |
> | `clickup_update_comment` | Replace the content of a task commment, assign a comment, and mark a comment as resolved. |
> | `clickup_update_folder` | Rename a Folder. |
> | `clickup_update_goal` | Rename a Goal, set the due date, replace the description, add or remove owners, and set the Goal color. |
> | `clickup_update_list` | Rename a List, update the List Info description, set a due date/time, set the List's priority, set an assignee, set or remove the List color. |
> | `clickup_update_space` | Rename, set the Space color, and enable ClickApps for a Space. |
> | `clickup_update_task` | Update a task by including one or more fields in the request body. |
> | `clickup_update_team` | This endpoint is used to manage User Groups, which are groups of users within your Workspace. |
> | `clickup_update_view` | Rename a view, update the grouping, sorting, filters, columns, and settings of a view. |
> | `clickup_update_webhook` | Update a webhook to change the events to be monitored. |

## Frequently asked questions

> [accordion] Can a Guild agent receive ClickUp webhook events automatically?
>
> No. The catalog entry for `guildai~clickup` lists no webhook events, so the integration does not deliver inbound ClickUp events to Guild triggers. The `clickup_create_webhook` and `clickup_update_webhook` tools let an agent register webhooks on the ClickUp side, but Guild does not consume those callbacks.

> [accordion] How do I stop one agent from deleting tasks while another can?
>
> Write a credential policy with a DENY rule targeting `clickup_delete_task` and scope it to the agent that should be restricted. The other agent, using the same credential, is unaffected because the DENY rule matches only the agent you specified. See [Credential policies](https://docs.guild.ai/platform/credential-policies.md).

> [accordion] Can different workspaces use different ClickUp accounts?
>
> Yes. Connect an account-level credential for the default and then connect a workspace-scoped credential in any workspace that needs a different ClickUp account. Guild picks the most specific credential in scope when an agent makes a call. See [Credentials](https://docs.guild.ai/platform/credentials.md) for the full resolution order.

> [accordion] Does the agent code ever see the ClickUp API key?
>
> No. Guild stores the key and adds it as the `Authorization` header server-side inside the credential proxy. The key never enters agent code, the container, the prompt, or agent state.

## Put a governed agent on ClickUp this week

> [card] [Book a demo](https://guild-ai.cal.com/gtm/meeting-with-guild.ai)
>
> See how teams govern agents that use ClickUp.

> [card] [Talk to sales](https://guild.ai/talk-to-sales)
>
> Get access to Guild, then connect ClickUp to your first agent.

## Related

**Also runs on Guild:** [Asana](https://docs.guild.ai/integrations/asana.md) · [Google Calendar](https://docs.guild.ai/integrations/google-calendar.md) · [Jira](https://docs.guild.ai/integrations/jira.md) · [monday.com](https://docs.guild.ai/integrations/monday-graphql.md)

**Read:** Docs: [Credential policies](https://docs.guild.ai/platform/credential-policies.md) · [Credentials](https://docs.guild.ai/platform/credentials.md) · [Tools in agents](https://docs.guild.ai/sdk/tools.md)
