← Back to all apps

Asana

Productivityby Asana, Inc.
Open in ChatGPT →

Turn chats into actions

19Tools
Asana, Inc.Developer
ProductivityCategory

Available Tools

Asana provides 19 tools that can be used to interact with its services.

Create Project Confirm

create_project_confirm

Parameters

Required
projectNamestring
sectionsarray
widget_idstring
workspacestring

Create Project Confirm Populate

create_project_confirm_populate

Parameters

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

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" } ] } ]

Create Task Confirm

create_task_confirm

Parameters

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

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

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

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 filtered by workspace and owner. REQUIRES workspace parameter. Owner defaults to "me" (current user) if not specified. Returns portfolio names and IDs. Use for portfolio discovery and management. Supports pagination for workspaces with many portfolios.

Parameters

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

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

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

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

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

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

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

Optional
offsetstring

Pagination offset token from a previous request.

opt_fieldsstring

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

Log Widget Event

log_widget_event

Parameters

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

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.

Parameters

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. 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

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).

namestring

New name for the task.

notesstring

New task description and details.