Asana
This skill provides a lightweight Asana CLI for OpenClaw.
Auth
Recommended auth is PAT-first.
Priority order:
--tokenorASANA_PAT~/.openclaw/asana/config.jsonwith{ "pat": "..." }- OAuth token at
~/.openclaw/asana/token.json
OAuth remains supported for advanced use, but PAT is the preferred local/operator setup.
Setup
PAT mode (recommended)
node scripts/configure.mjs --mode pat --pat "$ASANA_PAT"
Or set ASANA_PAT in OpenClaw skill config.
OAuth mode (optional)
node scripts/configure.mjs --mode oauth --client-id "$ASANA_CLIENT_ID" --client-secret "$ASANA_CLIENT_SECRET"
node scripts/oauth_oob.mjs authorize --client-id "$ASANA_CLIENT_ID"
node scripts/oauth_oob.mjs token --client-id "$ASANA_CLIENT_ID" --client-secret "$ASANA_CLIENT_SECRET" --code "..."
Storage
This skill stores local state under:
~/.openclaw/asana/config.json~/.openclaw/asana/token.json
Commands
Core CLI:
node scripts/asana_api.mjs me
node scripts/asana_api.mjs list-workspaces
node scripts/asana_api.mjs set-default-workspace --workspace <gid>
node scripts/asana_api.mjs projects --workspace <gid>
node scripts/asana_api.mjs tasks-in-project --project <gid>
node scripts/asana_api.mjs tasks-assigned --workspace <gid> --assignee me
node scripts/asana_api.mjs search-tasks --workspace <gid> --text "quote"
node scripts/asana_api.mjs task <task_gid>
node scripts/asana_api.mjs update-task <task_gid> --name "New name"
node scripts/asana_api.mjs complete-task <task_gid>
node scripts/asana_api.mjs comment <task_gid> --text "Done"
node scripts/asana_api.mjs create-task --workspace <gid> --name "New task"
PAT helpers:
node scripts/asana_api.mjs set-pat <asana_pat>
node scripts/asana_api.mjs clear-pat
OpenClaw config
Recommended skill config:
{
"skills": {
"entries": {
"asana": {
"enabled": true,
"env": {
"ASANA_PAT": "<your-pat>"
}
}
}
}
}
For local/private use, PAT is the best default. Use OAuth only when you specifically need that flow.