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
Strategy & DiscoveryBeta

Coming from Miro

25% entity overlap

Import

OSTs and opportunity maps drawn in Miro become queryable UPG nodes: frame labels determine entity type.

The structural finding

Miro is the most common tool where UPG entities already exist as sticky notes in frame containers. The adapter reads frame labels to type the contents: stickies in an "Opportunities" frame become opportunity nodes, stickies in an "Insights" frame become insight nodes.

What UPG adds

1

Queryability: your Miro board becomes a graph you can traverse. ("show all opportunities without a linked solution.")

2

Portability: your visual strategy artefacts become a git-tracked .upg file that survives Miro plan changes.

3

Cross-tool links: Miro opportunities connected to Dovetail research, Jira delivery, and PostHog metrics.

Schema mapping

Direct matches
Sticky Note (in research frame)observation
Frame grouping themesaffinity_clusterFrame label determines entity type
Card (action framing)task
Embed (Figma prototype)prototype
Maps with caveats
Frame (wireframe-labelled)wireframeWhen frame name contains "wireframe" or "sketch"
Card (decision framing)decisionContext-dependent; title must signal a decision
Board (as research artefact)research_studyLoose match; research_study has richer metadata
What UPG adds
insightopportunitypersonahypothesisresearch_plan
Skipped:Geometry / position data · Style (fillColor, borderColor) · Board sharing policies

The key edge

The single most important semantic relationship this integration enables.

opportunity_pursues_outcome

Defined in the UPG specification

Sample import

Miro affinity mapping board: Sticky notes → Clusters → Insight

Input (from Miro)
Output (UPG nodes)
Sticky Note (in "Pain Points" frame)
I never know if my changes saved
observation
I never know if my changes saved
research_study_clusters_into_affinity_cluster
Sticky Note (in "Pain Points" frame)
Had to re-do work twice because of no autosave
observation
Had to re-do work twice because of no autosave
research_study_clusters_into_affinity_cluster
Frame (theme cluster)
Save Reliability
affinity_cluster
Save Reliability
affinity_cluster_synthesises_insight
Card (insight)
Users distrust the save state of the application
insight
Users distrust the save state of the application
insight_informs_opportunity

How to import your Miro data

Via the CLI (coming soon)

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

npx unified-product-graph import --from miro

This will fetch your Miro 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 { MiroAdapter } from '@unified-product-graph/adapters'
// Pass pre-fetched Miro data as SourceItem[]
const adapter = new MiroAdapter()
const result = await adapter.convert(items)
// result.nodes → typed UPG entities
// result.edges → canonical relationships
// result.warnings → items needing review

Get started

The Miro 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 Strategy & Discovery

← All integrations