productivity
Asana CLI for AI Agents
Use the Asana CLI from KosmoKrator to call Asana tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Asana CLI Setup
Asana can be configured headlessly with `kosmokrator integrations:configure asana`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure asana --set access_token="$ASANA_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor asana --json
kosmokrator integrations:status --json Credentials
Authentication type: Bearer token bearer_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
access_token | ASANA_ACCESS_TOKEN | Secret secret | yes | Access Token |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
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 kosmo integrations: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
These commands return structured output for coding agents that need to inspect capabilities 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 Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
asana.asana_create_task
Create a new task in Asana.
write - Parameters
- name, notes, projects, assignee, due_on, tags, workspace
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 kosmo integrations: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 asana.asana_get_task
Get detailed information about an Asana task.
read - Parameters
- id
kosmo integrations:call asana.asana_get_task '{"id":"example_id"}' --json kosmo integrations:asana asana_get_task '{"id":"example_id"}' --json asana.asana_update_task
Update an existing Asana task.
write - Parameters
- id, name, notes, assignee, due_on, completed, tags
kosmo integrations:call asana.asana_update_task '{"id":"example_id","name":"example_name","notes":"example_notes","assignee":"example_assignee","due_on":"example_due_on","completed":true,"tags":"example_tags"}' --json kosmo integrations:asana asana_update_task '{"id":"example_id","name":"example_name","notes":"example_notes","assignee":"example_assignee","due_on":"example_due_on","completed":true,"tags":"example_tags"}' --json asana.asana_delete_task
Delete an Asana task permanently.
write - Parameters
- id
kosmo integrations:call asana.asana_delete_task '{"id":"example_id"}' --json kosmo integrations:asana asana_delete_task '{"id":"example_id"}' --json asana.asana_list_tasks
List tasks in Asana with optional filters.
read - Parameters
- project, assignee, workspace, completed_since, limit, offset
kosmo integrations:call asana.asana_list_tasks '{"project":"example_project","assignee":"example_assignee","workspace":"example_workspace","completed_since":"example_completed_since","limit":1,"offset":"example_offset"}' --json kosmo integrations:asana asana_list_tasks '{"project":"example_project","assignee":"example_assignee","workspace":"example_workspace","completed_since":"example_completed_since","limit":1,"offset":"example_offset"}' --json asana.asana_create_subtask
Create a subtask under an existing Asana task.
write - Parameters
- parent_id, name, notes, assignee
kosmo integrations:call asana.asana_create_subtask '{"parent_id":"example_parent_id","name":"example_name","notes":"example_notes","assignee":"example_assignee"}' --json kosmo integrations:asana asana_create_subtask '{"parent_id":"example_parent_id","name":"example_name","notes":"example_notes","assignee":"example_assignee"}' --json asana.asana_add_comment
Add a comment to an Asana task.
write - Parameters
- task_id, text
kosmo integrations:call asana.asana_add_comment '{"task_id":"example_task_id","text":"example_text"}' --json kosmo integrations:asana asana_add_comment '{"task_id":"example_task_id","text":"example_text"}' --json asana.asana_list_comments
List comments (stories) on an Asana task.
read - Parameters
- task_id, limit, offset
kosmo integrations:call asana.asana_list_comments '{"task_id":"example_task_id","limit":1,"offset":"example_offset"}' --json kosmo integrations:asana asana_list_comments '{"task_id":"example_task_id","limit":1,"offset":"example_offset"}' --json asana.asana_create_project
Create a new project in Asana.
write - Parameters
- name, notes, workspace, team, color
kosmo integrations:call asana.asana_create_project '{"name":"example_name","notes":"example_notes","workspace":"example_workspace","team":"example_team","color":"example_color"}' --json kosmo integrations:asana asana_create_project '{"name":"example_name","notes":"example_notes","workspace":"example_workspace","team":"example_team","color":"example_color"}' --json asana.asana_get_project
Get detailed information about an Asana project.
read - Parameters
- id
kosmo integrations:call asana.asana_get_project '{"id":"example_id"}' --json kosmo integrations:asana asana_get_project '{"id":"example_id"}' --json asana.asana_list_projects
List projects in Asana with optional filters.
read - Parameters
- workspace, team, archived, limit, offset
kosmo integrations:call asana.asana_list_projects '{"workspace":"example_workspace","team":"example_team","archived":true,"limit":1,"offset":"example_offset"}' --json kosmo integrations:asana asana_list_projects '{"workspace":"example_workspace","team":"example_team","archived":true,"limit":1,"offset":"example_offset"}' --json asana.asana_list_sections
List sections in an Asana project.
read - Parameters
- project_id, limit, offset
kosmo integrations:call asana.asana_list_sections '{"project_id":"example_project_id","limit":1,"offset":"example_offset"}' --json kosmo integrations:asana asana_list_sections '{"project_id":"example_project_id","limit":1,"offset":"example_offset"}' --json asana.asana_list_workspaces
List all workspaces the authenticated user has access to.
read - Parameters
- none
kosmo integrations:call asana.asana_list_workspaces '{}' --json kosmo integrations:asana asana_list_workspaces '{}' --json asana.asana_list_teams
List teams in an Asana workspace.
read - Parameters
- workspace_id
kosmo integrations:call asana.asana_list_teams '{"workspace_id":"example_workspace_id"}' --json kosmo integrations:asana asana_list_teams '{"workspace_id":"example_workspace_id"}' --json asana.asana_list_users
List users in an Asana workspace.
read - Parameters
- workspace, limit, offset
kosmo integrations:call asana.asana_list_users '{"workspace":"example_workspace","limit":1,"offset":"example_offset"}' --json kosmo integrations:asana asana_list_users '{"workspace":"example_workspace","limit":1,"offset":"example_offset"}' --json asana.asana_get_user
Get detailed information about an Asana user.
read - Parameters
- id
kosmo integrations:call asana.asana_get_user '{"id":"example_id"}' --json kosmo integrations:asana asana_get_user '{"id":"example_id"}' --json asana.asana_get_user_task_list
Get the user task list for a given user and workspace.
read - Parameters
- user_id, workspace_id
kosmo integrations:call asana.asana_get_user_task_list '{"user_id":"example_user_id","workspace_id":"example_workspace_id"}' --json kosmo integrations:asana asana_get_user_task_list '{"user_id":"example_user_id","workspace_id":"example_workspace_id"}' --json asana.asana_list_tags
List tags in an Asana workspace.
read - Parameters
- workspace, limit, offset
kosmo integrations:call asana.asana_list_tags '{"workspace":"example_workspace","limit":1,"offset":"example_offset"}' --json kosmo integrations:asana asana_list_tags '{"workspace":"example_workspace","limit":1,"offset":"example_offset"}' --json asana.asana_create_tag
Create a new tag in Asana.
write - Parameters
- name, workspace, color
kosmo integrations:call asana.asana_create_tag '{"name":"example_name","workspace":"example_workspace","color":"example_color"}' --json kosmo integrations:asana asana_create_tag '{"name":"example_name","workspace":"example_workspace","color":"example_color"}' --json asana.asana_get_current_user
Get the currently authenticated Asana user.
read - Parameters
- none
kosmo integrations:call asana.asana_get_current_user '{}' --json kosmo integrations:asana asana_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
asana.asana_create_task 7 parameters
kosmo integrations:schema asana.asana_create_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | Name of the task. |
notes | string | no | Free-form textual description (supports HTML). |
projects | array | no | Array of project GIDs to add the task to. |
assignee | string | no | User GID to assign the task to, or "me". |
due_on | string | no | Due date in YYYY-MM-DD format. |
tags | array | no | Array of tag GIDs to add to the task. |
workspace | string | no | Workspace GID (required if not adding to a project). |
asana.asana_get_task 1 parameters
kosmo integrations:schema asana.asana_get_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The task GID. |
asana.asana_update_task 7 parameters
kosmo integrations:schema asana.asana_update_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The task GID to update. |
name | string | no | New name for the task. |
notes | string | no | New description. |
assignee | string | no | User GID to assign the task to, or "me". |
due_on | string | no | Due date in YYYY-MM-DD format. |
completed | boolean | no | Set to true to mark the task complete. |
tags | array | no | Array of tag GIDs to set on the task. |
asana.asana_delete_task 1 parameters
kosmo integrations:schema asana.asana_delete_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The task GID to delete. |
asana.asana_list_tasks 6 parameters
kosmo integrations:schema asana.asana_list_tasks --json | Parameter | Type | Required | Description |
|---|---|---|---|
project | string | no | Project GID to filter tasks by. |
assignee | string | no | User GID to filter by assignee, or "me". |
workspace | string | no | Workspace GID to filter tasks by. |
completed_since | string | no | Only return tasks completed after this ISO 8601 date. |
limit | integer | no | Max number of tasks to return (1–100). |
offset | string | no | Cursor for pagination from a previous response. |
asana.asana_create_subtask 4 parameters
kosmo integrations:schema asana.asana_create_subtask --json | Parameter | Type | Required | Description |
|---|---|---|---|
parent_id | string | yes | GID of the parent task. |
name | string | yes | Name of the subtask. |
notes | string | no | Description for the subtask. |
assignee | string | no | User GID to assign the subtask to, or "me". |
asana.asana_add_comment 2 parameters
kosmo integrations:schema asana.asana_add_comment --json | Parameter | Type | Required | Description |
|---|---|---|---|
task_id | string | yes | GID of the task to comment on. |
text | string | yes | Comment text (supports Markdown). |
asana.asana_list_comments 3 parameters
kosmo integrations:schema asana.asana_list_comments --json | Parameter | Type | Required | Description |
|---|---|---|---|
task_id | string | yes | GID of the task to list comments for. |
limit | integer | no | Max number of comments to return (1–100). |
offset | string | no | Cursor for pagination from a previous response. |
asana.asana_create_project 5 parameters
kosmo integrations:schema asana.asana_create_project --json | Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | Name of the project. |
notes | string | no | Free-form description of the project. |
workspace | string | yes | Workspace GID where the project will be created. |
team | string | no | Team GID to add the project to. |
color | string | no | Color for the project (e.g. "dark-pink", "dark-green"). |
asana.asana_get_project 1 parameters
kosmo integrations:schema asana.asana_get_project --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The project GID. |
asana.asana_list_projects 5 parameters
kosmo integrations:schema asana.asana_list_projects --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace | string | no | Workspace GID to filter projects by. |
team | string | no | Team GID to filter projects by. |
archived | boolean | no | Filter by archived status. |
limit | integer | no | Max number of projects to return (1–100). |
offset | string | no | Cursor for pagination from a previous response. |
asana.asana_list_sections 3 parameters
kosmo integrations:schema asana.asana_list_sections --json | Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | yes | GID of the project to list sections for. |
limit | integer | no | Max number of sections to return (1–100). |
offset | string | no | Cursor for pagination from a previous response. |
asana.asana_list_workspaces 0 parameters
kosmo integrations:schema asana.asana_list_workspaces --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
asana.asana_list_teams 1 parameters
kosmo integrations:schema asana.asana_list_teams --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | GID of the workspace to list teams for. |
asana.asana_list_users 3 parameters
kosmo integrations:schema asana.asana_list_users --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace | string | yes | Workspace GID to filter users by. |
limit | integer | no | Max number of users to return (1–100). |
offset | string | no | Cursor for pagination from a previous response. |
asana.asana_get_user 1 parameters
kosmo integrations:schema asana.asana_get_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The user GID. |
asana.asana_get_user_task_list 2 parameters
kosmo integrations:schema asana.asana_get_user_task_list --json | Parameter | Type | Required | Description |
|---|---|---|---|
user_id | string | yes | GID of the user. |
workspace_id | string | yes | GID of the workspace. |
asana.asana_list_tags 3 parameters
kosmo integrations:schema asana.asana_list_tags --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace | string | yes | Workspace GID to filter tags by. |
limit | integer | no | Max number of tags to return (1–100). |
offset | string | no | Cursor for pagination from a previous response. |
asana.asana_create_tag 3 parameters
kosmo integrations:schema asana.asana_create_tag --json | Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | Name of the tag. |
workspace | string | yes | Workspace GID where the tag will be created. |
color | string | no | Color for the tag (e.g. "dark-pink", "dark-green"). |
asana.asana_get_current_user 0 parameters
kosmo integrations:schema asana.asana_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.