Self-service QR sign-up
This is the alternative entry path for contributors when an email-based invitation isn’t practical — for example, runners handing a tablet to crew members on set, or a poster with a QR code in a production office. The producer generates the QR code from the Editing contributors view; the contributor scans it and lands directly in the survey, no email needed.
The post-arrival journey (welcome page → questions → consent → submit) is the same as the main contributor flow. What’s different is the entry — that’s what this page covers.
What happens
Section titled “What happens”sequenceDiagram
actor Contributor
participant App as Your app
Contributor->>App: Scan QR code → opens link with token
App-->>Contributor: Welcome page (no identity-association dialog)
Contributor->>App: Tap "Begin survey"
Note over App,Contributor: From here, the journey matches the<br/>main "Inviting a contributor" flow
What the contributor sees
Section titled “What the contributor sees”The arrival page
Section titled “The arrival page”The same welcome screen the email-invitation flow shows — but with one important difference: there’s no “do you have an existing account?” dialog. QR contributors go straight from welcome to the survey questions.
If the QR feature is disabled in your deployment but a contributor somehow arrives with a ?qr= link, they see a warning: Survey.landing-page.qr-feature-unavailable.
Producer side — generating the code
Section titled “Producer side — generating the code”The QR Code modal (opened from the contributors view) lets the producer pick:
| Selection | Translation key |
|---|---|
| Role (limited to QR-eligible roles) | Projects.manage-contributors.qr-modal.role-label |
| Episodes to apply to | Projects.manage-contributors.qr-modal.episodes-label |
| ”All episodes” option | Projects.manage-contributors.qr-modal.all-episodes-option |
After generating, the modal shows the QR code with a copy-link button and a download button.
What you can customise
Section titled “What you can customise”Translations
Section titled “Translations”- Contributor-facing landing strings:
Survey.landing-page.*intep-configuration/translations/{locale}/main/survey-ui.json - Producer-side QR modal:
Projects.manage-contributors.qr-modal.*inprojects.json
Override per client.
QR-eligible roles
Section titled “QR-eligible roles”Only roles in QR_ELIGIBLE_ROLE_ID_SET (your client config) can be assigned via QR. Typically these are predictable crew roles (e.g. grip, sound mixer) rather than on-screen talent who you’d more likely invite by name.
Whether QR is enabled at all
Section titled “Whether QR is enabled at all”QR self-service is a client-config flag (isQRCodeEnabled). Some deployments may turn it off — see Variations below.
Variations for your deployment
Section titled “Variations for your deployment”| Your deployment | What’s different |
|---|---|
| QR enabled | The QR Code button appears on the contributors view; contributors arriving with ?qr= go straight to the survey |
| QR disabled | Button hidden on producer side; if a contributor somehow arrives with a ?qr= link they see a “feature unavailable” warning |
Need more detail?
Section titled “Need more detail?”For the token validation rules, the redirect from /qr/[token]/ to the survey, the producer-side generateQRInvite mutation, and the self-service flow flag, see Self-service QR sign-up (engineering).