Skip to content

Adopt

5 surfaces

Surfaces

Integrations

Strategy & Discovery

2
VistalyProductboard

Research & Insights

1
Dovetail

Knowledge & Docs

1
Notion

Design

1
Figma

Analytics

1
PostHog
Knowledge & DocsBeta

Coming from Coda

50% entity overlap

Import

Coda tables become typed UPG entities using the same name-inference pattern as Notion, but with Coda's formula model.

The structural finding

Coda's table structure maps to UPG the same way Notion databases do: table name determines entity type. A 'Features' table becomes feature nodes; an 'Opportunities' table becomes opportunity nodes. Lookup columns become UPG edges.

What UPG adds

1

Typed semantic relationships: Coda lookup columns become named UPG edges, not anonymous table links.

2

Graph traversal: query across your Coda tables in one call, from personas → jobs → opportunities → features.

3

Portability: your Coda workspace becomes a git-tracked .upg file.

Schema mapping

Direct matches
Table (named "Opportunities")opportunityTable name determines entity type
Table (named "Features")feature
Table (named "Personas")persona
Lookup column(typed edge, inferred from column name)
Page (standalone)document
Maps with caveats
Table (generic name)documentAdapter prompts user to assign entity type
What UPG adds
hypothesisexperimentresearch_studymetric
Skipped:Formulas · Automations · Buttons

The key edge

The single most important semantic relationship this integration enables.

opportunity_drives_solution

Defined in the UPG specification

Sample import

A Coda doc with product tables: Opportunities, Features

Input (from Coda)
Output (UPG nodes)
Table
Opportunities
Name infers entity type
opportunity
Users can't find their draft work
Table row
Users can't find their draft work
feature
Persistent drafts sidebar
opportunity_drives_solution
Table row (Features)
Persistent drafts sidebar
Lookup → opportunity link becomes edge

Roundtrip

API ROUNDTRIPPlanned
Coda ──import──▶ UPG ──enrich──▶ UPG ──push via REST──▶ Coda

Import Coda tables → enrich entities in UPG → push enriched rows and relationships back to Coda via API.

Writes back
  • ·UPG graph entities pushed back as new Coda table rows
  • ·Edge relationships written back as Coda lookup column values
  • ·Enriched opportunity and outcome context added to existing rows

How to import your Coda data

Via the CLI (coming soon)

The Coda adapter is built and tested. A one-command import via the UPG CLI is in development:

npx unified-product-graph import --from coda

This will fetch your Coda data, map entity types automatically, and write everything to your graph. Today you can use the Markdown import or the adapter directly in code.

▸ For developers: use the adapter directly
import { CodaAdapter } from '@unified-product-graph/adapters'
// Pass pre-fetched Coda data as SourceItem[]
const adapter = new CodaAdapter()
const result = await adapter.convert(items)
// result.nodes → typed UPG entities
// result.edges → canonical relationships
// result.warnings → items needing review

Get started

The Coda adapter ships in @unified-product-graph/adapters. Install it, then run the import command.

# one-time install
$ npm install -g unified-product-graph

# then import
$ upg import --from notion

Other tools in Knowledge & Docs

← All integrations