Spreadsheet QR code automation means a row arrives, a dynamic QR code is made for it within about 15 minutes, and the short link is written back into the row, with nobody opening a generator.
This is the first automation most people build, because the spreadsheet is already where the list lives. One row per product, per table, per rental, per classroom. Each one needs its own code, and doing that by hand is the part nobody wants to own.
The piece that makes it worth automating is not the making. It is the writing back. A code with no short link recorded next to it is a code you cannot find again.
How do I set up the Zap?#

3 steps, in this order:
- Google Sheets: New Spreadsheet Row. The trigger. Zapier watches one tab of one sheet.
- QRFLOW.codes: Create QR Code. Destination URL is the only required field. Name, Code Color and Background Color are optional.
- Google Sheets: Update Spreadsheet Row. Put the short link back into the row it came from.
Step 3 is the one people skip and regret. Without it the sheet says a code exists but not where it lives, and the only way to find it again is to scroll the dashboard.
The ready-made version is Create QR codes for new Google Sheets rows, which wires up the first 2 steps for you.
How fast does it run after a row is added?#

A new row reaches the Zap within about 15 minutes, not instantly. Zapier polls Google Sheets on a schedule, and on its free plan that gap is 15 minutes. Paid Zapier plans poll faster, down to 1 or 2 minutes.
For the jobs this suits, a quarter of an hour is irrelevant. You are building a list to print later, not handing a code to someone standing in front of you. If you need one in the next 10 seconds, make it by hand in the generator and move on.
What you should not do is add a row, go looking for the code 30 seconds later, decide the automation is broken, and add the row again. That is how a sheet ends up with 2 codes for 1 product.
Why does every code need a name?#

Every code needs a name because a nameless code cannot be found again or matched against later. Leave the Name field empty and every code in the account is called nothing.
Fill it from the row: the product name, the SKU, the room number, whatever the sheet already holds. Two reasons, and the second one is the real one.
First, a named code is findable, because the dashboard search reads names.
Second, there is a Find or Create QR Code action that looks a code up by name and only makes a new one if nothing matches. Swap it in for Create QR Code and the automation becomes safe to re-run. Edit a row, re-trigger it, run a backfill over 300 old rows: you get 1 code per name instead of 300 extras. Without names that safety net cannot work, because there is nothing to match on.
Loading a list that already exists is a different job and a faster route: Bulk QR code generator in Google Sheets does it in one pass. An automation is for the rows that arrive later.
What does the free plan quietly do?#

A free account may hold exactly 1 dynamic code. That limit is deliberate: 1 is enough to feel what a re-pointable code does before paying for anything.
The automation does not warn you about it. It keeps succeeding. The codes it makes after the first come out static, which means the destination is baked into the pattern and cannot be changed after printing.
So if the whole point is a sheet of codes you can re-point later, this needs a paid plan: $4 a month for Premium, $29 for Business. Check pricing before running it across 200 rows and printing the results.
Worth knowing the difference properly before the artwork is committed: static versus dynamic QR codes.
Three sheets this suits#

A product list. Each row is an item, the code points at that item's page, and when the page moves you re-point the code instead of reprinting the label.
A venue list. Rows are tables, rooms, lockers or parking bays. The code opens the thing a person at that spot needs: a menu, a form, a how-to, a report-a-fault page.
An asset register. Rows are machines or equipment, and the code opens the service history. When the maintenance system changes, 1 spreadsheet pass re-points every sticker already on the wall.
The common thread is that the destination is likely to move and the sticker is not. That is the whole case for doing it this way.
What to check before you turn it on#
Run it once, against 1 row, and look at 4 things:
- The code's Name came through, and is not blank.
- The short link got written back into the correct row.
- The destination opens on a phone, not just on a desktop.
- The code is dynamic, not static. The dashboard says which.
4 checks, 1 row, about 2 minutes. Cheaper than 200 wrong codes.
Questions people ask about spreadsheet QR code automation#
Do I need the Business plan for this?#
You do not need the Business plan for this. Creating codes works on every plan.
What a free account cannot do is hold more than 1 re-pointable code, so in practice a sheet of them needs Premium at $4 a month or Business at $29. Only the scan trigger, which starts a flow the moment somebody scans, needs Business.
Can it make a Wi-Fi code or a vCard from a row?#
The Zapier action cannot make a Wi-Fi code or a vCard from a row. That action makes a dynamic code for a web address only. Wi-Fi codes, contact cards and the other kinds are on the site and in the QR code API, which takes the same fields.
What if a row is edited rather than added?#
If a row is edited rather than added, New Spreadsheet Row will not fire, because it watches for new rows only. Use Google Sheets' New or Updated Spreadsheet Row trigger instead, paired with Find or Create QR Code so an edit updates the existing code rather than making a second one.
Does this work with Excel or Airtable?#
Excel and Airtable both work. The QR code steps do not care what the other half is. Airtable, Excel, Jotform and ActiveCampaign all appear on the app's page in Zapier's directory, and anything Zapier connects to can feed the same action.
Is there a version that does not use Zapier?#
There are 2 versions that do not use Zapier. The Google Sheets add-on makes codes from a sheet directly, and the API does it from your own code. Zapier is for when the sheet is 1 step in a longer chain.
Setup is on the Zapier help page, and if you only need 1 code today the free QR code generator takes about 10 seconds.
