Skip to main content
Flows read files from team storage — test data, images, audio, extensions, and anything else a flow needs at runtime. Uploaded files are available to every flow in the workspace as process.env.TEAM_STORAGE_DIR. Uploading needs your QAWOLF_API_KEY, available under Workspace Settings → Integrations → API Access.
To upload an app build rather than a file a flow reads, see Mobile build testing. Builds go to separate storage and are referenced differently.

Upload a file

Team storage accepts any file type. Upload happens in two steps: request a signed URL, then send the file to it.
1

Generate a signed URL

Returns a signedUrl for the next step, plus fileLocation and playgroundFileLocation — the paths you’ll use to reference the file afterward.
2

Upload the file

Use an uploaded file in a flow

Web file upload

Use Playwright’s filechooser event to intercept the file dialog and set the uploaded file programmatically.
Use page.once rather than page.on. page.once registers a one-time event listener that automatically unregisters after the first use. Using page.on adds a persistent listener that may interfere with subsequent file uploads in the same flow.

PDF viewing

Use the internal PDF viewer to open an uploaded PDF file in a flow.
Last modified on September 17, 2026