ticktick
TickTick task/project integration toolkit for OAuth2 authorization, token refresh, and typed task/project operations. Use when users need to authenticate with TickTick, run task/project CRUD workflows, or operate the OpenClaw/Codex wrapper via token.json.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/one0x393/ticktick-calendarTickTick Skill
Operate TickTick task/project workflows with strict contracts, runtime token management, typed API access, and OpenClaw-ready action wrappers.
Quick Reference
| Situation | Action |
|---|---|
| First-time OAuth authorization needed | Run npm run ticktick:cli -- auth-url, then auth-exchange with callback URL |
| Token expired but refresh token exists | Use runtime/CLI auto-refresh path (getAccessTokenWithAutoReauth) |
| Token missing or refresh failed | Reauthorize from emitted URL and rerun command |
| Need task creation/update/complete | Use runtime.useCases.createTask/updateTask/completeTask or skill actions |
| Need task/project listing | Use runtime.useCases.listTasks/listProjects or CLI commands |
| Need OpenClaw action integration | Use skill-entry/ticktick-skill.mjs and expose 5 MVP actions |
| Need error categorization for UX/retry | Handle TickTickDomainError categories from src/shared/error-categories.ts |
Capabilities
- OAuth2 contract + runtime token client
- Authorization URL build/callback parse
- Authorization-code exchange
- Refresh-token renewal
- Typed API client with timeout/retry/error typing
- HTTP timeout and exponential backoff for retryable failures
- Core usecases (MVP 5)
create_tasklist_tasksupdate_taskcomplete_tasklist_projects
- OpenClaw/Codex wrapper entrypoints
skill-entry/token-manager.mjsskill-entry/ticktick-skill.mjsscripts/ticktick-cli.mjs
Prerequisites
Required environment variables:
TICKTICK_CLIENT_IDTICKTICK_CLIENT_SECRETTICKTICK_REDIRECT_URI
Optional runtime defaults:
TICKTICK_OAUTH_AUTHORIZE_URL(default:https://ticktick.com/oauth/authorize)TICKTICK_OAUTH_TOKEN_URL(default:https://ticktick.com/oauth/token)TICKTICK_API_BASE_URL(default:https://api.ticktick.com/open/v1)TICKTICK_API_TIMEOUT_MS(default:10000)TICKTICK_API_MAX_RETRIES(default:3)TICKTICK_API_RETRY_BASE_DELAY_MS(default:250)TICKTICK_OAUTH_SCOPETICKTICK_USER_AGENT
Token and notification options:
TICKTICK_TOKEN_PATH(default:~/.config/ticktick/token.json)TICKTICK_REAUTH_WEBHOOK_URLTICKTICK_REAUTH_NOTIFY_COOLDOWN_MSTICKTICK_REAUTH_NOTIFY_STATE_PATH
OpenClaw Setup (Recommended)
OpenClaw integration is provided through createTickTickOpenClawSkill in skill-entry/ticktick-skill.mjs.
Skill action surface
Expose the following actions:
create_tasklist_tasksupdate_taskcomplete_tasklist_projects
Runtime/token behavior
- Parse env via
parseTickTickEnvFromRuntime. - Resolve token path (
options.tokenPath->TICKTICK_TOKEN_PATH-> default path). - Load access token with auto refresh (
getAccessTokenWithAutoReauth). - On missing/expired token without valid refresh token:
- raise
ReauthRequiredError - optionally notify via webhook
- surface reauthorization URL to caller.
- raise
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-one0x393-ticktick-calendar": {
"enabled": true,
"auto_update": true
}
}
}