๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
ๅฐ้พ™่™พๅฐ้พ™่™พAI
๐Ÿค–

Asana

Manage Asana via the Asana REST API. Use when you need to list workspaces, projects, tasks, search tasks, comment, update, complete, or create tasks.

ไธ‹่ฝฝ6.0k
ๆ˜Ÿๆ ‡2
็‰ˆๆœฌ1.0.2
ๆœ็ดข็ ”็ฉถ
ๅฎ‰ๅ…จ้€š่ฟ‡

ๆŠ€่ƒฝ่ฏดๆ˜Ž


name: asana description: "Manage Asana via the Asana REST API. Use when you need to list workspaces, projects, tasks, search tasks, comment, update, complete, or create tasks." metadata: openclaw: homepage: "https://developers.asana.com/docs" primaryEnv: "ASANA_PAT" requires: bins: ["node"] env: []

Asana

This skill provides a lightweight Asana CLI for OpenClaw.

Auth

Recommended auth is PAT-first.

Priority order:

  1. --token or ASANA_PAT
  2. ~/.openclaw/asana/config.json with { "pat": "..." }
  3. 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.

ๅฆ‚ไฝ•ไฝฟ็”จใ€ŒAsanaใ€๏ผŸ

  1. ๆ‰“ๅผ€ๅฐ้พ™่™พAI๏ผˆWeb ๆˆ– iOS App๏ผ‰
  2. ็‚นๅ‡ปไธŠๆ–นใ€Œ็ซ‹ๅณไฝฟ็”จใ€ๆŒ‰้’ฎ๏ผŒๆˆ–ๅœจๅฏน่ฏๆก†ไธญ่พ“ๅ…ฅไปปๅŠกๆ่ฟฐ
  3. ๅฐ้พ™่™พAI ไผš่‡ชๅŠจๅŒน้…ๅนถ่ฐƒ็”จใ€ŒAsanaใ€ๆŠ€่ƒฝๅฎŒๆˆไปปๅŠก
  4. ็ป“ๆžœๅณๆ—ถๅ‘ˆ็Žฐ๏ผŒๆ”ฏๆŒ็ปง็ปญๅฏน่ฏไผ˜ๅŒ–

็›ธๅ…ณๆŠ€่ƒฝ