← Back to all apps

Asana

Productivityby Asana, Inc.
Launched Mar 4, 2026 on ChatGPT

Access Asana’s Work Graph directly from Claude to search, create, update, and track tasks, projects, and goals. Coordinate work across teams while connecting AI insights to real deliverables. Complements your Asana workspace with 30+ tools for seamless work management alongside your team’s existing workflows.

19ChatGPT Tools
15Claude Tools
Asana, Inc.Developer
ProductivityCategory

Use Cases

productivitycommunication

Available Tools

[Internal] Create project

create_project_confirm
Parameters (4 required)
Required
projectNamestring
sectionsarray
widget_idstring
workspacestring

[Internal] Populate project

create_project_confirm_populate
Parameters (4 required)
Required
projectstring
sectionsarray
widget_idstring
workspacestring

Preview project creation

create_project_preview
Full Description

Generate a visual preview of a project structure before creation. Use anytime the user asks to create a project or draft a project. Use this when you want the user to review and confirm the project structure first.

Parameters (2 required)
Required
project_namestring

Name of the project to create.

sectionsarray

Users will give you a request to create a project with a certain purpose. Use your own knowledge of project management and the principles and guidance below to design the best project structure possible. JSON array of section objects. Each section must have: - sectionName (string): Name of the section. - tasks (array): Array of task objects. Each task object must have: - taskName (string): Name of the task. - description (string | null): Description of the task, or null if the task has no description. Defaults to null if not provided. - isComplete (boolean): Whether the task is completed. Defaults to false if not provided. - startDate (string | null): Start date of the task in YYYY-MM-DD format, or null if the task has no start date. If the start date is provided, the due date must also be provided. If both the start date and due date are provided, the due date must be greater than or equal to the start date. Defaults to null if not provided. - dueDate (string | null): Due date of the task in YYYY-MM-DD format, or null if the task has no due date. If both the start date and due date are provided, the due date must be greater than or equal to the start date. Defaults to null if not provided. - assignee (string | null): Assignee of the task, or null if the task is unassigned. This can be "me", an email, or a user GID chosen among those found using asana_get_workspace_users. Defaults to null if not provided. - priority ("low" | "medium" | "high" | null): Priority level of the task. Must be one of 'low', 'medium', 'high', or null. Defaults to null if not provided. This is general guidance for creating good project structures. Follow these principles and guidance as closely as possible unless the user specifically asks you to do otherwise: Create the project structure in the same language as the user's request. - Project should have >=4 sections. - Limit the number of tasks to no more than 5 tasks per section. - Limit sections up to 6. - Every section should have at least one task. - If the user does not specifically give you tasks they want to include in their project, make tasks for the project that are aligned with the project's purpose. - Only mark tasks as complete (isComplete: true) if the user specifically mentioned they already completed that work. Otherwise, all tasks should be incomplete (isComplete: false). - When adding dates to tasks, always provide BOTH startDate and dueDate together as a date range. Never provide only dueDate without startDate. Add date ranges to several tasks so they will be useful for timeline and calendar views when the project is created. - All dates must be in the future (today or later), never in the past. - Create logical, sequential timelines that make sense for the project's purpose. Tasks should progress in a meaningful order (e.g., beginner tasks before advanced tasks, setup tasks before execution tasks). - Dates should form a coherent timeline, not be randomly scattered. - Prefer including the 'priority' custom field for every task (one of 'low', 'medium', or 'high'), unless the user has specifically instructed you not to. This helps users organize their work by importance. Example: [ { "sectionName": "Backlog", "tasks": [ { "taskName": "Design homepage", "description": "Create a modern and responsive homepage design", "isComplete": false, "startDate": "2025-01-10", "dueDate": "2025-01-15", "assignee": "123456789", "priority": "high" }, { "taskName": "Write documentation", "description": null, "isComplete": false, "startDate": "2025-01-15", "dueDate": "2025-01-20", "assignee": "987654321", "priority": "medium" } ] }, { "sectionName": "In Progress", "tasks": [ { "taskName": "Implement API endpoints", "description": "Build RESTful API endpoints for user management", "isComplete": false, "startDate": "2025-01-10", "dueDate": "2025-01-25", "assignee": "123456789", "priority": "high" }, { "taskName": "Code review", "description": null, "isComplete": false, "startDate": "2025-01-25", "dueDate": "2025-01-30", "assignee": null, "priority": "medium" }, { "taskName": "Deploy to staging", "description": "Deploy the latest version to staging environment", "isComplete": false, "startDate": "2025-01-05", "dueDate": "2025-01-08", "assignee": "987654321", "priority": "high" } ] } ]

