Workframe

Experiment builder for survey-embedded studies

Build the scenario. Your survey platform runs the study.

Workframe is a scene-based experiment builder for behavioural researchers. Compose a branching, animated scenario on a timeline, publish it as a fixed version, and embed it as one step in the survey you already run. Responses come back as one row per run, joined to the respondent ID your survey passes in.

Access is currently limited to pilot researchers. Nothing to install — Workframe runs in the browser, and embeds anywhere you can put an iframe.

1920 × 1080
Fixed stage, so every participant sees the same framing
5 tracks
Environment, characters, dialogue, interactions, signals
CSV + JSON
Full export, no row cap, no API required
The Workframe composer: a scene on the stage above a five-track timeline holding environment, character, dialogue, interaction and signal clips, with the clip inspector open on the right.

What a participant sees

Thirty seconds inside a study

This is the participant surface, running the way it runs in a real study: an iframe inside one step of a survey. The scenario plays on a timeline, pauses when it asks something, records the answer, and can route to a different scene depending on what was chosen. When it finishes, it tells the page hosting it that the run is complete and hands back the recorded choices — which is how your survey knows to let the participant continue.

The participant surface: two colleagues standing in an open-plan office, with a dialogue box reading "Dr. Chen — I used the new assistant to summarize the client interviews. Want to review its recommendations?" and playback controls beneath the stage.
Sample scenario, shown mid-scene. Nothing here is recorded.

The workflow

Four steps from blank timeline to collected data

01

Compose

Lay clips onto five tracks: a background, characters, dialogue, the moments where the participant chooses, and invisible signals that mark what happened. Set what each clip does, when it starts, and how long it stays. Weave an earlier answer back into a later line with {{variable}} templating.

02

Check the paths Beta

Open the branch map to see every route through the study, filtered to one experimental condition at a time. Path checks flag unreachable scenes, dead ends and loops before a participant ever hits one.

03

Publish a version

Publishing validates the study, then freezes it as a numbered version with its own manifest. Participants always run a published version. Editing the draft afterwards cannot change what anyone has already seen.

04

Collect and export

Paste one iframe into your survey — we generate the snippet, and for Qualtrics we generate the companion JavaScript too. As participants complete runs, they appear in the results workspace: one row per run, with your variables and signals as columns. Download the whole dataset as CSV or JSON.

The branch map for a two-scene study: a start scene routes by a participant choice and by automatic continuation to a final scene, with a path checks panel reporting no unreachable scenes, dead ends or loops.
The branch map, filtered to one condition at a time. Path checks run against every route before a participant sees any of them.

Authoring

Enough structure for a real design, not more

Workframe is deliberately narrow. It builds timed, branching, character-driven scenarios — the kind used for vignette studies, trust and disclosure manipulations, negotiation and advice-taking paradigms, and process-tracing designs. It is not a general app builder.

Five tracks

  • Environment — a background that fills the stage for the length of a beat.
  • Characters — actors you position, move, scale and fade, with an optional non-verbal action cue.
  • Dialogue — timed on-screen speech attributed to a speaker, templatable.
  • Interactions — where the participant chooses. The timeline pauses until they answer.
  • Signals & variables — invisible markers fired when a clip ends. They drive conditional content and become clean columns in your data.

Four ways to ask

  • Single choice — one answer from a list; each option records a stable value and can route onward.
  • Multiple choice — select all that apply; records the chosen values.
  • Rating scale — a row of points, for example a 7-point trust rating.
  • Open text — free text with an optional minimum and maximum, counted in characters or words.

Five ways to branch

  • Condition — show content to one experimental arm, decided upstream in your survey and passed in as a parameter.
  • Assignment — a second, independent grouping for a 2×2 or a nested factor.
  • Earlier answer — show a follow-up only to people who chose a particular option.
  • Earlier signal — show content only after a specific moment has happened.
  • Random draw — a within-run coin flip, sampled once per session, not every frame.

Delivery

It goes where your study already lives

A published study is a URL. You embed it in an iframe at the point in your survey where the scenario should play, it runs, and it hands control back when the participant is done. Your survey platform keeps the survey order, the consent page, the randomisation and the payment; Workframe owns what happens inside the frame.

Three moving parts, and none of them are proprietary

What happensHow
In Your survey tells the study who this participant is and which arm they are in URL parameters on the iframe src — condition, assignment, and whatever respondent or session IDs your platform can pipe
During The scenario runs and records Entirely inside the frame. Nothing is required of the host page
Out The study announces completion and returns the recorded choices A browser postMessage to the page that embedded it, so the host can unlock its own Next button and store the results

