Ready to get started?

Learn more about the Asana PowerShell Cmdlets or download a free trial:

Download Now

Pipe Asana Data to CSV in PowerShell

Use standard PowerShell cmdlets to access Asana tables.

The CData Cmdlets Module for Asana is a standard PowerShell module offering straightforward integration with Asana. Below, you will find examples of using our Asana Cmdlets with native PowerShell cmdlets.

Creating a Connection to Your Asana Data

You can optionally set the following to refine the data returned from Asana.

  • WorkspaceId: Set this to the globally unique identifier (gid) associated with your Asana Workspace to only return projects from the specified workspace. To get your workspace id, navigate to https://app.asana.com/api/1.0/workspaces while logged into Asana. This displays a JSON object containing your workspace name and Id.
  • ProjectId: Set this to the globally unique identifier (gid) associated with your Asana Project to only return data mapped under the specified project. Project IDs can be found in the URL of your project's Overview page. This will be the numbers directly after /0/.

Connect Using OAuth Authentication

You must use OAuth to authenticate with Asana. OAuth requires the authenticating user to interact with Asana using the browser. See the "Getting Started" chapter of the help documentation for a guide to using OAuth.

$conn = Connect-Asana  -OAuthClientId "$OAuthClientId" -OAuthClientSecret "$OAuthClientSecret" -CallbackURL "$CallbackURL"

Selecting Data

Follow the steps below to retrieve data from the projects table and pipe the result into to a CSV file:

Select-Asana -Connection $conn -Table projects | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\myprojectsData.csv -NoTypeInformation

You will notice that we piped the results from Select-Asana into a Select-Object cmdlet and excluded some properties before piping them into an Export-Csv cmdlet. We do this because the CData Cmdlets append Connection, Table, and Columns information onto each "row" in the result set, and we do not necessarily want that information in our CSV file.

The Connection, Table, and Columns are appended to the results in order to facilitate piping results from one of the CData Cmdlets directly into another one.