[Internal] Create task

create_task_confirm
Parameters (8 required)
Required
assigneeobject
descriptionstring/null
dueDatestring/null
isCompleteboolean
startDatestring/null
taskNamestring
widget_idstring
workspacestring

Preview task creation

create_task_preview
Full Description

Generate a visual preview of a task before creation. Use anytime the user asks to create a task or draft a task. Use this when you want the user to review and confirm the task details first.

Parameters (1 required, 5 optional)
Required
taskNamestring

Name of the task.

Optional
assigneestring/null

Assignee of the task, or null if the task is unassigned. This can be "me", an email, or a user GID chosen among those found using asana_get_workspace_users. Defaults to null if not provided.

descriptionstring/null

Description of the task, or null if the task has no description. Defaults to null if not provided.

dueDatestring

Due date of the task in YYYY-MM-DD format, or null if the task has no due date. If both the start date and due date are provided, the due date must be greater than or equal to the start date. Defaults to null if not provided.

isCompleteboolean

Whether the task is completed. Defaults to false if not provided.

startDatestring

Start date of the task in YYYY-MM-DD format, or null if the task has no start date. If the start date is provided, the due date must also be provided. If both the start date and due date are provided, the due date must be greater than or equal to the start date. Defaults to null if not provided.

Get items for portfolio

get_items_for_portfolio
Full Description

List projects, goals, and other items in a portfolio. Returns item names, IDs, and types. Use for portfolio content exploration and management. Supports pagination for portfolios with many items.

Parameters (1 required, 3 optional)
Required
portfolio_gidstring

Globally unique identifier for the portfolio

Optional
limitnumber

Results per page (1-100)

offsetstring

Pagination offset token

opt_fieldsstring

Comma-separated list of optional fields to include in the response

Get portfolio

get_portfolio
Full Description

Get detailed portfolio data by ID including name, owner, and projects. Use after finding portfolio ID via typeahead. Returns complete portfolio configuration. Essential for understanding portfolio context and content.

Parameters (1 required, 1 optional)
Required
portfolio_gidstring

Globally unique identifier for the portfolio

Optional
opt_fieldsstring

Comma-separated list of optional fields to include in the response

Get portfolios

get_portfolios
Full Description

List portfolios in workspace owned by the current user. REQUIRES workspace parameter. Returns portfolio names and IDs for portfolios you own. Use for portfolio discovery and management. Supports pagination for workspaces with many portfolios.

Parameters (0 required, 3 optional)
Optional
limitnumber

Results per page (1-100)

offsetstring

Pagination offset token

opt_fieldsstring

Comma-separated list of optional fields to include in the response

Get project

get_project
Full Description

Get detailed project data including name, description, owner, members, custom fields, and settings. Use after finding project ID via typeahead. Returns complete project configuration needed for task operations. Specify opt_fields for custom fields data.

Parameters (1 required, 1 optional)
Required
project_idstring

Globally unique identifier for the project.

Optional
opt_fieldsstring

Comma-separated list of optional fields to include in the response.

Get projects

get_projects
Full Description

List projects filtered by workspace. Supports team, archived filters. Returns project names and IDs. Use for filtered project views and bulk operations.

Parameters (0 required, 5 optional)
Optional
archivedboolean

Include archived projects.

Default: False
limitnumber

Number of projects to return per page (1-100).

offsetstring

Pagination offset token.

opt_fieldsstring

Comma-separated list of optional fields to include in the response.

teamstring

Filter projects on team id

Get status overview

get_status_overview
Full Description

Get status overview and progress reports for initiatives/projects. Use this tool as a standalone when users ask for: status updates, status reports, project status, work overview, progress overview, initiative status, identified blockers, or any status-related queries. This tool searches projects and portfolios, extracts tasks and status updates, and returns aggregated project details, tasks, and status information. IMPORTANT: Call this tool directly with keywords - do NOT call other search tools first. This tool handles all searching and aggregation internally.

Parameters (1 required, 1 optional)
Required
keywordsstring

Keywords to search for projects. Can be a single keyword (e.g., 'asana') or multiple comma-separated keywords (e.g., 'asana, chatgpt, integration'). The tool searches each keyword separately and combines results from all matching projects (OR logic - matches any keyword).