That is the whole contract. It is ordinary web platform behaviour, not a proprietary connector, which is why a study will run in most places that can host an iframe and pass a query string. What differs between platforms is not whether it runs, but how much of the write-back we have already built and tested for you. The rest of this section is honest about that difference.

Qualtrics Deepest support

The fully documented path, and the only one we test on every release. Set-up is three paste operations: add the embedded-data fields to your Survey Flow, paste the iframe into a Text/Graphic question, paste the question JavaScript we generate. The JavaScript stores named signals as embedded data and holds the Next button until the scenario completes.

Prolific Recruitment parameters

A different job, and additive rather than alternative. Prolific recruits; your survey platform still hosts the study. When participants arrive from Prolific, PROLIFIC_PID, STUDY_ID and SESSION_ID pass through into the study and land in your export, so reconciling submissions against approvals is a join on an ID you already have.

Anything that can embed an iframe Works, untested by us

Usually yes, but you verify it, not us. The participant surface is a public URL that takes its context from query parameters and reports completion by postMessage. What you will not get automatically is the write-back convenience. We have not tested these paths and do not claim them as supported. Pilot one run end to end before you launch.

Results

One row per run, and you can take it with you

The results workspace has two views. Participants gives you one row per completed or abandoned run. Raw events gives you the underlying sequence — every exposure, choice and signal, with elapsed time — for anyone who wants to reconstruct process measures rather than trust a summary.

Columns you get without configuring anything

qualtricsResponseIdprolificPidsessionId conditionassignmentstartedAt completedAtcompleteddurationMs scenesCompleted

Your own response variables and signals appear alongside them, named the way you named them. The identifier columns are populated from whatever your survey and recruitment tools passed in — they are empty rather than wrong if a study does not supply them. sessionId is ours and is always present, so every run is joinable even when nothing upstream sent an ID.

Before you launch, and after

  • Test runs stay out of your dataset. Previews you run while building are hidden until you tick Include test runs.
  • Integrity audit. Compares every completed run against the variables and signals its published condition should have produced, and lists exactly which fields are missing and how many runs are affected.
  • Export. CSV and JSON, the whole dataset, paged until it is complete. Text fields are escaped so a response beginning with = cannot execute as a spreadsheet formula.

Pricing

Pay once for each study you publish

Most research software charges rent. That works for a lab running studies continuously and badly for everyone else — a subscription that lapses between grants takes your access with it. Workframe charges a one-time fee at the moment a study goes live, and that study stays live.

One-time, per published study Not monthly Not per participant Not per seat Not per revision

Draft

Free
No time limit
  • Unlimited draft studies
  • Every authoring feature: all five tracks, branching, rules, variables, signals
  • Branch map and path checks
  • Preview and test runs, recorded as test data
  • No participant sessions. A draft cannot collect real data.
Request pilot access

Published study

Free during the pilot
A one-time fee per study applies after the pilot. Not per month, not per participant, not per seat.
  • Everything in Draft
  • Publish numbered, immutable versions of this study
  • Unlimited participant sessions and unlimited events
  • Republish as often as you need — corrections and revisions never cost again
  • Full CSV and JSON export, no row cap
  • Results, raw events and the integrity audit
  • Your data stays available and exportable after collection ends
Request pilot access

Billing is not switched on during the pilot. Pilot researchers publish at no cost, and we will tell you before that changes.

Is it per study or per participant?
Per study. Whether the study collects 40 responses or 4,000, the fee is the same.
Do revisions cost again?
No. A published study can be republished as a new version as many times as you need. You pay once for the study, not once per version.
What counts as a new study?
A new project. If it has its own participants, its own dataset and its own results page, it is a new study.
Does my data expire if I stop paying?
There is nothing to stop paying. Once a study is published it stays published, and its data stays exportable.
What if my study never runs?
Drafts are free. You only pay at the moment you publish.

Not available yet

Two things researchers ask for that Workframe does not do today. They are on the list; we are not putting dates on them, because a date we miss is worse than no date.

Shared lab workspaces — several researchers on one set of studies, with per-person access. Today a study belongs to one account, and sharing means sharing a login, which we do not recommend.

Institutional agreements — a departmental or university-wide arrangement with your own single sign-on and a signed data processing agreement, invoiced annually rather than per study.

If either would decide it for your group, say so in your access request. What we hear shapes the order we build in.

Trust

Written to be forwarded to your IRB

These are the answers ethics boards and data protection officers ask for. If your committee needs something not covered here, ask us and we will put it in writing.

What we store about participants

