1. Overview
Asana is a leading team collaboration and work management tool designed to help teams plan, organize, and track their work progress, providing clarity on everything from daily tasks to strategic projects.
With GoInsight's Asana node, you can seamlessly integrate powerful project management capabilities into your automated workflows, enabling full lifecycle management of core Asana resources. This allows you to automate a series of tedious operations such as task creation, project updates, and team collaboration, significantly improving team efficiency. Specific features include:
- Workspace and Team Management: Automatically retrieve lists of workspaces and teams, providing a foundation for subsequent operations.
- Full Project Lifecycle Management: Supports the creation, querying, updating, and deletion of projects, enabling automated project setup and maintenance.
- Detailed Task and Subtask Operations: Easily create, query, update, and delete tasks and subtasks, as well as add comments, tags, or associate tasks with different projects.
- User and Resource Management: Get a list of users within a workspace or query the detailed information of a specific user.
2. Prerequisites
Before using this node, you need to meet the following conditions:
- Have a valid Asana account.
- You may need the appropriate account permissions to create and configure credentials (usually a Personal Access Token).
3. Credentials
For a detailed guide on how to obtain and configure credentials, please refer to our official documentation: Credential Configuration Guide.
4. Supported Operations
Summary
This Asana node primarily operates on core resources such as Workspaces, Projects, Tasks, Tags, and Users. The table below summarizes all supported operations:
Resource | Operation | Description |
---|---|---|
Project | Create a Project | Creates a new project in a specified workspace. |
Project | Get a Project | Gets detailed information for a specified project. |
Project | Get Many Projects | Gets multiple projects from a specified workspace. |
Project | Update a Project | Updates the name or notes of an existing project. |
Project | Delete a Project | Deletes a specified project. This action is irreversible. |
Task | Create a Task | Creates a new task in a specified workspace or project. |
Task | Get a Task | Gets detailed information for a specified task. |
Task | Get Many Tasks | Gets multiple tasks from a specified project. |
Task | Update a Task | Updates multiple fields of an existing task, such as name, notes, assignee, etc. |
Task | Delete a Task | Deletes a specified task. This action is irreversible. |
Task | Search Tasks | Searches for tasks by keyword in a specified workspace. |
Subtask | Create a Subtask | Creates a new subtask under a parent task. |
Subtask | Get Many Subtasks | Gets all subtasks under a specified parent task. |
Task Comment | Add a Task Comment | Adds a comment to a specified task. |
Task-Project Association | Add a Task Project | Associates a task with a specified project. |
Task-Project Association | Remove a Task Project | Removes the association between a task and a specific project. |
Task-Tag Association | Add a Task Tag | Adds a tag to a specified task. |
Task-Tag Association | Remove a Task Tag | Removes a tag from a specified task. |
Tag | Create a Tag | Creates a new tag in a specified workspace. |
User | Get a User | Gets detailed information for a single user. |
User | Get Many Users | Gets a list of users in a specified workspace. |
Team | Get Teams | Gets a list of teams in a specified workspace. |
Workspace | Get Workspaces | Gets a list of all workspaces accessible to the current user. |
Operation Details
Create a Project
Creates a new project in a specified Asana workspace, with the option to assign it to a team.
Input Parameters:
- WorkspaceId: The GID of the workspace for the project.
- ProjectName: The name of the project to create.
Options:
- TeamId: The GID of the team the project belongs to.
Output:
- ProjectId (string): The GID of the newly created Asana project.
- Name (string): The name of the created project.
- CreatedAt (string): The ISO 8601 timestamp of when the project was created.
- StatusCode (number): The HTTP status code of the operation (201 for success).
- ErrorMessage (string): An error message if the operation fails.
Get a Project
Retrieves detailed information for a single Asana project based on its GID.
Input Parameters:
- ProjectId: The GID of the Asana project to retrieve.
Output:
- ProjectId (string): The GID of the retrieved Asana project.
- Name (string): The name of the project.
- Notes (string): The notes or description of the project.
- CreatedAt (string): The ISO 8601 timestamp of when the project was created.
- ModifiedAt (string): The ISO 8601 timestamp of when the project was last modified.
- StatusCode (number): The HTTP status code of the operation (200 for success).
- ErrorMessage (string): An error message if the operation fails.
Get Many Projects
Retrieves multiple Asana projects from a specified workspace, with an option to filter by team.
Input Parameters:
- WorkspaceId: The GID of the workspace from which to retrieve projects.
Options:
- TeamId: The GID of the team to filter projects by; if omitted, retrieves projects from the entire workspace.
Output:
- Results (object-array): A list of project objects, each containing ProjectId, Name, Notes, CreatedAt, and ModifiedAt fields.
- StatusCode (number): The HTTP status code of the operation (200 for success).
- ErrorMessage (string): An error message if the operation fails.
Update a Project
Updates the name and/or notes for a project based on its GID.
Input Parameters:
- ProjectId: The GID of the Asana project to update.
Options:
- Name: The new name for the project; if omitted or empty, the name will not be changed.
- Notes: The new description for the project; if omitted or empty, the notes will not be changed.
Output:
- ProjectId (string): The GID of the updated project.
- Name (string): The updated name of the project.
- Notes (string): The updated description of the project.
- ModifiedAt (string): The ISO 8601 timestamp of when the project was last modified.
- StatusCode (number): The HTTP status code of the operation (200 for success).
- ErrorMessage (string): An error message if the operation fails.
Delete a Project
Deletes an Asana project by its GID. This action cannot be undone.
Input Parameters:
- ProjectId: The GID of the Asana project to delete.
Output:
- Deleted (bool): Indicates whether the project was successfully deleted.
- StatusCode (number): The HTTP status code of the operation (200 for success).
- ErrorMessage (string): An error message if the operation fails.
Create a Task
Creates a new task in a specified Asana project or workspace, with options to set an assignee, due date, notes, and tags.
Input Parameters:
- TaskName: The name of the task to be created.
- WorkspaceGid: The GID of the workspace for the task.
Options:
- ProjectGid: The GID of the project to add the task to.
Output:
- Task (object): The created task object.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Get a Task
Retrieves detailed information for a specified Asana task.
Input Parameters:
- TaskId: The GID of the Asana task to retrieve.
Output:
- TaskId (string): The GID of the retrieved task.
- Name (string): The name of the task.
- Notes (string): The notes or description of the task.
- Assignee (string): The GID of the user assigned to the task.
- Completed (bool): Indicates whether the task is completed.
- DueOn (string): The due date of the task (in YYYY-MM-DD format).
- CreatedAt (string): The ISO 8601 timestamp of when the task was created.
- ModifiedAt (string): The ISO 8601 timestamp of when the task was last modified.
- StatusCode (number): The HTTP status code of the operation (200 for success).
- ErrorMessage (string): An error message if the operation fails.
Get Many Tasks
Retrieves multiple tasks from a specified Asana project.
Input Parameters:
- ProjectId: The GID of the Asana project from which to retrieve tasks.
Output:
- Results (object-array): A list of task objects, each containing detailed task fields.
- StatusCode (number): The result code of the operation (200 for success).
- ErrorMessage (string): An error message if the operation fails.
Update a Task
Updates fields of a specified Asana task, such as name, notes, assignee, due date, and completion status.
Input Parameters:
- TaskId: The GID of the Asana task to update.
Options:
- Name: The new name for the task.
- Notes: The new notes or description for the task.
- Assignee: The GID of the new assignee.
- DueOn: The new due date (in YYYY-MM-DD format).
- Completed: The new completion status of the task.
Output:
- Updated (bool): Indicates whether the task was successfully updated.
- TaskId (string): The GID of the updated task.
- UpdatedFields (string-array): A list of the fields that were updated.
- StatusCode (number): The HTTP status code of the operation (200 for success).
- ErrorMessage (string): An error message if the operation fails.
Delete a Task
Deletes an Asana task by its GID. This action cannot be undone.
Input Parameters:
- TaskId: The GID of the Asana task to delete.
Output:
- Deleted (bool): Indicates whether the specified task was successfully deleted.
- TaskId (string): The GID of the deleted task.
- StatusCode (number): The HTTP status code of the operation (200 for success).
- ErrorMessage (string): An error message if the operation fails.
Search Tasks
Performs a text search for tasks within a specified Asana workspace.
Input Parameters:
- WorkspaceGid: The GID of the workspace to search tasks in.
- QueryText: The text to search for within tasks.
Output:
- Tasks (object-array): A list of tasks that match the search query.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Create a Subtask
Creates a new subtask under a specified Asana parent task, with options to set notes, an assignee, and a due date.
Input Parameters:
- ParentTaskId: The GID of the parent task.
- Name: The name of the subtask to create.
Options:
- Notes: The notes or description for the subtask.
- Assignee: The GID of the user to assign to the subtask.
- DueOn: The due date for the subtask (in YYYY-MM-DD format).
Output:
- TaskId (string): The GID of the newly created subtask.
- Name (string): The name of the created subtask.
- Notes (string): The notes or description of the subtask.
- Assignee (string): The GID of the user assigned to the subtask.
- DueOn (string): The due date of the subtask.
- StatusCode (number): The HTTP status code of the operation (201 for success).
- ErrorMessage (string): An error message if the operation fails.
Get Many Subtasks
Retrieves multiple subtasks from under a specified Asana parent task.
Input Parameters:
- ParentTaskId: The GID of the parent task whose subtasks are to be retrieved.
Output:
- Results (object-array): A list of subtask objects, each containing detailed subtask fields.
- StatusCode (number): The HTTP status code of the operation (200 for success).
- ErrorMessage (string): An error message if the operation fails.
Add a Task Comment
Adds a text comment to a specified Asana task.
Input Parameters:
- TaskGid: The GID of the task to add a comment to.
- CommentText: The text of the comment to add.
Output:
- Comment (object): The created comment object.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Add a Task Project
Associates a task with a specific project in Asana.
Input Parameters:
- TaskGid: The GID of the task to add to a project.
- ProjectGid: The GID of the project to add the task to.
Output:
- Success (bool): Whether the task was successfully added to the project.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Remove a Task Project
Removes the association between a task and a specific project in Asana.
Input Parameters:
- TaskGid: The GID of the task to remove from a project.
- ProjectGid: The GID of the project to remove the task from.
Output:
- Success (bool): Whether the task was successfully removed from the project.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Add a Task Tag
Adds a tag to a specified Asana task.
Input Parameters:
- TaskGid: The GID of the task to add a tag to.
- TagGid: The GID of the tag to be added.
Output:
- Success (bool): Whether the tag was successfully added.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Remove a Task Tag
Removes a tag from a specified Asana task.
Input Parameters:
- TaskGid: The GID of the task to remove the tag from.
- TagGid: The GID of the tag to be removed.
Output:
- Success (bool): Whether the tag was successfully removed.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Create a Tag
Creates a new tag with a given name and color in a specified Asana workspace.
Input Parameters:
- TagName: The name of the tag to be created.
- WorkspaceGid: The GID of the workspace to create the tag in.
Output:
- Tag (object): The created tag object, including its GID.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Get a User
Retrieves detailed information about a specific Asana user.
Input Parameters:
- UserGid: The GID of the user or 'me'.
Output:
- Gid (string): The global ID of the user.
- Name (string): The name of the user.
- Email (string): The email address of the user.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Get Many Users
Retrieves a list of users from a specified Asana workspace.
Input Parameters:
- WorkspaceGid: The GID of the workspace (required).
Options:
- Limit: The number of users to return (optional, max 100).
- Offset: The offset token for pagination (optional).
Output:
- Users (object-array): A list of user objects.
- NextPageOffset (string): The offset token for the next page of results.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Get Teams
Retrieves a list of teams from a specified Asana workspace.
Input Parameters:
- WorkspaceGid: The GID of the workspace from which to get teams.
Output:
- Teams (object-array): A list of team objects, each containing a GID.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
Get Workspaces
Retrieves a list of all workspaces accessible to the authenticated Asana user.
Output:
- Workspaces (object-array): A list of workspace objects.
- StatusCode (number): The HTTP status code of the operation.
- ErrorMessage (string): An error message if the operation fails.
5. Example Usage
This section will guide you through creating a simple workflow to automatically create a new task in your Asana.
Workflow Overview
We will build a simple workflow consisting of Start -> Asana: Create a Task -> Answer. When the workflow runs, it will create a new task in the specified project.
Step-by-Step Guide
- Add a Tool Node
- On the workflow canvas, click the "+" sign to add a new node.
- In the pop-up panel, select the "Tools" tab.
- Find and select Asana from the tool list.
- In the list of supported operations for Asana, click to select Create a Task, which will add the corresponding node to the canvas.
- Configure the Node
- Click on the newly added Create a Task node, and its configuration panel will expand on the right.
- Credential Configuration: At the top of the panel, find the credential field. Click the dropdown menu and select your pre-configured Asana credential.
- Parameter Entry: Fill in the required parameters for creating a task.
- TaskName: Enter the title for the task you want to create, for example, "Complete Q1 Marketing Report".
- WorkspaceGid: Enter the GID of the workspace the task belongs to. You can obtain this ID by running the Get Workspaces operation.
- ProjectGid (Optional): If you want to add this task directly to a project, fill in the project's GID here. You can get this ID by running the Get Many Projects operation.
- Run and Validate
- Once all required parameters are correctly filled in, the error prompt in the top right corner of the workflow canvas will disappear.
- Click the "Run" button in the top right corner of the canvas to execute the workflow.
- After successful execution, you can click the log icon in the top right corner to view the detailed input and output of the node. The Task object in the output will contain the details of the newly created task, including its GID. You can also log in to the Asana web application to check if the task has been successfully created.
Final Workflow Display
After completing the steps above, your entire workflow is configured. Every time this workflow is run, a new task will be automatically created in your specified Asana workspace or project.
6. FAQs
Q: Why am I getting a 401 Unauthorized or 403 Forbidden error?
A: This is usually related to your credentials. Please check the following:
- Whether the Personal Access Token configured in GoInsight is correct and has not expired.
- Whether the token has the necessary permissions to access the workspace, project, or task specified in the node parameters.
- Please ensure the token's permission scopes are sufficient to perform the action you are attempting.
Q: How do I find the GID for a Workspace, Project, Task, or User?
A: A GID is a unique identifier for resources in Asana. you can obtain it in the following ways:
- Via the Asana Web App: When you view a project or task in your browser, its GID will usually be at the end of the URL.
- Via GoInsight Nodes: You can use the "Get" or "List" type operations in this tool to retrieve GIDs. For example, first run Get Workspaces to get workspace GIDs, then use one as input for Get Many Projects to get a list of project GIDs.
Q: I tried to create a task, but the operation failed. What should I check?
A: Please confirm the following common issues:
- Required Fields: Ensure that the required fields TaskName and WorkspaceGid are both correctly filled in.
- GID Validity: Check if the WorkspaceGid or ProjectGid you provided is a valid GID that you have permission to access. An invalid or incorrect GID will cause the request to fail.
7. Official Documentation
For more detailed information about the Asana API, please consult the official documentation:
Leave a Reply.