بنقرة واحدة
asana
Asana API — tasks, projects, and team collaboration
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Asana API — tasks, projects, and team collaboration
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Google Calendar — list, create, and manage events via gcal CLI
Manage HubSpot CRM — contacts, companies, deals, tickets
Manage Shopify store — products, orders, customers, inventory
Configure audio transcription and image/video understanding for channels
AWS CLI for S3, EC2, Lambda, CloudWatch, RDS, and ECS
Google Calendar — list, create, and manage events via gcal CLI
| name | asana |
| version | 0.1.0 |
| author | devclaw |
| description | Asana API — tasks, projects, and team collaboration |
| category | project-management |
| tags | ["asana","tasks","projects","collaboration","team"] |
| requires | {"bins":["curl","jq"],"env":["ASANA_ACCESS_TOKEN"]} |
Interact with Asana using their REST API.
Check existing credentials:
vault_get asana_access_token
If not configured:
vault_save asana_access_token "x_xxx"
The token is auto-injected as $ASANA_ACCESS_TOKEN.
# List workspaces
curl -s "https://app.asana.com/api/1.0/workspaces" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" | jq '.data[]'
# List projects in workspace
curl -s "https://app.asana.com/api/1.0/workspaces/WORKSPACE_ID/projects" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" | jq '.data[]'
# List all projects
curl -s "https://app.asana.com/api/1.0/projects" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" | jq '.data[] | {gid, name}'
# List tasks in project
curl -s "https://app.asana.com/api/1.0/projects/PROJECT_ID/tasks" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" | jq '.data[]'
# Get task details
curl -s "https://app.asana.com/api/1.0/tasks/TASK_ID" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" | jq '.data'
# My tasks
curl -s "https://app.asana.com/api/1.0/user/me/tasks?opt_fields=name,completed,due_on" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" | jq '.data[]'
curl -s -X POST "https://app.asana.com/api/1.0/tasks" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"data": {
"name": "Review pull request",
"notes": "Check the authentication module changes",
"projects": ["PROJECT_ID"],
"assignee": "me",
"due_on": "2025-01-20"
}
}' | jq '.data'
# Complete task
curl -s -X PUT "https://app.asana.com/api/1.0/tasks/TASK_ID" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"data": {"completed": true}}'
# Update task name/notes
curl -s -X PUT "https://app.asana.com/api/1.0/tasks/TASK_ID" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"data": {"name": "Updated task name"}}'
# Add comment
curl -s -X POST "https://app.asana.com/api/1.0/tasks/TASK_ID/stories" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"data": {"text": "Progress update: completed review"}}'
# Create subtask
curl -s -X POST "https://app.asana.com/api/1.0/tasks/TASK_ID/subtasks" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"data": {"name": "Subtask item"}}'
# List subtasks
curl -s "https://app.asana.com/api/1.0/tasks/TASK_ID/subtasks" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" | jq '.data[]'
# Search tasks
curl -s "https://app.asana.com/api/1.0/workspaces/WORKSPACE_ID/tasks/search?text=bug" \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" | jq '.data[]'
opt_fields to request specific fields: ?opt_fields=name,completed,due_on,assigneeopt_expand for nested resourcesassignee: "me" to assign to yourselfasana, asana task, create asana task, asana project, asana api