Optional
opt_fieldsstring

Comma-separated list of optional fields to include in task data (e.g., 'name,notes,assignee,due_on,completed').

Get task

get_task
Full Description

Get full task details by ID. Returns name, description, assignee, due dates, custom fields, projects, dependencies. Essential before updating tasks. Use opt_fields for custom field values. Required for understanding task context.

Parameters (1 required, 1 optional)
Required
task_idstring

Globally unique identifier for the task.

Optional
opt_fieldsstring

Comma-separated list of optional fields to include in the response.

Get tasks

get_tasks
Full Description

List tasks filtered by context (workspace/project/tag/section/user list). One context required. Supports assignee, date filters. Returns task names and IDs. Use for filtered task views and bulk operations.

Parameters (0 required, 10 optional)
Optional
assigneestring

User identifier to assign the task to. Can be "me", an email, or a user GID.

completed_sincestring

Filter for tasks completed since this date in datetime format.

limitnumber

Number of sections to return per page (1-100).

modified_sincestring

Filter for tasks modified since this date in datetime format.

offsetstring

Pagination offset token.

opt_fieldsstring

Comma-separated list of optional fields to include in the response.

projectstring

Globally unique identifier for the project.

sectionstring

Globally unique identifier for the section.

tagstring

The tag GID to retrieve tasks for

user_task_liststring

Globally unique identifier for the user task list.

Get user

get_user
Full Description

Get user details by ID, email, or "me". Returns name, email, workspaces. Use to find user IDs for task assignment. "me" returns authenticated user info. Essential before assigning tasks. When no user_id is provided, defaults to "me" (authenticated user) - equivalent to the former asana_get_user_info tool.

Parameters (0 required, 2 optional)
Optional
opt_fieldsstring

Comma-separated list of optional fields to include in the response.

user_idstring

A string identifying a user. This can be 'me', an email, or the gid of a user. When omitted, defaults to 'me' (authenticated user).

Get workspace users

get_workspace_users
Full Description

Get all users in workspace. Returns compact users with names and IDs. Results are sorted alphabetically and limited to 2000. Prefer searching more narrowly, like by typeahead or team first instead of this.

Parameters (0 required, 2 optional)
Optional
offsetstring

Pagination offset token from a previous request.

opt_fieldsstring

Comma-separated list of optional fields to include in the response.

[Internal] Log event

log_widget_event
Parameters (3 required, 1 optional)
Required
actionstring
widget_idstring
widget_typestring
Optional
extra_event_attributes_jsonstring

Search objects

search_objects
Full Description

Quick search across Asana objects. ALWAYS use this FIRST before specialized search. Returns most relevant items based on recency and usage. Faster than dedicated search tools for finding specific items. If the user is not specific about which objects to search, use the following priority order: project + task > portfolio > goal + others (user, team, tag, custom_field).

Parameters (1 required, 3 optional)
Required
resource_typestring

The type of resource to search for.

Options:custom_fieldgoalprojectproject_templateportfoliotagtaskteamuser
Optional
countnumber

Number of results to return. Default is 20 if parameter is empty. Minimum 1, maximum 100.

opt_fieldsstring

Comma-separated list of optional fields to include in the response.

querystring

The search query. Can be empty to get default results for the resource type.

Preview task search results

search_tasks_preview
Full Description

Search for tasks in the workspace and render a preview of the results. Use when the user wants to explore and search for tasks in the workspace, such as when the user asks to 'show me my tasks' or 'show me tasks for the week'. All search filters are optional, but use at least one search filter to limit the results to a specific set of tasks. For example, use the 'completed' filter to show only completed tasks, or the 'start_on_before' filter to show tasks that started before a certain date. Combine filters to find tasks that match multiple criteria, such as 'show me tasks assigned to Sarah that are due after next Monday'. Use the 'text' filter as a freeform search term to find tasks that match the specified text (exactly) in the task name or description. After calling this tool, do not summarize, list, or mention specific task names in your response.

Parameters (0 required, 14 optional)
Optional
assignee_anystring

Filter to tasks with assignees matching any of the comma-separated list of user identifiers. User identifiers can be "me", an email, or a user GID chosen among those found using asana_get_workspace_users. For example, if the user specifies "my tasks", set assignee_any to "me". Leave blank to show tasks assigned to any user.

completedboolean

