Ingest Exposures from dbt
Collate reads dbt exposures from your manifest.json file and uses them to extend lineage from your dbt models to the dashboards, ML models, and API endpoints that consume them.
Tip: The downstream entity referenced by an exposure must already exist in Collate before the dbt ingestion runs. Collate matches it by Fully Qualified Name (FQN). If Collate can’t find a match, it logs a warning and skips the exposure.
Supported Exposure Types
Collate maps each dbt exposure to a Collate entity based on its type field. Any other type value is skipped during ingestion.
How to Ingest dbt Exposures
Follow these steps to link a dbt exposure to an existing Collate entity.
Step 1: Define the Exposure in Your dbt Project
Add the exposure definition to your dbt project and set the FQN of the matching Collate entity.
Define the exposure in your dbt project (for example in models/exposures.yml) and set meta.open_metadata_fqn to the Fully Qualified Name of the corresponding entity already ingested in Collate.
For more information on defining exposures, see Add Exposures to your DAG.
After adding the exposure, run your dbt workflow (dbt compile or dbt run). The generated manifest.json will include the exposure under the exposures key, with upstream models listed under depends_on → nodes:
Step 2: Verify
Confirm the linked entity appears as a downstream node in the lineage graph after ingestion completes.
Once ingested, the linked dashboard, ML model, or API endpoint appears as a downstream node in the Lineage tab of the upstream dbt table listed under depends_on.
Validation and Error Handling
What Collate does when an exposure can’t be linked to a Collate entity.