Hey Coda Makers! ![]()
I built something for my own workflow and wanted to share it with the community to see if others find it useful, and to get your feedback on how to make it better. This is just a preview/demo. Thanks for your feedback!
FetchCodaData() lets you pull live data from any Coda table using a simple formula. No Sync Tables, no Cross-doc - just a formula that returns JSON or CSV.
My questions for you
- Would this be useful? How?
- Is there another method that’s better?
The Formula
The formula fetches the data on demand and returns it as a structured string you can parse, display, or feed into other formulas.
=FetchCodaData(
docId: "d9bejBCT965",
tableId: "grid-pqRst-U",
columnIds: "c-f928331,c-f1298392",
filter: 'c-f928331:"Active"',
format: "json"
)
Why I built this
I manage dashboards for several clients, each with their own Coda doc containing their data. I wanted a central “hub” doc that could:
-
Pull the latest data from each client’s doc
-
Dynamically build prompts with that data
-
Send those prompts to Claude AI
-
Get back interactive HTML/CSS/JS dashboards
With this Pack, that entire pipeline is automatic and always uses the freshest data.
How it’s different from Cross-doc
-
Cross-doc: Sync Tables that periodically refresh on a schedule. Great for keeping docs in sync, but requires manual setup for each table and doesn’t give you raw, on-demand access to the data.
-
FetchCodaData: Formula-based, on-demand fetching. No syncing, no tables—just call the formula when you need fresh data. Perfect for dynamic workflows, one-time queries, or feeding data into other processes.
Key features
- Flexible filtering - Use Coda’s query syntax to filter rows (e.g.,
c-f928331:"Active"orc-f902194:>10000) - JSON or CSV output - Choose the format that works best for your use case
- Auto-pagination - Handles up to 5,000 rows across multiple API calls automatically
- Rich metadata - Every row includes row ID, name, browser link, and timestamps
- Hybrid authentication - Use your Coda account by default, or pass an API key for multi-doc access
- Smart error handling - Returns partial data with warnings if timeouts occur
Real-world use cases
Here’s where I think this could be valuable:
- AI/LLM integration: Fetch fresh data, build prompts dynamically, and generate AI-powered outputs (my main use case!)
- Multi-client workflows: Pull data from different client docs into a central dashboard for unified reporting
- Cross-doc aggregation: Combine tables from various sources for analysis without maintaining Sync Tables
Current limitations
Being transparent about what this doesn’t do (yet):
-
Column IDs required: You need to know the column IDs (like
c-abc123), not just column names. The metadata includes the mapping, but it’s not as user-friendly as typing “Name” or “Status.” -
Filter syntax: Uses Coda’s API query format, which supports single equality/comparison operators but not complex AND/OR chains.
-
Max 5,000 rows: API and performance limitations cap the results.
-
50-second timeout: Long-running requests may return partial data with warnings.
Output format examples
JSON format:
{
"data": [
{
"_rowId": "i-abc123",
"_rowName": "Alice Cooper",
"c-f928331": "Active",
"c-f938210": 45000
}
],
"metadata": {
"rowCount": 150,
"timestamp": "2025-10-20T15:45:30Z"
}
}
CSV format:
# Source: Doc AbCD, Table grid-xyz
# Rows: 150
_rowId,_rowName,c-f928331,c-f930738
i-abc123,Alice Cooper,Active,45000
Next steps
If there’s interest, I’m happy to:
-
Polish the documentation
-
Add the features you suggest
-
Publish it properly to the Pack Gallery
-
Create example docs showing common use cases
For now, I’m treating this as a preliminary launch to gather feedback. Is this something you’d find useful? What would make it genuinely valuable for your workflows?
Thanks for reading, and I look forward to your thoughts! ![]()