Responses, event sequences, timing, and the identifiers your survey passes in. Participant identifiers arriving from your survey are stored as a one-way hash for deduplication rather than as plain values. Workframe never asks a participant for a name, an email address or an account.

No participant login

Participants never create an account or sign in to Workframe. They open an iframe, complete the scenario, and leave. Session tokens are held as hashes and expire.

Where it runs

On Cloudflare's edge network, with study data in Cloudflare D1 and uploaded media in Cloudflare R2. Cloudflare is our sole subprocessor — the full list is below, and we will supply the signed hosting and durability details on request.

Subprocessors

The complete list of third parties that process your data on our behalf:

  • Cloudflare, Inc. — edge compute (Workers), study database (D1), media storage (R2) and researcher sign-in (Access). United States / global edge.

There are no others. No analytics, email, advertising or tracking vendor touches participant data. We will notify pilot accounts before this list ever changes.

Export and deletion

Your dataset is downloadable as CSV or JSON at any time, in full — no row cap, no request needed. From your account you can delete a single study and its collected data, or delete your entire account and everything in it; deletion is immediate and irreversible.

Who can see your studies

Access to a project and its results is limited to the account that owns it. Researcher sign-in is protected by Cloudflare Access; every authoring request is independently verified server-side before it reaches project data.

What we do not do

No advertising or marketing use of participant data. No selling or sharing with third parties. No tracking pixels or third-party analytics on the participant surface — an iframe inside your survey should not carry anyone else's beacons.

Workframe is a data processor for the participant data you collect. You remain the controller and the person your IRB approved.

Getting started

Workframe is in a supervised pilot

There is no self-serve signup yet, and we would rather say so here than after you have filled in a form. Accounts are added to an allow-list by hand while we work with a small group of research teams and fix what they find.

01

Request access

Tell us your institution, roughly what you want to run, and which survey platform you use. Three fields, under a minute.

02

We reply

Usually within two working days, from a person, including when the answer is not yet.

03

Sign in

Your email is added to the allow-list and you sign in with a one-time code sent to your institutional address. Nothing to install.

Already on the allow-list? Sign in takes you to the Workframe sign-in page.

Questions

Before you ask us

Do I have to use Qualtrics?

No, but it is the path we support best. A published study is a URL that runs in an iframe and reports its results by postMessage, so it will run on most platforms that let you embed HTML and pipe values into a URL. What Qualtrics gets that others do not is a generated snippet that stores results as embedded data and holds the Next button until the scenario finishes, plus our testing on every release. On another platform the study still runs and still records everything to your dataset — you would wire up the write-back to that platform yourself. If you are on something else, say so when you request access; that is how we decide what to document next.

Do I need to know how to code?

No. Building a study, publishing it and reading the results are all done in the browser. The one place you touch code is the survey set-up, where you paste a snippet we generate — an iframe, plus a block of JavaScript if you are on Qualtrics. You do not need to modify either.

Does Workframe replace my survey platform?

No, and it is not trying to. Your platform keeps the consent page, the survey items, the randomisation and the payment flow. Workframe is one step inside that survey, the one where the scenario plays. We have deliberately not built survey items, panels or analysis — those exist and work.

What happens if I edit a study while it is collecting data?

Nothing, for participants already running. They are running a published version, which is frozen. Your edits sit in the draft until you publish again, which creates a new numbered version. Each run records the version it was on, so you can always tell which participants saw which stimulus.

Can I cite a specific version in a paper?

Yes. Every published version has a stable version identifier, and it is the identifier your placement URL points at. Quote it in your methods section, and a replicator can be pointed at exactly the stimulus you ran.

How do participants get randomised into conditions?

Upstream, in your survey, by whatever mechanism you already trust. Workframe reads the condition and assignment values your survey passes in and shows the content whose rules match. We deliberately do not take over your randomisation.

Does it work on a phone?

The scenario renders on a fixed 1920 × 1080 stage that scales to fit its frame, so it works on a phone in the sense that it displays and is usable. It has not been optimised for small screens, and a scenario with dense dialogue will be harder to read there. If phone completion matters to your sample, pilot it on a phone before you launch. The authoring tool is desktop-only.

Is my data backed up, and how long do you keep it?

Collected study data is retained for as long as your study exists, on managed Cloudflare infrastructure with their durability guarantees. It is not a substitute for your own archive: export a copy at the end of data collection, the same way you would with any platform.

What do I do if something breaks mid-study?

Email us. During the pilot you are talking to the people who built it, not a ticket queue, and a study that is live with real participants in it goes to the front. We will tell you what happened rather than that we are looking into it.

Ready to try it on a real study?

Tell us what you want to run. We will tell you honestly whether Workframe fits it.