QR code
Text / link → QR image
Turns a link, plain text, payment detail, or contact card into a scannable QR code image you can drop onto a document or page.
How it works
A QR code is the square barcode a phone camera can read. This node takes whatever you want people to reach (a web address, a payment link, a phone number, or a contact card) and produces that square as an image.
Businesses use it to bridge paper and screen: a QR on an invoice that opens the payment page, one on a flyer that goes to a booking form, or one on a badge that saves contact details. Because the code is generated inside the flow, it can carry a link that is specific to that job or customer.
The output is just an image, so the natural next step is placing it onto a document you are building or sending it out to be stored and used elsewhere.
Common use cases
Real situations where this node earns its place in a flow.
Scannable link on paper
Turn a report URL into a QR code to print on a mailed document.
Link to checkout
Generate a QR that opens a payment page for a printed invoice.
Encode contact or wifi
Produce a QR for a vCard or wifi login to include in a document.
QR code in a workflow
A simple example of where this node sits in a flow.
What you set up
- Enter the link, text, payment detail, or contact info the code should point to, or pull it from an earlier value.
- Adjust size so it scans cleanly at the size it will be printed or displayed.
- Pass the image to the step that places it on a document or saves it.
Common questions
Can the code point somewhere different for each customer?
Yes. If the link comes from a value in the flow, each run makes a code aimed at that specific person or job, like a personalized payment or booking URL.
Will it hold more than a web link?
It can encode plain text, a phone number, or a full contact card too, not just a URL. Longer content makes a denser square, so keep it short if it will be printed small.
Settings you configure on this node, stored under data.config in the workflow JSON. Leave a field unset to use its default.
textreqThe link or text the QR code encodes; resolved against job values and skips the node when empty.
Type: stringformatOutput image format for the QR code.
Type: enum: png | svgDefault:pngecLevelError correction level passed to the QR renderer.
Type: enum: L | M | Q | HsizeRendered QR width in pixels (64 to 2048).
Type: numberDefault:512marginQuiet-zone margin in modules (0 to 16).
Type: numberDefault:2fgColorForeground (dark module) color as a hex string.
Type: stringDefault:#000000bgColorBackground (light module) color as a hex string.
Type: stringDefault:#fffffflogoComposite an upstream PNG logo into the center; PNG output only.
Type: booleanDefault:falsefilenameTemplateTemplate for the output filename.
Type: stringDefault:{merchant}-{date}
How this node appears inside a workflow's nodes[] array (the shape you see in the Developer export / import). A full workflow is { nodes: [...], edges: [...] }.
{
"id": "qr-code",
"type": "card",
"position": {
"x": 160,
"y": 120
},
"data": {
"type": "qr-code",
"kind": "processor",
"title": "QR code",
"subtitle": "Text / link → QR image",
"config": {
"text": "",
"format": "png",
"ecLevel": "l",
"size": "512",
"margin": "2",
"fgColor": "#000000",
"bgColor": "#ffffff",
"logo": "false",
"filenameTemplate": "{merchant}-{date}"
}
}
}