productivity
Asana CLI for Headless Automation
Use the Asana CLI for headless automation with headless JSON commands, schema discovery, credentials, and permission controls.
20 functions 13 read 7 write Bearer token auth
Asana CLI for Headless Automation
Use KosmoKrator as a non-interactive integration runtime for local automations and wrappers.
Use headless automation when another tool needs a stable local command surface. 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 Headless Automation
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.