Linking Coda as a source

Alpha release

The Coda source is currently in alpha. It has been tested against Coda's API documentation but not yet validated with live credentials. If you run into issues, please let us know.

The Coda connector syncs your Coda docs, tables, and rows into PostHog. Once linked, you can query your Coda data alongside your product analytics data using SQL.

Linking Coda

  1. In Coda, go to your account settings and generate an API token. The token only has access to docs its creator can access.
  2. In PostHog, go to the Data pipeline sources page, click + New source, and then click Link next to Coda.
  3. Paste your API token.
  4. Click Next, choose the tables you want to sync, and then click Import.

Once the sync completes, you can start querying your Coda data in PostHog.

Configuration

OptionTypeRequired
API tokenpasswordYes

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
docs

A Coda doc — the top-level document containing tables, pages, and content.

Full refresh
tables

A table within a Coda doc, holding a set of columns and rows.

Full refresh
rows

A row in a Coda table, with its cell values keyed by column.

Full refresh

Available tables

Coda's data model is hierarchical: docs contain tables, and tables contain rows. PostHog injects parent linkage fields (_doc_id, _table_id) to form composite primary keys, since table and row IDs are only unique within their parent.

TableDescriptionPrimary keys
docsAll documents in your workspaceid
tablesTables within each document_doc_id, id
rowsRows from every table of every document, with cell values keyed by column name_doc_id, _table_id, id

The rows table is a two-level fan-out endpoint — PostHog fetches all your docs, then all tables within each doc, then all rows within each table.

Sync limitations

  • Full refresh only – Coda's list endpoints don't support updated-since filters, so every sync re-downloads all data. Incremental and append-only syncing aren't available.
  • Rate limits – Coda caps doc listing at 4 requests per 6 seconds, which means large workspaces with many docs sync slowly. PostHog automatically spaces requests to stay within these limits.

Community questions

Was this page useful?

Questions about this page? or post a community question.