clickup-install-auth

v2026.09.24

Configure ClickUp personal-token or OAuth authorization with server-side storage, state validation, Workspace verification, and rotation ownership. Use when connecting an application to ClickUp. Trigger with "ClickUp auth", "install ClickUp API", or "ClickUp OAuth setup".

GitHub
Install command
npx skhub add jeremylongshore/clickup-install-auth
Markdown
SKILL.md

ClickUp Authentication Setup

Overview

Choose the authentication mode by tenancy and ownership, then prove the authorized Workspace boundary without exposing credentials.

Prerequisites

  • A server-side application boundary and governed secret manager
  • For personal use/testing, an accountable ClickUp user; for public use, an owner/admin-created OAuth app
  • Exact redirect URIs, state storage, and an expected Workspace allow-list

Tool Discipline

Use Read, Glob, and Grep to inspect the repository, adapters, configuration names, tests, and evidence. Use WebFetch only for current official ClickUp documentation. Use Write or Edit after confirming the target file, Workspace boundary, and requested mode.

Current Contract

  • Personal tokens begin with pk_, are intended for individual/testing use, and do not expire unless regenerated or revoked.
  • User-facing integrations use OAuth Authorization Code at https://app.clickup.com/api and exchange at https://api.clickup.com/api/v2/oauth/token.
  • OAuth access tokens currently do not expire, but ClickUp marks that behavior subject to change.
  • Every API request includes the token in Authorization; authorized Workspaces are verified through the teams endpoint.

Authentication

Use a personal token only for accountable individual/testing work or OAuth Authorization Code for a user-facing integration. Inject the token server-side through a governed secret reference, send it in Authorization, verify authorized Workspace IDs, and never print the token, OAuth client secret, or webhook secret.

Instructions

  1. Choose personal or OAuth mode and record credential owner, environment, and intended Workspaces.
  2. Store token/client secret only in a secret manager and inject by reference at runtime.
  3. For OAuth, register exact HTTPS redirects, generate/validate state, and exchange each code server-side once.
  4. Call GET /api/v2/user and GET /api/v2/team with bounded timeouts.
  5. Compare authorized Workspace IDs with the allow-list and reject cross-tenant ambiguity.
  6. Document revocation/rotation, reauthorization, incident, and ownership-transfer procedures.

Approval Boundaries

Do not print tokens, put a client secret in frontend code, accept unvalidated state, silently expand Workspace authorization, or regenerate a shared token without owner approval.

Output

Return auth mode, secret-reference name, redirect/state result, authorized Workspace IDs in redacted form, verification status, and rotation owner.

Error Handling

ConditionResponse
State mismatchReject the callback and start a new authorization attempt.
Redirect mismatchCorrect the registered exact URI; do not relax validation.
Workspace not authorizedStop and require explicit user reauthorization.
Credential leakedRevoke/regenerate, scrub artifacts, and record the incident.

Examples

The example below is a redacted operator receipt; it contains no task text, member data, credential, or webhook secret.

mode=oauth; redirect=exact; state=valid; token=stored-by-reference; workspace-match=yes; writes=0

Resources

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/.curated/clickup-install-auth

Default branch

main

Latest commit

e5a6c3b

Tree SHA

c2dc8e8