productivity
Asana CLI for Shell Scripts
Use the Asana CLI for shell scripts with headless JSON commands, schema discovery, credentials, and permission controls.
20 functions 13 read 7 write Bearer token auth
Asana CLI for Shell Scripts
Call integration functions from shell scripts with stable JSON input and output.
Use shell scripts for small local automations that need one or more integration calls. The Asana CLI uses the same integration registry as the TUI, Lua runtime, and MCP gateway, but returns predictable command output for automation.
Command Shape
# Asana CLI for Shell Scripts
kosmokrator integrations:configure asana --set access_token="$ASANA_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmo integrations:call asana.asana_create_task '{"name":"example_name","notes":"example_notes","projects":"example_projects","assignee":"example_assignee","due_on":"example_due_on","tags":"example_tags","workspace":"example_workspace"}' --json Discovery Before Execution
Agents and scripts can inspect Asana docs and schemas before choosing a function.
kosmo integrations:docs asana --json
kosmo integrations:docs asana.asana_create_task --json
kosmo integrations:schema asana.asana_create_task --json
kosmo integrations:search "Asana" --json
kosmo integrations:list --json Useful Asana CLI Functions
| Function | Type | Parameters | Description |
|---|---|---|---|
asana.asana_create_task | Write | name, notes, projects, assignee, due_on, tags, workspace | Create a new task in Asana. |
asana.asana_get_task | Read | id | Get detailed information about an Asana task. |
asana.asana_update_task | Write | id, name, notes, assignee, due_on, completed, tags | Update an existing Asana task. |
asana.asana_delete_task | Write | id | Delete an Asana task permanently. |
asana.asana_list_tasks | Read | project, assignee, workspace, completed_since, limit, offset | List tasks in Asana with optional filters. |
asana.asana_create_subtask | Write | parent_id, name, notes, assignee | Create a subtask under an existing Asana task. |
asana.asana_add_comment | Write | task_id, text | Add a comment to an Asana task. |
asana.asana_list_comments | Read | task_id, limit, offset | List comments (stories) on an Asana task. |
asana.asana_create_project | Write | name, notes, workspace, team, color | Create a new project in Asana. |
asana.asana_get_project | Read | id | Get detailed information about an Asana project. |
asana.asana_list_projects | Read | workspace, team, archived, limit, offset | List projects in Asana with optional filters. |
asana.asana_list_sections | Read | project_id, limit, offset | List sections in an Asana project. |
asana.asana_list_workspaces | Read | none | List all workspaces the authenticated user has access to. |
asana.asana_list_teams | Read | workspace_id | List teams in an Asana workspace. |
asana.asana_list_users | Read | workspace, limit, offset | List users in an Asana workspace. |
asana.asana_get_user | Read | id | Get detailed information about an Asana user. |
asana.asana_get_user_task_list | Read | user_id, workspace_id | Get the user task list for a given user and workspace. |
asana.asana_list_tags | Read | workspace, limit, offset | List tags in an Asana workspace. |
asana.asana_create_tag | Write | name, workspace, color | Create a new tag in Asana. |
asana.asana_get_current_user | Read | none | Get the currently authenticated Asana user. |
Automation Notes
- Use
--jsonfor machine-readable output. - Keep credentials out of argv by using environment variables or stored KosmoKrator configuration.
- Configure read/write policy before unattended runs; use
--forceonly for trusted automation. - Use the MCP gateway instead when the agent needs dynamic tool discovery inside a conversation.