Print

Import Monday Data to Google Sheets

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

We'll first get an API token from Monday, and then set up a request to pull in data from Monday to your spreadsheet.

Contents

Before You Begin

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

Part 1: Get Your Monday API Token

  1. Log in to Monday and click the avatar menu > Developers from the right hand corner
    monday-developers
  2. From the Developers page, click My access tokens
    monday-token
  3. There should be a token waiting for you, or you can click Regenerate. Copy and keep it handy as you'll need it in a moment. Congrats! You're now ready to use the Monday API.
    monday-copytoken

Part 2: Get your Monday Board ID

Many queries will require that you include your board ID, so let's get that now. While logged into Monday, navigate to your board. The board ID will be shown in the URL bar.

Part 3: Pull Monday API Data into Sheets

We'll now get the items from the board. Substitute in your own board ID where it says your_board_id, and your own API token where it says your_api_token

  1. Open up Google Sheets and click Extensions > API Connector > Open > Create request.
  2. In the request form enter the following:
    • ApplicationCustom
    • MethodPOST
    • Request URLhttps://api.monday.com/v2
    • Headers:
      • Authorizationyour_api_token
      • API-Version: 2024-01
    • Request body: {"query":"{boards(ids:your_board_id){items_page (limit: 500) {cursor items { id name }}}}"}
  3. Create a new tab and click Set current to use that tab as your data destination.
  4. Under output options, set the Report style to Grid.
  5. Name your request and click Run. A moment later you’ll see tasks from your board populate your sheet.
    monday-response

Variation

If you would like to fetch the item details on the board as well, change the request body to {"query": "{ boards(ids: your_board_id) { items_page(limit: 500) { cursor items { id name column_values { id text value } } } } }"}

Monday's API doesn't send item data back in a format that works well with Sheets, so let's clean it up a bit. Still under Output options, enable the Flatten field to header option with these settings:

  • Path to header: data.boards.items_page.items.column_values.id
  • Path to value: data.boards.items_page.items.column_values.text
    monday-flattenheaders

Note

The Monday API is a GraphQL API. This means the request URL always stays the same, while the data response is defined via the request body. Check the API documentation for the full list of available data points.

Part 4: API Documentation

Official API documentation: https://developer.monday.com/api-reference/docs/basics

4 thoughts on “Import Monday Data to Google Sheets”

  1. Hi, I'm having trouble getting this request to work. I am receiving the following error: Field 'items' doesn't exist on type 'Board'

    Do you have any recommendations? It has worked in the past. Thanks in advance!

    Reply
      • Hi Ana,

        Thank you for your response. So, I did forget to add in the API-Version initially, but even after adding it in, I still was unable to complete the request. I regenerated my API token as well just in case and double checked my board id.

        It looks like I had changed terminology on my original board from "items" to "features", so I tried to revert the existing board to "items" and also created a new board using "items" and I am still receiving the error.

      • Sorry, you're right, they made more significant changes to their API than I previously noted. I've just tested and updated the article, please see the revised request example above.

Leave a Comment

Jump To