|
| 1 | +--- |
| 2 | +title: ClickUp API Tokens |
| 3 | +description: Connect ClickUp to Sim with a personal API token — ideally created from a dedicated service user for production workflows |
| 4 | +--- |
| 5 | + |
| 6 | +import { Callout } from 'fumadocs-ui/components/callout' |
| 7 | +import { Step, Steps } from 'fumadocs-ui/components/steps' |
| 8 | +import { Image } from '@/components/ui/image' |
| 9 | +import { FAQ } from '@/components/ui/faq' |
| 10 | + |
| 11 | +ClickUp personal API tokens let your workflows authenticate without an OAuth consent flow. A token gives full parity with the ClickUp API — everything Sim's ClickUp blocks can do over OAuth works with a token. |
| 12 | + |
| 13 | +Tokens are bound to the user who creates them: every action a workflow takes is attributed to that user, and the token stops working if the user is deactivated or removed from the workspace. For production workflows, create the token from a dedicated service user (e.g. `sim-bot@yourcompany.com`) rather than a personal account. |
| 14 | + |
| 15 | +## Prerequisites |
| 16 | + |
| 17 | +A ClickUp account with access to the workspaces your workflows need. Any user can generate a personal API token from their settings. |
| 18 | + |
| 19 | +## Creating the API Token |
| 20 | + |
| 21 | +<Steps> |
| 22 | + <Step> |
| 23 | + Log in as the service user, click your avatar in ClickUp, and open **Settings** |
| 24 | + |
| 25 | + {/* TODO(screenshot): ClickUp avatar menu with Settings highlighted */} |
| 26 | + </Step> |
| 27 | + <Step> |
| 28 | + In the sidebar, go to **Apps** (labeled **API Token** in some plans) |
| 29 | + </Step> |
| 30 | + <Step> |
| 31 | + Click **Generate** to create your personal token |
| 32 | + |
| 33 | + {/* TODO(screenshot): ClickUp Apps page with the Generate API token button visible */} |
| 34 | + </Step> |
| 35 | + <Step> |
| 36 | + Copy the token — it starts with `pk_` — and store it somewhere safe. |
| 37 | + </Step> |
| 38 | +</Steps> |
| 39 | + |
| 40 | +<Callout type="warn"> |
| 41 | +The API token carries the creating user's full access to every workspace they belong to. Treat it like a password — do not commit it to source control or share it publicly. Sim encrypts the token at rest. |
| 42 | +</Callout> |
| 43 | + |
| 44 | +## Adding the API Token to Sim |
| 45 | + |
| 46 | +<Steps> |
| 47 | + <Step> |
| 48 | + Open your workspace **Settings** and go to the **Integrations** tab |
| 49 | + </Step> |
| 50 | + <Step> |
| 51 | + Search for "ClickUp Service Account" and click it, then click **Add to Sim** and choose **Add API token** |
| 52 | + |
| 53 | + {/* TODO(screenshot): Integrations page with "ClickUp Service Account" in the service list */} |
| 54 | + </Step> |
| 55 | + <Step> |
| 56 | + Paste the API token (`pk_...`) and optionally set a display name and description |
| 57 | + |
| 58 | + {/* TODO(screenshot): Add ClickUp API token dialog with the token filled in */} |
| 59 | + </Step> |
| 60 | + <Step> |
| 61 | + Click **Add API token**. Sim verifies the token by fetching the authorized user from ClickUp — if it fails, you'll see a specific error explaining what went wrong. |
| 62 | + </Step> |
| 63 | +</Steps> |
| 64 | + |
| 65 | +The token is encrypted before being stored. |
| 66 | + |
| 67 | +## Using the Service Account in Workflows |
| 68 | + |
| 69 | +Add a ClickUp block to your workflow. In the credential dropdown, your ClickUp service account appears alongside any OAuth credentials. Select it and configure the block as you normally would. |
| 70 | + |
| 71 | +{/* TODO(screenshot): ClickUp block in a workflow with the service account selected as the credential */} |
| 72 | + |
| 73 | +The block calls the ClickUp API (`api.clickup.com`) with the token. Everything the workflow does — creating tasks, adding comments, uploading attachments — is attributed to the user who created the token. |
| 74 | + |
| 75 | +<FAQ items={[ |
| 76 | + { question: "Does ClickUp have real service accounts?", answer: "Not for API tokens — every token is tied to a user. The closest equivalent is creating a dedicated service user in your workspace and generating the token from that account, so workflows aren't attributed to (or broken by) a real person's account." }, |
| 77 | + { question: "Does the token expire?", answer: "No — personal API tokens are long-lived and don't auto-rotate. They stay valid until regenerated, or until the user who created them is deactivated or removed from the workspace." }, |
| 78 | + { question: "What happens if the token's user leaves the company?", answer: "Tokens are user-bound, so deactivating the user kills the token and every workflow using it starts failing with authentication errors. This is exactly why production tokens should come from a dedicated service user." }, |
| 79 | + { question: "Which workspaces can the token reach?", answer: "Every workspace the creating user belongs to. Use the Get Workspaces operation to see what the token can access, and remember that removing the user from a workspace also removes the token's access to it." }, |
| 80 | + { question: "How do I rotate the token?", answer: "Regenerate the token from the same service user in ClickUp (regenerating invalidates the old one immediately), then update the credential in Sim with the new token." }, |
| 81 | +]} /> |
0 commit comments