icon picker
About

info
This is an experimental Coda Pack that lets you fetch live data from any Coda table on demand with a pack formula, no Sync Tables required. Enter the docid, tableid, columids (or leave blank for “all”), and an optional filter, and receive back a JSON array or CSV table of each row.
My main use case: I have several clients who want their data visualized in a daily dashboard, in a more custom UI than Coda. Each client has their own Coda doc with their data. I have a central "hub" doc that pulls each client's table, formulaically builds a prompt, and sends it to Claude LLM, which returns back an interactive HTML/CSS/JS dashboard using the most up-to-date data. With this Pack, that entire pipeline is automatic.

Questions

Would this be useful? How?
Is there already a better solution?

Documentation

The Formula

FetchCodaData(
account,
docId,
tableId,
columnIds?,
filter?,
format?,
maxRows?,
codaAPIKey?
)

Features

Filter: Filters the rows returned. A string, e.g. “c-f928331: ’Active’” or “c-a1b2c3d:>100”.
Uses , which allows single equality or comparison operators (>, <, >=, <=), but not complex AND/OR chains via the API query param.
CSV or JSON Response: Use the format parameter to choose
Column IDs & Names: Column IDs (c-f928331) are permanent identifiers Coda assigns. They never change, even if you rename the column. The metadata includes the mapping so you can translate them to human-readable names if needed.
Hybrid auth: Uses your normal Coda account by default, but you can also pass an API key as text string.
Row metadata: each record comes with _rowId, _rowName, _browserLink, timestamps.
Pagination: The Coda API paginates its response. This pack automatically fetches all pages, up to your limit.
Error Handling for DEADLINE_EXCEEDED: Returns partial data with warnings if it hits the 50s window.

Response Formats

json

Data always returns as an array of flat row objects, not nested JSON. Each row is a simple key-value object where keys are column IDs.
{
"data": [
{
"_rowId": "i-abc123",
"_rowIndex": 0,
"_rowName": "Alice Cooper",
"_browserLink": "https://coda.io/d/...",
"_createdAt": "2025-01-15T10:30:00Z",
"_updatedAt": "2025-10-20T14:22:00Z",
"c-f928331": "Active",
"c-a1b2c3d": 45000,
"c-xyz9999": "USA"
},
{
"_rowId": "i-def456",
"_rowIndex": 1,
"_rowName": "Bob Dylan",
"_browserLink": "https://coda.io/d/...",
"_createdAt": "2025-02-01T09:15:00Z",
"_updatedAt": "2025-10-18T11:05:00Z",
"c-f928331": "Inactive",
"c-a1b2c3d": 32000,
"c-xyz9999": "Canada"
}
],
"metadata": {
"rowCount": 2,
"docId": "AbCDeFGH",
"tableId": "grid-pqRst-U",
"timestamp": "2025-10-20T15:45:30Z",
"columnsRequested": "c-f928331,c-a1b2c3d",
"filterApplied": "c-f928331:\"Active\""
}
}

CSV

# Source: Doc AbCDeFGH, Table grid-pqRst-U
# Rows: 2
# Generated: 2025-10-20T15:45:30Z
# Filter: c-f928331:"Active"

_rowId,_rowIndex,_rowName,_browserLink,c-f928331,c-a1b2c3d,c-xyz9999
i-abc123,0,Alice Cooper,https://coda.io/d/...,Active,45000,USA
i-def456,1,Bob Dylan,https://coda.io/d/...,Inactive,32000,Canada
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.