Search API Connector Documentation

Print

Import Asana Data to Google Sheets

In this guide, we’ll walk through how to pull tasks from the Asana API directly into Google Sheets, using the API Connector add-on for Sheets.

There are 2 ways to connect to the Asana API:

  • Preset “Connect” button (OAuth) premium
  • Personal access token. Please check the appendix for detailed instructions to retrieve your token.

Contents

Before You Begin

Click here to install the API Connector add-on from the Google Marketplace.

Part 1: Connect to the Asana API

If you haven’t connected API Connector to Asana before, you’ll first need to initiate the connection as follows:

  1. Open up Google Sheets and click Add-ons > API Connector > Manage Connections.
  2. In the list of available connections, find Asana and click Connect.
    asana-img1
  3. You be asked to authorize the connection. Click Allow.
    asana-img2
  4. You’ll then be returned to your Google Sheet, and can verify that your Asana connection is active in the Connections screen.

Part 2: Create Your API Request URL

We’ll first make a simple request to the /me endpoint.

  • Base URL:https://app.asana.com/api/1.0
  • Endpoint: /users/me

Putting it all together, we get the full API Request URL:

https://app.asana.com/api/1.0/users/me

Part 3: Pull Asana API Data into Sheets

Now let’s grab that Asana data!

  1. Open up Google Sheets and click Add-ons > API Connector > Open.
  2. In the Create tab, enter the Request URL we just created
    api-connector-asana-img7
  3. On the OAuth menu, select Asana.
    asana-img5
  4. We don’t need any headers so just leave that section empty.
  5. Create a new tab. Give it a name and click “Set current” to use that tab as your data destination.
  6. Name your request and click Run. A moment later you’ll see details about your account populate your sheet:
    asana-img6
  7. Pay special attention to the field labeled data.workspaces.gid. This is your workspace ID, which we can use to make further requests for tasks and project information.

Part 4: More Example API URLs

  1. Experiment with different endpoints and query strings as described in the documentation. For example, to retrieve all your tasks, enter the following in the API Request field:
    https://app.asana.com/api/1.0/projects/PROJECT_ID/tasks

    Replace PROJECT_ID with your project ID (run a request to the /projects endpoint or click on your project and check the URL bar to see this value).

    asana-img7
  2. To create a new task in Asana from Google Sheets, make a POST request with this URL
    https://app.asana.com/api/1.0/tasks?projects=PROJECT_ID&workspace=WORKSPACE_ID

    As noted earlier, find your PROJECT_ID value from the URL bar in the interface, and get your WORKSPACE_ID from your initial https://app.asana.com/api/1.0/users/me request. Input your task details into the POST body as described in the documentation, like this:

    api-connector-asana-img11

    You will immediately see your new task reflected in your Asana dashboard. Note that you can only create one task at a time with this method.
    api-connector-asana-img12

Part 5: Handle Pagination

Asana recommends using pagination when retrieving large result sets, to break responses into smaller sets. If your response set is too large, you may receive an error like this: “The result is too large. You should use pagination (may require specifying a workspace)!” To resolve this issue, paginate your response by using the ‘limit’ and ‘offset’ parameters as described in the documentation.

In API Connector, you can either run these paginated request URLs manually or loop through automatically using pagination handling (paid feature), like this:

  • API URL: enter your request URL, including limit=100
  • Pagination type: next page URL
  • Field name: next_page.uri
  • Number of pages: enter the number of pages you’d like to fetch
    api-connector-asana-img14

Appendix: Connect with an Asana Personal Access Token

This method is an alternative to the method described above. Instead of clicking Connect from the Manage Connections screen, retrieve your own personal token.

  1. Log in to Asana and click your profile icon in the top right corner to open the profile drop-down menu. Click ‘My Profile Settings’
    api-connector-asana-img1
  2. From the My Profile Settings menu, click Apps
    api-connector-asana-img2
  3. Click Manage Developer Apps
    api-connector-asana-img3
  4. On the Developer Apps screen, click “+New Access Token”
    api-connector-asana-img4
  5. A screen will open, prompting you to provide a name. You can name it whatever you like, but here we’ll name it Google Sheets. Check the terms and conditions box, and click Create Token.
    api-connector-asana-img5
  6. You’ll now see your Token. Congrats! Copy it to your clipboard.
    api-connector-asana-img6
  7. To use this token, under Headers, enter Authorization as your Key, and Bearer YOUR_TOKEN as your Value, like this:
    api-connector-asana-img8
  8. Your requests should run as described above. Just make sure to select OAuth = None as you’re connecting with a token instead.

Previous Import Airtable Data to Google Sheets
Next Import BambooHR Data to Google Sheets

2 thoughts on “Import Asana Data to Google Sheets”

  1. can we use this API method to pull data from asana to google sheet? specifically to pull all the tasks (both not completed and completed for all members in the asana)

    Reply

Leave a Comment

Table of Contents