QR code kiosks
A QR code turns a printed sticker, poster or screen into a conversation. Someone scans it, lands on a relay page, and is dropped straight into a conversation with your persona — no form, no email address, no verification code.
This is the anonymous path. Nothing about the person is collected, which is exactly what you want for a walk-up kiosk in a lobby, a table card in a restaurant, or a sign next to an exhibit. If you need to know who you spoke to, this is the wrong guide — turn on lead validation and use the widget instead.
The link a QR code points to
Every persona is reachable at a relay URL built from two slugs, your organization's and the persona's:
https://qr.equilia.site/<org-slug>/<persona-slug>Encode that URL in a QR code with whatever tool you already use. It is an ordinary link — you can also send it in an email or put it behind a short link.
Choosing the channel
Add one query parameter to pick how the conversation opens:
https://qr.equilia.site/acme/front-desk?web=true
https://qr.equilia.site/acme/front-desk?video=true
https://qr.equilia.site/acme/front-desk?phone=true
https://qr.equilia.site/acme/front-desk?sms=trueweb=true— text chat in the browser. The usual choice for a kiosk.video=true— a video call with the persona.phone=true— places a call.sms=true— opens the visitor's messaging app.
Only one at a time. Passing two is an error rather than a silent pick.
With no parameter at all, the relay opens WhatsApp. If that is not what you want on a printed code, always state the channel — a poster is expensive to reprint.
What has to be true for it to work
The relay checks two things before it will create anything, and says so plainly on screen if either fails:
- The channel is enabled for the persona. Turn channels on per persona in the dashboard.
- That channel does not require lead validation. The whole point here is an unverified visitor. If the persona requires validation on the channel, the relay stops and tells the visitor to get in touch another way, because there is no one to send a code to.
For WhatsApp, SMS and phone there is a third check: the persona's "require widget" setting. That setting exists to stop a stranger who found your WhatsApp or phone number from starting a conversation that never came through you — and a freshly scanned QR code, by definition, never has. If it is on, those channels will not open from a QR code.
Web and video behave differently on purpose: the QR route is their intended anonymous entry point, so the require-widget rule is not applied to them.
Getting the slugs right
The organization slug comes from your organization name in settings. A number of words are reserved because they collide with public pages — about, pricing, dashboard, qr-relay and similar — and the dashboard will refuse them.
Changing either slug changes the URL, which silently breaks every code already printed with the old one. Settle on the slugs before anything goes to a printer.
Testing before you print
Open the URL in a normal browser tab first. You should land in a live conversation within a second or two. If instead you see a message about the channel being unavailable or requiring verification, fix the persona settings and reload — the QR code itself is never the problem, since it only encodes a link.
Scan the printed code once, too, in the place it will actually live. A code that is too small, too low-contrast or behind glare is the most common real-world failure, and no amount of configuration fixes it.
Where to go next
- To offer the same persona on your website, with the option of collecting contact details, see the website widget guide.
- To build your own kiosk application rather than relying on the relay page, see the SDKs. They cover both anonymous conversations and the verified flow.