Create an exposures.yml file in your models directory; define an exposure with name, type (dashboard, notebook, analysis, ml, application, or other), owner (name and email), and depends_on listing the dbt models or sources it consumes: depends_on: - ref('fct_orders') - ref('dim_customers')
Add optional metadata fields: label (display name), description (what the exposure is for), url (link to the BI dashboard or notebook), maturity (high, medium, low) to indicate how production-ready the exposure is
After adding exposures, run dbt docs generate and dbt docs serve to view the lineage graph; exposures appear as terminal nodes in the DAG showing which dbt models feed which downstream consumers
Use exposures in CI to scope dbt builds: dbt build --select +exposure:my_dashboard builds all upstream models and sources that feed the specified exposure, ensuring nothing upstream breaks before the dashboard is affected
Keep exposures up to date as dashboards evolve; stale exposure definitions that reference deleted models will cause dbt parse errors — treat exposure files as living documentation with the same rigor as model YAML files
Known gotchas
Exposures do not enforce anything at the warehouse level — they are purely metadata and documentation; a BI dashboard can still query a model that is not listed as a dependency in any exposure, so exposures only reflect what you explicitly document
The depends_on field in exposures uses ref() and source() syntax but these are resolved at parse time; if a referenced model is renamed or deleted without updating the exposure YAML, dbt parse will fail for the entire project
dbt docs generate must be run to update the lineage graph after adding or modifying exposures; the docs site does not auto-update from the YAML — ensure your CI/CD pipeline regenerates and republishes docs on each merge
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp