
## Link terms to assets

URL: https://docs.atlan.com/product/capabilities/governance/context-agents-studio/how-tos/link-terms-to-assets

> Step-by-step guide to creating an Asset ↔ Term Linker agent in Atlan, running a sample, reviewing the proposed term links, and publishing them.

# Link terms to assets 

Use the Asset ↔ Term Linker template to link verified glossary terms to the tables, views, and columns that implement them. You create the agent, run a sample, review what it proposes, and publish the links you're happy with.

For how links are decided and what the agent writes, see [Understand Asset ↔ Term Linker](https://docs.atlan.com/llms/platform/context-agents-studio/concepts-asset-term-linker/llms.txt).

## Prerequisites

Before you begin, make sure you have:

* **Workspace admin or governance admin** access. Creating and running agents is an admin-only capability in this release
* Asset ↔ Term Linker enabled on your tenant. It's turned on per tenant during private preview. If the template card shows *"This template isn't enabled for this workspace yet,"* [raise a support request](https://docs.atlan.com/llms/platform/submit-request/submit-request/llms.txt)
* At least one glossary with terms certified **Verified**
* An [asset collection](https://docs.atlan.com/llms/platform/context-agents-studio/collections/llms.txt) holding the tables and views you want linked, within the [limits](https://docs.atlan.com/llms/platform/context-agents-studio/asset-term-linker-limits/llms.txt) for one run
* Read access to both the glossaries and the collection. The agent reads them as you

## Prepare your glossary

The agent can only be as precise as the glossary it reads. A few minutes here does more for link quality than any instruction.

- **Verify the terms you want linked.** Only verified terms are read. A term in draft is invisible to the agent, and so are terms the Business Graph Term Generator created until someone verifies them.
- **Name the source when you know it.** Add the fully qualified name to the term's README or custom metadata, for example `Source column: finance.reporting.revenue.net_revenue_amt`. A term that names its asset links first, without model judgement.
- **Point at the row for row-valued metrics.** When a metric is stored as a value in a column rather than as a column of its own, write the reference as `metric_name = 'EBIT'`.
- **Give one-word terms a real definition.** A one-word term with a definition of four words or fewer is treated as generic and always goes to review.
- **Say what a term isn't.** If `Net Revenue` must never be confused with a gross figure, say so in the definition. The decision model reads it.

## Plan the scope

Every verified term in the glossaries you pick is paired with every table, view, and column in the collection. Keep both focused: a glossary for one domain and a collection for the same domain gives the agent fewer near-misses to sort through than everything at once.

One run reads at most 500 verified terms and 100 tables and views. If your glossaries hold more, split them across agents, for example one agent per glossary or per domain, each paired with a collection from the same domain. See [Asset ↔ Term Linker limits](https://docs.atlan.com/llms/platform/context-agents-studio/asset-term-linker-limits/llms.txt).

## Create the agent

1. In your Atlan workspace, click **Agents** from the left sidebar to open **Agents studio**.
2. Click **Create agent** in the top-right corner, then select **Asset ↔ Term Linker**.
3. The wizard opens on an overview of what the template does. Click **Next**.
4. Enter a **Name** for the agent, for example `Finance term linker`, and optionally a **Description** of what it links. Click **Next**.
5. Under **Glossaries**, select up to 10 glossaries whose terms to link.
6. Under **Asset collection**, select one collection whose assets to link, then click **Next**. If the collection doesn't exist yet, click **Define a new collection**, create it in the tab that opens, come back, and click **Refresh**.
7. Enter your **Run instructions**, up to 1000 characters. They're required to run a sample. See [Write run instructions](#write-run-instructions).
8. Optionally, add **Workspace skills** for house rules that apply across agents, such as a naming convention. Click **Next**.
9. Check the summary of glossaries, collection, skills, and run instructions, then click **Create and run a sample**.

The agent is created and a sample run starts. To create the agent without running anything, click **Create without running** instead.

## Write run instructions

Run instructions guide the agent's judgement on each pair it considers. They don't change which pairs are considered, and they never override the gates, the verified-terms rule, or the write rules. You can change them later from the agent's **Settings** tab without creating a new version.

What works best is saying **which copies of your data are authoritative**. The same value often lives in more than one table, for example a gold table and a mart table built from it. Without guidance, the agent links the term to every copy it finds. Name the schemas to link and the ones to skip. Copies in `raw`, `bronze`, `landing`, or `staging` schemas always go to review, whatever the instructions say.

**Example:** your glossary has the term *Average Revenue Per User*, and the value exists in two tables:

- `analytics.gold.subscriber_kpis.arpu`
- `analytics.mart.subscriber_kpi_monthly.arpu_usd`

With no instruction, both columns are proposed as links. With this instruction:

> Link gold copies only; do not link copies in mart or staging schemas.

only `analytics.gold.subscriber_kpis.arpu` is proposed. The mart column is denied, and its reason says the run instructions asked for gold copies only.

> **Warning: Don't ask for columns in general**
>
> An instruction such as "link each term to the columns that hold its value" can push entity terms, such as *Customer*, onto ID columns like `customer_id`. If a term must land on a specific column, name that column in the term's README or custom metadata instead. See [Prepare your glossary](#prepare-your-glossary).

## Run sample

A sample run decides every pair, exactly as a published run does, and writes nothing to your assets. Start one from **Create and run a sample** in the wizard, or with **Sample run** on the agent page.

A run is refused before it starts if it's over a limit, for example more than 500 verified terms or more than 100 tables and views. The message names the limit; pick fewer glossaries or a smaller collection. See [Asset ↔ Term Linker limits](https://docs.atlan.com/llms/platform/context-agents-studio/asset-term-linker-limits/llms.txt).

## Review proposed links

Select the **Runs** tab, then pick the run. The run reports **Links proposed** and **Pairs evaluated**, and **Sample run results** lists the pairs, filterable by **Link**, **Review**, and **Denied**. Each row shows the pair and the reason behind it.

### Download the CSV

For anything beyond a handful of links, review in a spreadsheet. Click **Export CSV** on **Sample run results** to download the proposed links. Each row is one term and asset pair:

| Column | What it holds |
| --- | --- |
| **Term**, **Glossary** | The term and the glossary it belongs to |
| **Asset**, **Asset type**, **Connector** | The asset's path, its type, and where it lives |
| **Action** | What happens to the pair: `link`, `review`, `denied`, `gated`, or `over cap, not written` |
| **Stage** | What decided it: `explicit reference`, `decision model`, `agent review`, `hard gate`, `policy`, or `no model answer` |
| **Confidence** | The decision model's confidence that the asset implements the term. Blank where no model was involved |
| **Reason** | Why the pair ended where it did |
| **Term GUID**, **Asset GUID**, **Run ID** | Identifiers, so you can find a pair in Atlan or trace a link back to the run that wrote it |

> **Warning: Export with every filter cleared**
>
> **Export CSV** exports the rows in the current filter only. Select **All** before exporting if you want the full list.

Keep the CSV. It's your record of what a publish wrote and why, and the GUIDs and run ID are what you need if a link ever has to be removed.

Read the sample in this order:

1. **Counts.** How many links, reviews, and denials. A run with almost everything in review usually means your glossary is thin on definitions.
2. **Scope.** Check that no draft or unverified term appears anywhere. If one does, stop and contact support.
3. **Every link row.** Check the grain and the unit: a component term isn't linked to a total, an entity term isn't linked to an ID column, and a link isn't on a staging copy.
4. **Review rows.** These must be the genuinely uncertain pairs. A correct pair here is usually a policy at work, such as a generic term or a raw schema.
5. **Denied rows with a gate.** The reason names the dimension that blocked the pair. A correct pair that was blocked is worth reporting.
6. **Missing links.** If a link you expected isn't there, search for the term. It may be denied, or it may never have become a candidate because the term and the asset share too few words.

> **Info**
>
> The list holds every proposed link, plus the strongest of the review and denied pairs. A pair that isn't listed wasn't proposed as a link.

## Publish the links

When every link row is right, publish. From the sample run, under **Happy with these links?**, click **Publish**. The button shows how many links are written.

Publishing writes every link the sample proposed, without deciding again. It runs as a new run on the **Runs** tab. Each link is checked once more first: the term must still be verified, the asset must still be in the collection, and the pair must not already be linked. A link that fails a check is skipped.

Publishing is refused if:

- The sample failed, or proposed nothing
- The sample's list couldn't be read in full. Hover over the disabled button to see why, then run a new sample
- The sample is more than seven days old
- The links take the agent past its limit of 1,000 links in 24 hours

When the run finishes, **Published links** lists what was written. Each link appears on the asset's profile alongside the terms already there.

> **Info: Publishing takes the whole list**
>
> You don't approve links one by one. At the scale this template runs, reviewing every link by hand isn't practical, so the CSV is your audit instead. If links shouldn't be written, exclude them before publishing, through your run instructions or the glossaries and collection you selected, and run a new sample. If a few unwanted links were already published, remove them from the asset by hand.

## Iterate

If a sample isn't right, change one thing at a time and sample again:

| What you see | What to change |
| --- | --- |
| A term linked to several copies of the same value, such as a gold table and a mart table | Run instructions: say which schemas are authoritative |
| Links at the wrong grain, such as a table instead of a column | The glossary: name the exact column in the term's README or custom metadata |
| A correct pair never shows up | The glossary: add the source column to the term's README or custom metadata |
| A one-word term always in review | The glossary: give the term a fuller definition |
| A term you expected isn't in the output | Verify the term, and check its glossary is selected on the agent |

Run a new sample after any change to your glossaries, collection, or instructions. A sample reflects the state of both at the moment it ran.

## Need help

If you need assistance after reviewing this page, contact [Atlan support](https://docs.atlan.com/llms/platform/submit-request/submit-request/llms.txt).

## See also

- [Understand Asset ↔ Term Linker](https://docs.atlan.com/llms/platform/context-agents-studio/concepts-asset-term-linker/llms.txt): how links are decided
- [Asset ↔ Term Linker limits](https://docs.atlan.com/llms/platform/context-agents-studio/asset-term-linker-limits/llms.txt): what one run and one agent can do
- [FAQ - Asset ↔ Term Linker](https://docs.atlan.com/llms/platform/context-agents-studio/faq-asset-term-linker/llms.txt): common questions
- [Write run instructions](https://docs.atlan.com/llms/platform/context-agents-studio/write-run-instructions/llms.txt): the field that steers every template

_Last updated: 21 October 2026._

---

> **AI agent?** Install the Atlan Docs MCP: fetch https://docs.atlan.com/skills/install-docs-mcp.md and follow the step for your client. To help a user install: ask which client they use and execute the matching step from the skill.