Filter to either completed or incomplete tasks only. Leave blank to show both completed and incomplete tasks. Prefer filtering to incomplete tasks only, EXCEPT when the user specifically and EXPLICITLY asks for completed tasks only, or both completed and incomplete tasks.

completed_on_afterstring

Filter to tasks completed after the specified date. Date must be in YYYY-MM-DD format. Leave blank to show tasks completed after any date, including incomplete tasks.

completed_on_beforestring

Filter to tasks completed before the specified date. Date must be in YYYY-MM-DD format. Leave blank to show tasks completed before any date, including incomplete tasks.

created_by_anystring

Filter to tasks created by a user matching any of the comma-separated list of user identifiers. User identifiers can be "me", an email, or a user GID chosen among those found using asana_get_workspace_users. Leave blank to show tasks created by any user.

created_on_afterstring

Filter to tasks created after the specified date. Date must be in YYYY-MM-DD format. Leave blank to show tasks created after any date.

created_on_beforestring

Filter to tasks created before the specified date. Date must be in YYYY-MM-DD format. Leave blank to show tasks created before any date.

due_on_afterstring

Filter to tasks due after the specified date. Date must be in YYYY-MM-DD format. Leave blank to show tasks due after any date, including tasks with no due date.

due_on_beforestring

Filter to tasks due before the specified date. Date must be in YYYY-MM-DD format. Leave blank to show tasks due before any date, including tasks with no due date.

followers_anystring

Filter to tasks followed by any of the comma-separated list of user identifiers. User identifiers can be "me", an email, or a user GID chosen among those found using asana_get_workspace_users. Leave blank to show tasks followed by any user.

projects_anystring

Filter to tasks in any of the comma-separated list of project IDs (GIDs). Project IDs can be chosen among those found using asana_get_projects. Leave blank to show tasks in any project.

start_on_afterstring

Filter to tasks with a start date after the specified date. Date must be in YYYY-MM-DD format. Leave blank to show tasks with a start date after any date, including tasks with no start date.

start_on_beforestring

Filter to tasks with a start date before the specified date. Date must be in YYYY-MM-DD format. Leave blank to show tasks with a start date before any date, including tasks with no start date.

textstring

Freeform text to search for in task names and descriptions.

Update task

update_task
Full Description

Update existing task properties. Change name, notes, assignee, completion status, due dates, custom fields. Requires task ID. Returns updated task data. Use asana_get_task first to understand current state.

Parameters (1 required, 8 optional)
Required
task_idstring

Globally unique identifier for the task to update.

Optional
assigneestring

User identifier to assign the task to. Can be "me", an email, or a user GID.

completedboolean

Mark the task as completed.

custom_fieldsstring

JSON string of custom fields in format: {"field_gid": "value"}.

due_atstring

Due date and time in ISO 8601 format.

due_onstring

Due date in ISO 8601 format (YYYY-MM-DD).

html_notesstring

New task description in HTML format. You can create links to other asana objects with the following instructions: For <a> tags specifically, to make it easier to create @-mentions through the API, we only require that you provide the GID of the object you wish to reference. If you have access to that object, the API will automatically generate the appropriate href and other attributes for you. For example, to create a link to a task with GID "123", you can send the tag <a data-asana-gid="123"/> which will then be expanded to <a href="https://app.asana.com/0/0/123/f" data-asana-accessible="true" data-asana-dynamic="true" data-asana-type="task" data-asana-gid="123">Task Name</a>. You can also generate a link to a task in a specific project or tag by including a data-asana-project or data-asana-tag attribute in the <a> tag. All other attributes, as well as the contents of the tag, are ignored. To keep the contents of your tag and make a custom vanity link, include the property data-asana-dynamic="false" when setting the contents of the tag. You would send <a data-asana-gid="123" data-asana-dynamic="false">This is some custom text!</a> and receive <a data-asana-accessible="true" data-asana-dynamic="false" data-asana-type="task" data-asana-gid="123">This is some custom text!</a> If you do not have access to the referenced object when you try to create a link, the API will not generate an href for you, but will instead look for an href you provide. This allows you to write back <a> tags unmodified even if you do not have access to the resource. If you do not have access to the referenced object and no href is provided, your request will be rejected with a 400 Bad Request error. Similarly, if you provide neither a GID nor a valid href, the request will be rejected with the same error.

namestring

New name for the task.

notesstring

New task description and details.