Back to Metabase in Google Sheets
SheetXAI logo
Metabase logo
Metabase · Google Sheets Guide

Bulk-Create Metabase Saved Questions From a Google Sheet

2026-05-14
5 min read

The Scenario

You're a data analyst who runs ten SQL queries in Metabase every week — same queries, same results destination, same recipients. They live in your head and in a notes doc. You've been meaning to turn them into saved Metabase cards for months. This week, your manager handed you a spreadsheet with all ten queries already formatted: names in column A, SQL in column B, database IDs in column C. All that's left is the actual card creation.

The bad version:

  • Open Metabase, navigate to the New Question screen, select Native Query, choose the database, paste in the first SQL query, name the card, and save it.
  • Repeat for the remaining nine queries.
  • Realize you made a typo in the name of card 4 and go back to edit it.
  • Finish in about 35 minutes and wonder if there's a better use of that time.

Creating cards manually in Metabase isn't painful in the way that data entry is painful. It's painful in the way that doing the same 8-click sequence ten times in a row is painful — the kind of task that makes you feel like a human robot.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It can read the query names, SQL, and database IDs directly from your sheet and bulk-create Metabase saved cards in a single prompt, writing the new card IDs back into the sheet when done.

For each row in this sheet, 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 created per row in the sheet.
  • The card is named from column A, uses the SQL in column B, and targets the database in column C.
  • Column D receives the new card ID for each row as SheetXAI creates them — useful for building dashboard or collection references later.
  • If a creation fails (invalid SQL, unreachable database), column D gets an error note for that row rather than a silent skip.

What If the Data Is Not Quite Ready

You want all the new cards placed in a specific collection

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

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

Some rows have MBQL query definitions instead of SQL

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

SheetXAI handles native SQL and MBQL card creation — specify the type in the prompt if the sheet mixes both.

You want to verify the cards were created before writing IDs

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

A creation confirmation plus a quick smoke test for each query — you know the card exists and you know the query runs without error.

Full bulk setup in one shot

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

One prompt, one full creation sweep, with a status column you can hand to your manager as proof it worked.

Try It

Get the 7-day free trial of SheetXAI and open the Google Sheet 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 sheet, and the hub overview on connecting Metabase to Google Sheets.

Stop memorizing formulas.
Tell your spreadsheet what to do.

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

Learn more