com um clique
asana
Asana API — tasks, projects, and team collaboration
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Asana API — tasks, projects, and team collaboration
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional 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