Asana
Authentication Type: Bearer Token Description: Manage tasks, projects, and comments in Asana with full CRUD operations, search by text, and project listing.
Authentication
To authenticate with Asana, you'll need a Personal Access Token:
- Go to the Asana Developer Console
- Click Create new token and give it a descriptive name
- Copy the token value
You'll need to provide:
- apiKey
string: Your Asana Personal Access Token
Security tip: Personal Access Tokens grant access to all workspaces and organizations your Asana account belongs to. Keep your token secure and rotate it periodically. If you only need read access, consider creating a token on a restricted account.
Tasks
Create Task
Create a new task in an Asana workspace. You can optionally assign it to a user, set a due date, add notes, and attach it to one or more projects.
Operation Type: Mutation (Write)
Parameters:
- workspace
string(required): The GID of the workspace to create the task in - name
string(required): The name of the task - assignee
string(nullable): The GID of the user to assign the task to (e.g.,1234567890) - due_on
string(nullable): The due date of the task inYYYY-MM-DDformat - notes
string(nullable): Plain-text description of the task - projects
array of strings(nullable): List of project GIDs to add the task to
Returns:
- gid
string: The globally unique identifier for the task - name
string: The name of the task - assignee
object(nullable): The assigned user - due_on
string(nullable): The due date of the task - notes
string: Plain-text notes on the task - completed
boolean: Whether the task is completed - permalink_url
string: A URL to the task in Asana - created_at
string: ISO 8601 timestamp of when the task was created
Example Usage:
{
"workspace": "1234567890",
"name": "Review Q2 marketing plan",
"assignee": "9876543210",
"due_on": "2025-04-15",
"notes": "Please review the attached deck and leave comments by EOD Friday.",
"projects": ["1111111111", "2222222222"]
}
Get Task
Retrieve a single task by its GID, including full details such as projects, tags, and custom fields.
Operation Type: Query (Read)
Parameters:
- taskGid
string(required): The GID of the task to retrieve
Returns:
- gid
string: The globally unique identifier for the task - name
string: The name of the task - assignee
object(nullable): The assigned user - due_on
string(nullable): The due date of the task - notes
string: Plain-text notes on the task - completed
boolean: Whether the task is completed - completed_at
string(nullable): ISO 8601 timestamp of when the task was completed - permalink_url
string: A URL to the task in Asana - created_at
string: ISO 8601 timestamp of when the task was created - modified_at
string: ISO 8601 timestamp of when the task was last modified - projects
array of objects: Projects the task belongs to - tags
array of objects: Tags applied to the task - custom_fields
array of objects: Custom field values on the task
Example Usage:
{
"taskGid": "1205673456789"
}
List Tasks
List tasks filtered by project, assignee, or workspace. You can also filter by completion date and control the number of results.
Operation Type: Query (Read)
Parameters:
- project
string(nullable): The GID of a project to list tasks from - assignee
string(nullable): The GID of a user whose tasks to list. Requires workspace to also be set. - workspace
string(nullable): The GID of the workspace to scope the query to. Required when filtering by assignee. - completed_since
string(nullable): ISO 8601 datetime. Only return tasks completed after this time. Usenowto return only incomplete tasks. - limit
number(nullable): Maximum number of tasks to return (default 100)
Returns:
array of objects: List of tasks matching the filters- gid
string: The task GID - name
string: The task name - assignee
object(nullable): The assigned user - due_on
string(nullable): The due date - completed
boolean: Whether the task is completed - permalink_url
string: A URL to the task in Asana
- gid
Example Usage:
{
"project": "1111111111",
"completed_since": "now",
"limit": 50
}
Search Tasks
Search for tasks in a workspace by text, with optional filtering by completion status.
Operation Type: Query (Read)
Parameters:
- workspaceGid
string(required): The GID of the workspace to search in - text
string(required): The text to search for in task names and descriptions - completed
boolean(nullable): If set, filter to only completed (true) or incomplete (false) tasks - limit
number(nullable): Maximum number of tasks to return
Returns:
array of objects: List of tasks matching the search criteria- gid
string: The task GID - name
string: The task name - assignee
object(nullable): The assigned user - due_on
string(nullable): The due date - completed
boolean: Whether the task is completed - permalink_url
string: A URL to the task in Asana
- gid
Example Usage:
{
"workspaceGid": "1234567890",
"text": "launch checklist",
"completed": false,
"limit": 25
}
Update Task
Update an existing task. Only the fields you specify will be changed; other fields remain unchanged.
Operation Type: Mutation (Write)
Parameters:
- taskGid
string(required): The GID of the task to update - name
string(nullable): New name for the task - assignee
string(nullable): GID of the user to reassign the task to - due_on
string(nullable): New due date inYYYY-MM-DDformat - notes
string(nullable): New plain-text notes for the task - completed
boolean(nullable): Set totrueto mark the task as complete, orfalseto reopen it
Returns:
- gid
string: The task GID - name
string: The updated task name - assignee
object(nullable): The assigned user - due_on
string(nullable): The due date - notes
string: The task notes - completed
boolean: Whether the task is completed - permalink_url
string: A URL to the task in Asana
Example Usage:
{
"taskGid": "1205673456789",
"completed": true,
"notes": "Completed after final review. No further action needed."
}
Add Comment
Add a text comment (story) to a task. Optionally pin the comment to the top of the task's conversation.
Operation Type: Mutation (Write)
Parameters:
- taskGid
string(required): The GID of the task to comment on - text
string(required): The plain-text body of the comment - isPinned
boolean(nullable): Iftrue, the comment will be pinned to the top of the task's conversation
Returns:
- gid
string: The globally unique identifier for the comment - text
string: The text content of the comment - created_at
string: ISO 8601 timestamp of when the comment was created - created_by
object: The user who created the comment
Example Usage:
{
"taskGid": "1205673456789",
"text": "Heads up -- the design assets are now uploaded to the shared drive.",
"isPinned": false
}
Projects
List Projects
List all projects in a workspace, with optional filtering by archived status.
Operation Type: Query (Read)
Parameters:
- workspaceGid
string(required): The GID of the workspace to list projects from - archived
boolean(nullable): Iftrue, return only archived projects. Iffalse, return only active projects. If omitted, return all projects. - limit
number(nullable): Maximum number of projects to return
Returns:
array of objects: List of projects- gid
string: The project GID - name
string: The project name - archived
boolean: Whether the project is archived - color
string(nullable): The project color - created_at
string: ISO 8601 timestamp of when the project was created - permalink_url
string: A URL to the project in Asana
- gid
Example Usage:
{
"workspaceGid": "1234567890",
"archived": false,
"limit": 20
}
Common Use Cases
Project Management:
- Track tasks across multiple projects and workspaces
- Update task statuses, due dates, and assignees as work progresses
- List incomplete tasks for a project to generate sprint reports or standups
- Move tasks between projects by updating project memberships
Sprint & Status Automation:
- Pull all tasks assigned to a user for daily standups or weekly reports
- Search for overdue or at-risk tasks using text search and completion filters
- Mark tasks complete programmatically when related events occur in other systems
- Generate project summaries by listing tasks and aggregating their statuses
Team Communication:
- Add comments to tasks when updates come in from Slack, email, or other channels
- Pin important status updates to keep key information visible on tasks
- Search for tasks mentioned in conversations and link back to them
Cross-Tool Workflows:
- Sync Asana tasks with CRM deals, support tickets, or calendar events
- Create Asana tasks automatically when issues are filed in other tools
- Update Asana when deployments, releases, or approvals happen elsewhere
- List projects to discover workspace structure before building integrations