List Projects
Definition
This action retrieves a list of projects from your Asana account, allowing you to dynamically access project information within your workflows. You can fetch all projects, or narrow the results to a specific workspace or team, making it easy to target the exact projects you need for automation.
- Key capabilities:
- Retrieve all projects across your entire Asana instance.
- Filter and list projects belonging to a specific workspace.
- Filter and list projects owned by a particular team within a workspace.
This action is fundamental for any Asana automation, as it provides the necessary project identifiers and names to use in subsequent steps like creating tasks or updating project details.
Inputs
- Connection
- Purpose: This field establishes a secure, authenticated link to your Asana account. It authorizes zenphi to access your Asana data on your behalf.
- Practical Guidance: You will typically select a pre-configured Asana connection from a dropdown menu. If you haven't created one, you will be prompted to add a new connection by logging into your Asana account. This is a static selection made when building the flow.
- Use Case Context: You would select your primary Asana connection to grant the workflow permission to read the list of projects.
- Get
- Purpose: This field determines the scope of your search, allowing you to specify whether you want to retrieve all projects, only those in a certain workspace, or only those belonging to a specific team.
- Practical Guidance: You will choose one of three options from a dropdown menu: "All Projects," "Projects by Workspace," or "Project by Team." Your selection will change which other input fields are displayed.
- Use Case Context: You would set this to "Project by Team" if you only want to work with projects managed by your engineering team.
- 2.1. All Projects
- Selecting this option requires no further inputs and will return every project your connection has access to.
- 2.2. Projects by Workspace
- - workspace
- Purpose: This field is for specifying the exact workspace from which you want to retrieve projects.
- Practical Guidance: After your connection is established, this field will populate with a dropdown list of available workspaces. You can select one directly. Alternatively, you can provide the Workspace ID as a static value (typing it in) or, more powerfully, use a dynamic value from the token picker (the chain icon) if a previous action in your flow provided a Workspace ID.
- Use Case Context: You would use the 'workspace' field to tell zenphi to only list projects from your "Marketing Department" workspace.
- 2.3. Project by Team
- - workspace
- Purpose: This field is for selecting the workspace that contains the team you want to target.
- Practical Guidance: This is a dropdown list of your available Asana workspaces. You must first select the parent workspace before you can select a team within it.
- Use Case Context: You would first select the "Product Development" workspace before you can choose the "Mobile App Team."
- - Team
- Purpose: This field allows you to specify the exact team whose projects you want to list.
- Practical Guidance: Once a workspace is selected, this field becomes a dropdown list of all teams within that workspace. You can also provide a static Team ID or use a dynamic token from a previous step to identify the team.
- Use Case Context: You would use this field to get a list of all projects assigned to the "Q4 Launch Campaign" team.
Outputs
- items
- Data Description: This output is a list containing all the projects that matched the criteria defined in the inputs. Each item in the list is a distinct project with its own properties.
- Workflow Utility: This list is most commonly used in a "For Each" loop. This allows you to perform an action—like sending a notification or creating a standard set of tasks—for every single project returned by this action.
- ** Id**
- Data Description: This is the unique, globally recognized identifier for the project within Asana.
- Workflow Utility: The Project 'Id' is the most critical piece of data for further automation. You must pass this token to other Asana actions, such as "Create Task" or "Update Project," to tell them exactly which project you want to modify.
- - Name
- Data Description: This is the human-readable name of the project as it appears in the Asana user interface.
- Workflow Utility: The 'Name' is useful for creating user-friendly outputs, such as in notification emails or logging entries (e.g., "A new task was created in project: [Project Name]"). It can also be used in conditional logic to route your workflow differently based on the project's name.
Example Use Cases
- Generate Weekly Project Reports Automatically fetch all projects from a specific workspace to populate a weekly status report in Google Sheets or a BI tool.
- Standardize New Project Setup List all projects within a team and use a loop to create a standard set of onboarding tasks for any newly created projects.
- Archive Inactive Projects Periodically retrieve a list of all projects to identify and automatically archive those that haven't been modified recently, ensuring a clean workspace.
- Sync Project Data to a CRM Get a list of active projects and synchronize their names and IDs to a customer relationship management (CRM) system to link sales opportunities with active work.
Example
Scenario: The Project Management Office (PMO) needs to compile a weekly report of all active projects within the "Product Development" workspace. Currently, a manager manually copies and pastes project names from Asana into a Google Sheet, which is time-consuming and prone to errors. The goal is to automate this reporting process entirely.
Steps to Implement:
- Create a new flow and set the trigger. Use the Schedule trigger and configure it to run every Friday at 5 PM.
- Add the Asana List Projects action to the flow.
- Configure the action with the following settings:
- Connection: Select your pre-configured Asana connection.
- Get: Choose "Projects by Workspace" from the dropdown menu to narrow the search.
- workspace: Select the "Product Development" workspace from the list of available options.
- Add a For Each loop action immediately after the List Projects action. In the
Items
field of the loop, insert theitems
token from the output of the List Projects action. - Inside the For Each loop, add a Google Sheets - Add a Row action. Configure it to add the
Name
andId
of each project (from the loop's current item) into the designated columns of your project report spreadsheet.
Outcome: The workflow automatically runs every week, retrieving an up-to-date list of all projects from the Product Development workspace and populating the Google Sheet without any manual intervention. This saves the PMO several hours each month, eliminates data entry errors, and ensures the project report is always accurate and consistent.
Best Practices
- Filter for Efficiency Whenever possible, filter projects by "Workspace" or "Team" instead of selecting "All Projects." This reduces the amount of data processed, speeds up your flow's execution, and ensures you are only working with relevant information.
- Process Results with a Loop
The action's
items
output is a list (or array) of projects. To perform an action on each project individually, you must use a "For Each" loop to iterate through this list. - Use the Project ID for Subsequent Actions
While the project
Name
is useful for display purposes like notifications or reports, always use the projectId
token in subsequent Asana actions (e.g., "Create Task," "Update Project"). The ID is a unique and permanent identifier, whereas the name can be changed by users, which would break your flow. - Combine with Conditional Logic
Use the project
Name
output in a conditional (If/Else) branch to create more intelligent workflows. For example, you can check if a project name contains "Marketing" to route it to one set of actions, and if it contains "Engineering" to route it to another.
Updated about 2 hours ago