Capabilities
get_column_level_lineage traces one column’s value path. Identify the model by name or by itsunique_id, name the column, and optionally set how far to walk:
It returns the edges of the value path. Each edge names where the value came from, where it went, how it was transformed, and the expression responsible, for example
SUM(amount). Endpoints are written <unique_id>.<column>; an endpoint with no column means the value affected which rows came back rather than the value in a specific field.
An answer is capped at 150 nodes and 400 edges. Past that the tool says it truncated and how to narrow the question, rather than silently returning part of the graph.
Scope is your production environment plus any connected integrations, including dbt™ Mesh projects. For lineage at model grain, which models depend on which, use the dbt™ Discovery
get_lineage tool instead. The two are split on grain, not on data source.Where you can use it
- Copilot, in the right panel of the Code IDE.
- Agents: programmable agents, the Slack agent, and Bolt agents. In the agent builder the tool sits in the Lineage group.
- MCP clients, over the MCP server, which requires the production lineage access right.
Using the Column-Level Lineage Tool
- Open DinoAI, or message an agent that has the tool.
- Provide the model name and the column you want to trace.
- Add your prompt describing what you want DinoAI to do with the lineage results.
- Review DinoAI’s findings and apply them to your development work.
Example Use Cases
Tracing a Column’s Upstream Sources PromptWhen the tool cannot answer
The tool distinguishes between the ways a trace can come up empty, because the next step differs for each:
Nodes whose SQL was only partly parsed carry that parse status into the answer, so a gap in the graph is never presented as a complete one.
Working with Other Tools
The Column-Level Lineage Tool works well alongside DinoAI’s other capabilities to support your full development workflow:- Combine with the Catalog Search Tool to first discover the right model or column, then trace its lineage
- Combine with the SQL Execution Tool to validate query logic against columns you’ve traced through lineage
- Combine with the Google Docs Tool or Notion Tool to cross-reference lineage findings against your data modeling specs
- Use alongside Git Lite to commit and push lineage-informed changes before opening a pull request
Best Practices
Be specific with model and column names. An exact model name avoids the disambiguation round trip. If you already have aunique_id, for example from a catalog search, pass that instead.
Start shallow. The default depth of 2 answers most impact questions. Raise it only when the trace stops short of what you were looking for, since a deeper walk costs more tokens and is likelier to hit the cap.
Build the catalog first. Lineage comes from your catalog build, so a column added very recently may not appear until the next one has run.
Verify complex graphs. For models with many upstream dependencies, review DinoAI’s lineage summary carefully before making structural changes.