OpenQR

Developers

Generating QR codes in Zapier with OpenQR

By Sam Moreton · updated 28 June 2026

Zapier connects OpenQR to thousands of apps so you can generate a QR code as a step in any automation — when a form is submitted, a row is added, an order ships. The OpenQR Zapier app exposes two actions: Create QR Code for a static image, and Create Dynamic QR Code for a re-pointable oqr.to link you can edit after it's printed. This guide connects the account, walks a real Zap end to end, and is honest about what the Zapier surface does and doesn't do.

8 min read · Updated 28 June 2026

This is the no-code path through Zapier. If you want the underlying mechanics, the two actions call the OpenQR REST API — see getting started with the API and dynamic codes and scan analytics. For where Zapier sits among the automation options, see QR codes in LLM apps and workflows.

Connect your OpenQR account

Authentication is a single API key. Create a free one at openqr.uk/api — sign in with a magic link, then mint a key (it starts with oqr_).

  1. 1

    Add the action

    In a Zap, add an action step and search OpenQR. Pick Create QR Code or Create Dynamic QR Code.

  2. 2

    Connect the account

    When prompted, paste your oqr_… key. Zapier sends it as Authorization: Bearer oqr_… on every request.

  3. 3

    Let it test

    The connection test hits GET /v1/dynamic?limit=1, so a successful connect confirms the key works.

The key controls the whole account

An OpenQR key can read and edit every dynamic code on your account, so treat it like a password — Zapier stores it in the encrypted connection, never put it in a Zap field. Keys are shown once and SHA-256-hashed at rest; rotate by minting a new one and reconnecting the account.

The two actions

ActionCallsReturnsUse it for
Create QR CodePOST /v1/qrA file (PNG) + raw svg markupA one-off static code for a known link
Create Dynamic QR CodePOST /v1/dynamicid, slug, short_url, destination + a PNGA re-pointable code you can edit later

Create QR Code (static)

Encodes whatever you give it straight into the image. Fields: Text or URL (required, ≤2000 chars), Format (png default or svg), Size (64–2048, default 512), Quiet-zone margin (0–16), and Foreground/Background hex colours. The endpoint returns the raw image, so the action stashes it as a Zapier file you can attach to an email, upload to Drive, or print — plus the raw svg markup when you choose SVG.

Static codes can't be edited or tracked

A static code bakes the link into the pattern — there's no redirect in the middle, so it can never be re-pointed or counted. That's the right choice when the link is permanent. When you need editability or scan data, use the dynamic action instead. See static vs dynamic for the trade-off.

Create Dynamic QR Code (editable)

Creates an oqr.to short link that redirects through OpenQR. Fields: Destination URL (required, a public http(s) URL), an optional Label, and an optional Theme (a saved style's id or name). The action surfaces id, slug, short_url and destination, plus a printable PNG (qr_png) that already encodes the short_url — so the code you print stays re-pointable.

Custom slugs, tags and folders are an edit, not a create

The create-dynamic action doesn't set a custom slug, tags or a folder — the POST /v1/dynamic endpoint doesn't accept them at creation. Set those afterwards in the dashboard, or via PATCH /v1/dynamic/{id} from your own code. Lock in a memorable slug before you print, since changing it later breaks the old link.

Worked Zap: form submission → dynamic code → email

A common pattern: someone submits a form to register an asset (a product, a property, an exhibit), and you want to email them a QR that links to its page — but you want to keep the option to re-point it later. Three steps:

  1. 1

    Trigger

    Any trigger that yields a destination — a Typeform/Google Forms submission, a new Airtable or Sheets row, a new Shopify order. Map a field to the page URL you want the code to point at.

  2. 2

    OpenQR → Create Dynamic QR Code

    Set Destination URL from the trigger field and a Label like the submitter's name or the asset id. The step outputs short_url, id and the qr_png file.

  3. 3

    Send and store

    Add a Gmail/Outlook step that attaches qr_png. In parallel, write id and short_url back to a Sheets/Airtable record — that id is your handle for re-pointing or reading scans later.

Always persist the id

Store the returned id against your own record at creation time. It's the only handle for re-pointing the code or reading its analytics afterwards. Keep just the image and you can never edit or measure that code again.

Re-pointing and analytics: where Zapier stops

Be clear about the boundary: the Zapier app only creates codes. It has no built-in action to re-point a code or read scans. Those operations live on the REST API — PATCH /v1/dynamic/{id} to change a destination, GET /v1/dynamic/{id}/scans for analytics. You have two clean ways to drive them from a Zap:

  • Zapier's built-in Webhooks by Zapier action — a PATCH to https://openqr.uk/v1/dynamic/{id} with an Authorization: Bearer oqr_… header and a JSON body of { "destination": "…" }. Same for a GET on the /scans endpoint.
  • The n8n community node, which does expose Update and Get Scans as first-class steps — if a chunk of your automation can live in n8n, it's the richer surface. See generating QR codes in n8n.

If re-pointing and analytics are central to your flow, the full REST endpoints are documented in dynamic codes and scan analytics, and the OpenAPI spec is at https://openqr.uk/openapi.json.

Mind the creation rate limit

Dynamic-code creation is capped at 20 per hour per account; over that the API returns 429 and the Zap step errors. For high-volume flows — a Zap that fires on every order — either add a delay/throttle, or move bulk minting to POST /v1/dynamic/bulk (up to 200 per request) outside Zapier. The bulk generation guide covers that path.

Get a free API keySign in with a magic link, mint a key, connect it in Zapier, and start dropping QR codes into your Zaps. Generation and dynamic codes are free.
Add the OpenQR app as an action in your Zap and choose Create QR Code (static) or Create Dynamic QR Code (editable). Connect a free oqr_ API key from openqr.uk/api, map the text or destination URL, and the step returns the QR image as a Zapier file for later steps to attach or upload.

Related reading