1. Overview
Asana is a leading team collaboration and work management tool designed to help teams plan, organize, and track work progress, providing clear visibility from daily tasks to strategic projects.
Through GoInsight's Asana node, you can seamlessly integrate powerful project management capabilities into your automated workflows, achieving full lifecycle management of Asana's core resources. This enables you to automate task creation, project updates, team collaboration, and other tedious operations, significantly improving team efficiency. Specific capabilities include:
- Workspace and Team Management: Automatically retrieve workspaces and team lists, providing a foundation for subsequent operations.
- Full Project Lifecycle Management: Support for creating, querying, updating, and deleting projects, enabling automated project setup and maintenance.
- Granular Task and Subtask Operations: Easily create, query, update, and delete tasks and subtasks, and add comments, tags, or associate them with different projects.
- User and Resource Management: Retrieve user lists within workspaces or query specific user details.
2. Prerequisites
Before using this node, you need to meet the following conditions:
- Have a valid Asana account.
- To create and configure credentials (typically a Personal Access Token), you may need appropriate account permissions.
3. Credentials
For detailed guidance on how to obtain and configure credentials, please refer to our official documentation: Credentials Configuration Guide.
4. Supported Operations
The Asana node allows you to manage the full lifecycle of work management entities, including workspaces, teams, projects, tasks, and users.
Summary
| Resource | Operation | Description |
|---|---|---|
| Project | Create a Project | Create a new project in a specified workspace. |
| Project | Delete a Project | Permanently delete a project in Asana. |
| Project | Get Many Projects | Retrieve a list of projects in a workspace. |
| Project | Get a Project | Retrieve details of a specific project by its GID. |
| Project | Update a Project | Update properties of an existing project. |
| Subtask | Create a Subtask | Create a new subtask under a parent task. |
| Subtask | Get Many Subtasks | Retrieve a list of subtasks for a given parent task. |
| Tag | Create a Tag | Create a new tag in a workspace. |
| Task | Add a Task Comment | Add a comment to a specific task in Asana. |
| Task | Add a Task Project | Add a task to a project in Asana. |
| Task | Add a Task Tag | Add a tag to a task in Asana. |
| Task | Create a Task | Create a new task in a specified workspace, optionally adding it to a project. |
| Task | Delete a Task | Permanently delete a task in Asana. |
| Task | Get Many Tasks | Retrieve a list of tasks in a workspace or project. |
| Task | Get a Task | Retrieve details of a specific task by its GID. |
| Task | Remove a Task Project | Remove a task from a project in Asana. |
| Task | Remove a Task Tag | Remove a tag from a task in Asana. |
| Task | Search Tasks | Search for tasks in a workspace using filters. |
| Task | Update a Task | Update properties of an existing task. |
| Team | Get Teams | Retrieve a list of teams for a user. |
| User | Get Many Users | Retrieve a list of users in a workspace. |
| User | Get a User | Retrieve details of a specific user by their GID. |
| Workspace | Get Workspaces | Retrieve a list of workspaces for a user. |
| Workspace | Get a Workspace | Retrieve details of a specific workspace by its GID. |
Operation Details
Create a Project
Create a new project in a specified workspace.
Input Parameters:
- ProjectName: The name of the project to be created. Required.
- WorkspaceGid: The GID of the workspace in which to create the project. Required.
Optional Parameters:
- TeamGid: The GID of the team to create the project in. Optional if workspace is not team-based.
- Notes: Optional description or notes for the project.
- Color: Optional color for the project from a predefined list.
Output:
- Project (object): The complete created project object from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Delete a Project
Permanently delete a project in Asana.
Input Parameters:
- ProjectGid: The GID of the project to delete. Required.
Output:
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Get Many Projects
Retrieve a list of projects in a workspace.
Input Parameters:
- WorkspaceGid: The GID of the workspace to retrieve projects from. Required.
Optional Parameters:
- Archived: Whether to include archived projects. Optional, default false.
- Limit: Maximum number of projects to return. Optional.
Output:
- Projects (array): An array of project objects from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Get a Project
Retrieve details of a specific project by its GID.
Input Parameters:
- ProjectGid: The GID of the project to retrieve. Required.
Output:
- Project (object): The project object from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Update a Project
Update properties of an existing project.
Input Parameters:
- ProjectGid: The GID of the project to update. Required.
Optional Parameters:
- Name: New name for the project. Optional.
- Notes: New description or notes for the project. Optional.
- Color: New color for the project from a predefined list. Optional.
- Archived: Whether the project should be archived. Optional.
Output:
- Project (object): The updated project object from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Create a Subtask
Create a new subtask under a parent task.
Input Parameters:
- ParentTaskGid: The GID of the parent task. Required.
- SubtaskName: The name of the subtask to be created. Required.
Optional Parameters:
- Assignee: The GID of the user to assign this subtask to. Optional.
- DueOn: The due date for the subtask in YYYY-MM-DD format. Optional.
- Notes: Optional description or notes for the subtask.
Output:
- Subtask (object): The complete created subtask object from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Get Many Subtasks
Retrieve a list of subtasks for a given parent task.
Input Parameters:
- ParentTaskGid: The GID of the parent task to retrieve subtasks for. Required.
Optional Parameters:
- CompletedSince: Only return subtasks completed since the given date. Optional.
Output:
- Subtasks (array): An array of subtask objects from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Create a Tag
Create a new tag in a workspace.
Input Parameters:
- TagName: The name of the tag to be created. Required.
- WorkspaceGid: The GID of the workspace in which to create the tag. Required.
Optional Parameters:
- Color: Optional color for the tag from a predefined list.
- Notes: Optional description or notes for the tag.
Output:
- Tag (object): The complete created tag object from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Add a Task Comment
Add a comment to a specific task in Asana.
Input Parameters:
- TaskGid: The GID of the task to add the comment to. Required.
- Text: The text content of the comment to add. Required.
Output:
- Comment (object): The created comment object with details like text, created_at, and author.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Add a Task Project
Add a task to a project in Asana.
Input Parameters:
- TaskGid: The GID of the task to add to a project. Required.
- ProjectGid: The GID of the project to add the task to. Required.
Output:
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Add a Task Tag
Add a tag to a task in Asana.
Input Parameters:
- TaskGid: The GID of the task to add a tag to. Required.
- TagGid: The GID of the tag to add to the task. Required.
Output:
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Create a Task
Create a new task in a specified workspace, optionally adding it to a project.
Input Parameters:
- TaskName: The name of the task to be created. Required.
- WorkspaceGid: The GID of the workspace in which to create the task. Required.
Optional Parameters:
- ProjectGid: The GID of the project to add the task to. Optional.
- Assignee: The GID of the user to assign this task to. Optional.
- DueOn: The due date for the task in YYYY-MM-DD format. Optional.
- Notes: Optional description or notes for the task.
- AdditionalFields: Optional additional fields as a JSON object.
Output:
- Task (object): The complete created task object from Asana API containing gid, name, notes, and metadata.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
- OriginalStatusCode (number): The original HTTP status code returned by the upstream API.
Delete a Task
Permanently delete a task in Asana.
Input Parameters:
- TaskGid: The GID of the task to delete. Required.
Output:
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Get Many Tasks
Retrieve a list of tasks in a workspace or project.
Input Parameters:
- WorkspaceGid: The GID of the workspace to retrieve tasks from. Either WorkspaceGid or ProjectGid is required.
- ProjectGid: The GID of the project to retrieve tasks from. Either WorkspaceGid or ProjectGid is required.
Optional Parameters:
- Assignee: Filter tasks assigned to the given user. Optional.
- CompletedSince: Only return tasks completed since the given date. Optional.
- Limit: Maximum number of tasks to return. Optional.
Output:
- Tasks (array): An array of task objects from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Get a Task
Retrieve details of a specific task by its GID.
Input Parameters:
- TaskGid: The GID of the task to retrieve. Required.
Output:
- Task (object): The task object from Asana API containing all details.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Remove a Task Project
Remove a task from a project in Asana.
Input Parameters:
- TaskGid: The GID of the task to remove from a project. Required.
- ProjectGid: The GID of the project to remove the task from. Required.
Output:
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Remove a Task Tag
Remove a tag from a task in Asana.
Input Parameters:
- TaskGid: The GID of the task to remove a tag from. Required.
- TagGid: The GID of the tag to remove from the task. Required.
Output:
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Search Tasks
Search for tasks in a workspace using filters.
Input Parameters:
- WorkspaceGid: The GID of the workspace to search in. Required.
Optional Parameters:
- Text: Text to search for in task names and descriptions. Optional.
- Assignee: Filter tasks assigned to the given user. Optional.
- Project: Filter tasks belonging to the given project. Optional.
- Completed: Filter completed tasks. Optional.
Output:
- Tasks (array): An array of matching task objects from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Update a Task
Update properties of an existing task.
Input Parameters:
- TaskGid: The GID of the task to update. Required.
Optional Parameters:
- Name: New name for the task. Optional.
- Assignee: New assignee for the task. Optional.
- DueOn: New due date for the task in YYYY-MM-DD format. Optional.
- Notes: New description or notes for the task. Optional.
- Completed: Whether the task is completed. Optional.
- AdditionalFields: Optional additional fields as a JSON object.
Output:
- Task (object): The updated task object from Asana API containing all details.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Get Teams
Retrieve a list of teams for a user.
Input Parameters:
- UserGid: The GID of the user to retrieve teams for. Required.
Output:
- Teams (array): An array of team objects from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Get Many Users
Retrieve a list of users in a workspace.
Input Parameters:
- WorkspaceGid: The GID of the workspace to retrieve users from. Required.
Output:
- Users (array): An array of user objects from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Get a User
Retrieve details of a specific user by their GID.
Input Parameters:
- UserGid: The GID of the user to retrieve. Required.
Output:
- User (object): The user object from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Get Workspaces
Retrieve a list of workspaces for a user.
Output:
- Workspaces (array): An array of workspace objects from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
Get a Workspace
Retrieve details of a specific workspace by its GID.
Input Parameters:
- WorkspaceGid: The GID of the workspace to retrieve. Required.
Output:
- Workspace (object): The workspace object from Asana API.
- StatusCode (number): Status code indicating success or failure of the operation.
- ErrorMessage (string): Error message if any error occurred during the operation.
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 under the specified project.
Step-by-Step Guide
- Add Tool Node
- In the workflow canvas, click the "+" button to add a new node.
- Select the "Tools" tab in the pop-up panel.
- Find and select Asana in the tools list.
- In the Asana supported operations list, click to select Create a Task, which will add a corresponding node to the canvas.
- Configure Node
- Click the newly added Create a Task node, and the configuration panel for this node will expand on the right side.
- Credentials Configuration: At the top of the panel, find the credentials field. Click the dropdown menu and select your configured Asana credentials.
- Parameter Filling: Fill in the required parameters for creating a task in detail.
- TaskName: Enter the title of the task you wish to create, for example, "Complete Q1 Marketing Report".
- WorkspaceGid: Enter the GID of the workspace where the task belongs. 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 GID of the project here. You can obtain this ID by running the Get Many Projects operation.
- Run and Verify
- When all required parameters are filled in correctly, the error message in the upper right corner of the workflow canvas will disappear.
- Click the "Test Run" button in the upper right corner of the canvas to execute the workflow.
- After successful execution, you can click the log icon in the upper 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 was successfully created.
Final Workflow Display
After completing the above steps, your entire workflow is configured. Each time you run this workflow, a new task will be automatically created in your specified Asana workspace or project.
6. FAQs
Q: Why am I receiving 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 not expired.
- Whether the token has permission to access the workspace, project, or task specified in the node parameters.
- Ensure that the token's permission scopes are sufficient to perform the operation you are attempting.
Q: How do I find the GID of a Workspace, Project, Task, or User?
A: GID is the unique identifier for resources in Asana. You can obtain it by:
- Through the Asana web application: When you view a project or task in your browser, its GID usually appears at the end of the URL.
- Through GoInsight nodes: You can use "Get" or "List" type operations in this tool to obtain GIDs. For example, first run Get Workspaces to get the workspace GID, then use it as input to 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 both required fields, TaskName and WorkspaceGid, are filled in correctly.
- GID Validity: Check whether the WorkspaceGid or ProjectGid you provided is a valid GID that you have access to. An invalid or incorrect GID will cause the request to fail.
7. Official Documentation
For more detailed information about the Asana API, please refer to the official documentation:
Leave a Reply.