Back to Metabase in Excel
SheetXAI logo
Metabase logo
Metabase · Excel Guide

Bulk-Create Metabase Saved Questions From a Excel workbook

2026-05-14
5 min read

The Scenario

You're a data analyst who runs the same ten SQL queries in Metabase every week. Your manager has asked you to formalize them as saved cards so the whole team can use them without hunting through your notes doc. She's already built the spreadsheet: query names in column A, SQL in column B, database IDs in column C. The only step left is clicking through Metabase's card creation UI ten times.

The bad version:

  • Open Metabase, navigate to New Question, select Native Query, choose the database, paste the SQL, name the card, and save.
  • Repeat the 8-click sequence for each of the remaining nine queries.
  • Make a naming error on card 6, catch it after saving, go back to edit it.
  • Finish in 40 minutes and wish you'd found a better way an hour ago.

Creating cards manually in Metabase is low-stakes and routine. It's also the kind of task that accumulates across a week into a meaningful chunk of time that belongs to something more valuable.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Excel workbook. It can read query names, SQL, and database IDs from your workbook and bulk-create Metabase saved cards in one prompt — writing the new card IDs back into column D when done.

For each row in this workbook, create a Metabase native SQL card using the name in column A, the SQL in column B, and the database ID in column C — write the created card ID back into column D

What You Get

  • One Metabase saved card per row.
  • Named from column A, using the SQL from column B, targeting the database in column C.
  • Column D receives the new card ID for each row as cards are created.
  • Rows where creation fails get an error note in column D rather than a silent skip.

What If the Data Is Not Quite Ready

You want all new cards placed in a specific collection

Read query names in column A and SQL in column B, create a Metabase native SQL card for each using database ID 3 for all of them, place each in collection ID 42, and write the new card URL into column C

All ten cards land in the right collection. No drag-and-drop in Metabase's collection browser.

Some rows have MBQL definitions instead of raw SQL

Read query names in column A and MBQL definitions in column B and create a Metabase card for each — place all in collection ID 42 and write new card URLs into column C

Specify MBQL in the prompt when the workbook mixes query types.

You want a smoke test after creation

For each row in this workbook, create a Metabase native SQL card using name from column A, SQL from column B, and database ID from column C. After creating each card, run the query once and write the row count into column E alongside the new card ID in column D.

Creation confirmed, query verified — both in a single pass.

Full bulk setup with status tracking in one shot

For each row in this workbook, create a Metabase native SQL card using name from column A, SQL from column B, and database ID from column C. Place all in collection ID 42. Write card ID into column D, URL into column E, and in column F write SUCCESS if the card was created and the query returned rows, ERROR with the reason if it failed, and EMPTY if it ran but returned zero rows.

One prompt, complete creation sweep, full status column for the manager.

Try It

Get the 7-day free trial of SheetXAI and open the Excel workbook with your query list, then ask it to turn every row into a saved Metabase card in one shot. Also useful: running a Metabase SQL query and loading results into a workbook, and the hub overview on connecting Metabase to Excel.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more