Back to Blog

Coda to Google Sheets | The No-Code Way to Export Tables from Coda to Spreadsheets

Why would anyone need to export data from Coda? In our case, we were looking for a way to create a full-screen dashboard. In Coda, all charts and dashboards are located in a small area in the middle of the screen, and there is no way to stretch its width to adjust it to your screen size. You may have other reasons for exporting data, and here are the options available:

  • Manually copy and paste tables of data in a spreadsheet
  • Export pages as PDF 
  • Export data as TXT or CSV files

In this article, we’ll introduce the option that lets you export docs data from Coda.io directly to Google Sheets. It’s a great way to look into charts and analytics in detail.

Import data from Coda to Google Sheets 

So, our solution for exporting data from Coda.io to Google Sheets is the following: 

Copy your data and paste it in your spreadsheet. 😀 

This is a joke, of course. We want you to have the data export to Google Sheets automated and even scheduled. This can be done programmatically using the Coda.io API. It lets you sync Coda and Google Sheets, but for this you’ll need to use Google Apps Script. You can write your own script or customize the one you can find on GitHub. You can find instructions on Coda.io blog, as well as Medium. 

If you don’t want to code, you can connect Coda.io to Google Sheets using Coupler.io with just a few button clicks. It’s a solution for importing data from different sources, such as Jira, Trello, Xero, and others into Google Sheets. Check out all available Google Sheets integrations

How to connect Coda to Google Sheets without coding

First, sign in to Coupler.io, then click the +Add New button to create an importer. 

Name your importer what you want and complete the following steps to set it up:

Step 1: Source

  • Select source application – choose JSON Client and click Continue.
  • JSON URL – insert the JSON URL to import data from and click Continue.

JSON URL consists of the base API URL attached with the resource that defines the type of data to return. 

For example, the following JSON URL will return a list of all Coda docs accessible by the user:

https://coda.io/apis/v1/docs

Here is a list of available data entities and resources.

  • HTTP method – use GET as the HTTP method.
  • HTTP headers – insert the following string:
Authorization: Bearer {API-token}

How to get a Coda API token

Open https://coda.io/account, scroll down to the bottom, and click Generate API token.

You’ll need to name your token and click the button once again.

Now you can copy your API token and paste it in the string. For example:

Authorization: Bearer 74ffb3df-2a83-42c1-57ab-923b082047ca

Click Proceed to Destination Settings.

Step 2: Destination

  • Destination account: add your Google account. 
  • Spreadsheet: select your Google Sheets doc and the sheet in it that will be receiving the data. 

Click Proceed to Schedule Settings.

Step 3: Schedule

  • Automatic Data Refresh: you can automate data import from Coda.io to Google Sheets on a custom schedule. To do this, toggle on Automatic data refresh and configure the schedule.

Click Save and Run to import your data. Once the import is completed, you will see details such as how many rows were imported and when the last run was made. 

In order to see the data in your spreadsheet, click the Open button and the destination Google Sheets document with the data imported from Coda will open in a new tab of your browser.

What data you can import from Coda to Google Sheets

Data entityResource
Basic info about the current user..../whoami
All available doc categories..../categories
List of Coda docs accessible by the user..../docs
Metadata for the specified doc..../docs/{docID}
List of pages in the specified doc..../docs/{docID}/pages
Details about the specified page..../docs/{docID}/pages/{pageID*}
List of tables in the specified doc..../docs/{docID}/tables
Details about the specified table or view..../docs/{docID}/tables/{tableID*}
List of columns in the specified table..../docs/{docID}/tables/{tableID*}/columns
Details about the specified column in the specified table..../docs/{docID}/tables/{tableID*}/columns/{columnID*}
List of rows in the specified table..../docs/{docID}/tables/{tableID*}/rows
Details about the specified row in the specified table..../docs/{docID}/tables/{tableID*}/rows/{rowID*}
List of named formulas in the specified doc..../docs/{docID}/formulas
Details about the specified formula..../docs/{docID}/formulas/{formulaID*}
List of controls in the specified doc..../docs/{docID}/controls
Details about the specified control..../docs/{docID}/controls/{controlID*}
List of permissions for the specified doc..../docs/{docID}/acl/permissions
Metadata associated with access control lists for the specified doc..../docs/{docID}/acl/metadata

*Instead of the ID, you may use the name of a page/table/column/row/formula/control. However, we do not recommend this, since ID is a constant value, whereas names can be easily changed by users. If you’re using a name, be sure to URI-encode it.

How to import tables from Coda to Google Sheets

Now you know how you can export specific data entities from Coda to Google Sheets, let’s put this knowledge into practice. We have a Coda board, called Content board, with a number of columns such as Backlog, Next Up, In Progress, etc.

We need to import all rows with the Next Up status that are on this Content board. To do this, you’ll need to complete the following steps:

  • Import a list of docs from Coda.
  • Import a list of tables in the necessary doc.
  • Import a list of rows in the specified table filtered by the Status column with the ‘Next Up’ value.

So, basically, you’ll need to set up three JSON Client importers one by one using Coupler.io. We’ll explain the details below.


Optionally, you can use this Coda to Google Sheets template with the preinstalled importers. 

For this, you’ll need to install the Coupler.io Google Sheets add-on from the Google Workspace Marketplace and follow the instructions explained in the Readme.


Import a list of docs from Coda

Use the following Source configuration to set up the first importer:

  • Application: JSON Client
  • JSON URL: 
https://coda.io/apis/v1/docs
  • HTTP method: GET
  • HTTP headers:
Authorization: Bearer {your-API-token}

Click Save and Run and welcome your data into the spreadsheet. Find the ID of the doc you need and use it to import a list of tables.

Import a list of tables in the specified Coda doc

Use the following Source configuration to set up the second importer:

  • Application: JSON Client
  • JSON URL: 
https://coda.io/apis/v1/docs/{docID}/tables
  • HTTP method: GET
  • HTTP headers:
Authorization: Bearer {your-API-token}

Click Save and Run, open your spreadsheet and find the ID of the table you need. You will use it to import rows from the table.

Import a list of rows in the specified Coda table

Ideally, you would first import a list of columns in the specified table, and then import a list of rows filtered by a particular column. However, you can skip this step and learn the column name right in Coda.io. For this, check out what your cards are grouped by on your board. For example, the cards on our board are grouped by Status – this is the name of the column to filter by. 

Now, we can set up the third importer:

  • Application: JSON Client
  • JSON URL: 
https://coda.io/apis/v1/docs/{docID}/tables/{tableID}/rows
  • HTTP method: GET
  • HTTP headers:
Authorization: Bearer {your-API-token}
  • URL query string:
query: {columnName}:"{value}"
useColumnNames: true
sortby: "Created on"

Click Save and Run, and there you go!

If you want to get the updated data every week or every month, enable the Automatic data refresh and enjoy the auto-export of your Coda.io entries. 

Coda to Google Sheets integration

The described flow does not require you to code, but still it may seem a bit onerous. If you feel that you need to have a ready-to-use Coda to Google Sheets integration, like Coupler.io has for Jira or Trello, tell us about this – fill out this form. The list of Google Sheets integrations is getting longer and you can contribute to it. Good luck!

Back to Blog

Comments are closed.

Access your data
in a simple format for free!

Start Free