The Scenario
Your data team maintains a 50-term business glossary in a Google Sheet — term names in column A, definitions in column B. Someone finally got Metabase upgraded to a version that includes the glossary feature. The request is sitting in your queue: push the glossary into Metabase so analysts can see definitions natively when they hover over fields in questions and dashboards. You have the data. You just need it in Metabase.
The bad version:
- Open Metabase, navigate to the Data Reference or Glossary section, click New Term.
- Type the first term name, paste the definition, save.
- Click New Term again. Type the second term. Paste the definition. Save.
- Repeat 48 more times.
At roughly 90 seconds per term, that's 75 minutes of copy-paste for content that already exists in a spreadsheet. The only thing missing is an automated path between column A and Metabase's glossary API.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It can read term names and definitions from the sheet and create Metabase glossary entries in bulk — writing a status note into the sheet for each row when done.
For each row in this sheet, create a Metabase glossary entry using the term name in column A and definition in column B — write 'created' into column C when done
What You Get
- One Metabase glossary entry created per row.
- Column C receives "created" for each successful row — a simple confirmation that the entry exists.
- If a creation fails (duplicate term, API error), column C gets an error note for that row rather than a silent skip.
- Analysts can immediately see the definitions natively inside Metabase questions and dashboards.
What If the Data Is Not Quite Ready
Some definitions are too long and need to be trimmed
Read glossary terms from column A and definitions from column B. If any definition in column B is longer than 500 characters, write the first 497 characters followed by '...' into a staging column D, then create the Metabase glossary entry using the text in column D. Write 'created' or 'trimmed+created' into column E accordingly.
The long definitions get trimmed automatically — you can review column D later to rewrite them properly rather than letting them fail silently.
You want to skip any rows where column B is blank
For each row in this sheet where column B is not blank, create a Metabase glossary entry using the term in column A and definition in column B. Write 'created' into column C. For any row where column B is blank, write SKIPPED in column C.
The blank-definition rows are logged and skipped. You get a clean status column that shows exactly what was created and what needs a definition added.
You want a dry-run first — list what would be created without creating anything
Read all rows in this sheet where columns A and B are both non-blank and write a preview into Sheet2: term name, definition length in characters, and a note of whether a glossary entry with that name already exists in Metabase
The dry-run output lets you catch duplicates and blank-definition gaps before touching the Metabase glossary.
Full bulk import with error handling in one shot
For each row in this sheet where column A and column B are both non-blank, create a Metabase glossary entry using the term in column A and definition in column B. Write 'created' into column C on success, the error message into column C on failure, and 'SKIPPED - blank definition' for any row missing column B. In a Summary tab, write total rows processed, total created, total failed, and total skipped.
One prompt, complete import with full status tracking. The summary tab gives you the import receipt.
Try It
Get the 7-day free trial of SheetXAI and open the Google Sheet with your business glossary, then ask it to push every term into Metabase in one pass. Also useful: scaffolding Metabase collections and dashboards from a sheet, and the hub overview on connecting Metabase to Google Sheets.
