Connect Bubble to UserTesting by adding an API Connector group with your UserTesting API key stored as a Private header. Build a Repeating Group of tests that pulls status, participant counts, and session data — creating a UX research operations dashboard your entire team can access inside Bubble without requiring individual UserTesting logins. API access requires a Professional or Enterprise UserTesting plan.
| Fact | Value |
|---|---|
| Tool | UserTesting |
| Category | Analytics |
| Method | Bubble API Connector |
| Difficulty | Intermediate |
| Time required | 30 minutes |
| Last updated | July 2026 |
Why Connect Bubble to UserTesting?
UX research teams run multiple UserTesting studies simultaneously, but tracking which tests are live, how many participants have completed sessions, and where findings sit in the review pipeline typically ends up scattered across email threads and spreadsheets. Connecting UserTesting to Bubble lets you build a centralized research operations dashboard that surfaces all of this in one place — without requiring every product manager, designer, or stakeholder to have a UserTesting account.
A Bubble-based research dashboard pulls your active and completed tests from UserTesting's REST API, displays participant progress in real time, and lets team members click into any test to see session-level data and ratings. You can pair this with a custom Bubble data type — 'Research Insight' — where analysts tag and annotate findings, creating a repository that combines UserTesting's raw data with your team's own synthesis.
The Bubble-specific advantage here is important: because Bubble's API Connector runs all calls server-side from Bubble's infrastructure, your UserTesting API key — which carries access to participant names, video metadata, and session recordings — never reaches the browser. This is the correct architecture for a tool that handles participant data under privacy obligations.
One critical gate to understand before you start: UserTesting's REST API is only available on Professional and Enterprise plans. If your account settings page does not show an API section, you will need to contact UserTesting's customer success team to confirm your plan tier and obtain API credentials and endpoint documentation before the steps below will work.
Integration method
UserTesting exposes test sessions, participant responses, and research metrics via a REST API secured with API key authentication. Bubble connects using the API Connector plugin: add a group with UserTesting's base URL, store your API key in a shared header marked 'Private' so it never reaches the browser, then initialize calls against real API responses to auto-detect field schemas. All requests run server-side from Bubble's infrastructure — CORS is never an issue and participant data stays completely private.
Prerequisites
- A UserTesting account on a Professional or Enterprise plan with REST API access enabled
- A UserTesting API key from your account settings or provided by your UserTesting account manager
- The API Connector plugin installed in your Bubble app (Plugins → Add plugins → search 'API Connector' by Bubble)
- A Bubble account on any paid plan if you want to schedule recurring API calls via API Workflows
- Basic familiarity with Bubble's Repeating Group component and workflow editor
Step-by-step guide
Obtain your UserTesting API key and confirm API access
Before touching Bubble, confirm that your UserTesting account includes REST API access — this step will save you from building the integration only to hit a wall at initialization. Log in to UserTesting at https://app.usertesting.com. Click your name or avatar in the top-right corner and select Account Settings from the dropdown. Look for an API or Developer section in the left sidebar — this is where UserTesting displays your API key and shows the base URL for your account tier. If you do not see an API section, your plan does not include API access. Contact your UserTesting account manager or customer success representative and ask specifically about REST API access — they can enable it and send you documentation for the correct endpoint version and authentication header format for your account. Do not proceed to Bubble configuration until you have: 1. Your API key string 2. The base URL (typically https://api.usertesting.com/v1/ — but confirm this with your documentation) 3. The authentication header name (commonly X-Api-Key or Authorization: Bearer — confirm with your docs) Keep the API key private. It provides read access to all your UserTesting tests and participant data, including session video metadata. You will store it in a Private header in Bubble's API Connector, never in plain text anywhere in the app.
Pro tip: If UserTesting provides you with multiple API keys (e.g., a test key and a production key), use the production key in Bubble — UserTesting's test environment may have a different base URL or reduced data set that makes initialization harder.
Expected result: You have a UserTesting API key, confirmed base URL, and the correct authentication header name. You can proceed to configure Bubble.
Add the API Connector and configure the UserTesting API group
In your Bubble editor, click the Plugins tab in the left panel. Click 'Add plugins', type 'API Connector' in the search field, find 'API Connector' published by Bubble, and click Install. Once installed, the API Connector entry appears in your Plugins list — click it to open the configuration panel. Click 'Add another API' to create a new API group. In the Name field, type 'UserTesting API'. In the Authentication dropdown, leave it set to 'None' — you will use a manual header instead, which gives you more control over the exact header format UserTesting requires. Scroll to the Shared headers section. Click '+ Add a shared header'. In the Key field, type the authentication header name from your UserTesting documentation (for example: X-Api-Key). In the Value field, paste your UserTesting API key. Click the 'Private' checkbox next to this header — this marks the value as a server-side secret so it is never sent to or readable by the browser. This is the correct and only place your API key should live in Bubble. Add a second shared header: Key = Accept, Value = application/json. This ensures UserTesting returns JSON rather than any other format. The API group configuration now looks like this: ```json { "api_group_name": "UserTesting API", "base_url": "https://api.usertesting.com/v1", "shared_headers": [ { "key": "X-Api-Key", "value": "<YOUR_KEY_PRIVATE>", "private": true }, { "key": "Accept", "value": "application/json" } ] } ``` Do not click 'Initialize' at the API group level yet — initialization happens at the individual call level after you add your first endpoint.
1{2 "api_group_name": "UserTesting API",3 "base_url": "https://api.usertesting.com/v1",4 "shared_headers": [5 { "key": "X-Api-Key", "value": "<YOUR_KEY_PRIVATE>", "private": true },6 { "key": "Accept", "value": "application/json" }7 ]8}Pro tip: The base URL should NOT have a trailing slash if your call paths start with a slash (e.g., /tests). Or consistently use a trailing slash in the base URL and no leading slash in call paths. Bubble concatenates them directly — a mismatch causes 'Not Found' errors that look like authentication failures.
Expected result: The 'UserTesting API' API group appears in the API Connector plugin panel with a Private shared header containing your API key and an Accept: application/json header.
Add and initialize the 'List Tests' API call
With the UserTesting API group configured, click 'Add another call' inside the UserTesting API group. This is where you define the specific endpoint Bubble will call. Configure the call: - Name the call: List Tests - Set Method to GET - Set the Path to: /tests (this appends to your base URL, resulting in https://api.usertesting.com/v1/tests) - Set 'Use as' to 'Data' — this tells Bubble the call returns a list of records that can be displayed in a Repeating Group or used as a data source Before initializing, do NOT click 'Initialize call' immediately — the Initialize step requires a successful live API response to auto-detect the field schema. Bubble cannot detect fields from a failed or empty response. Click 'Initialize call'. Bubble sends a real GET /tests request to UserTesting using your Private API key. If the request succeeds, Bubble displays the response structure and lets you confirm the field paths. If initialization fails, you will see the error 'There was an issue setting up your call' — see the troubleshooting section for causes. Once initialized, expand the response schema Bubble detected. Look for the array key that contains your tests — it is likely 'tests', 'data', or 'results' depending on your UserTesting API version. In Bubble's field path selector, point the repeating data at this array key. Note important fields UserTesting returns per test record: - id — unique test identifier (you will use this as a dynamic path parameter for session queries) - name or title — test name - status — 'draft', 'live', or 'complete' - completed_session_count — sessions finished so far - participant_count or session_count_target — target participants - url or share_url — link to the UserTesting results page Bubble assigns auto-generated field names for each detected key. You will reference these when building the Repeating Group in the next step.
1{2 "call_name": "List Tests",3 "method": "GET",4 "path": "/tests",5 "use_as": "Data",6 "parameters": [7 { "key": "status", "value": "", "optional": true },8 { "key": "page", "value": "1", "optional": true },9 { "key": "per_page", "value": "25", "optional": true }10 ]11}Pro tip: If the /tests endpoint returns an object wrapping the array (e.g., { "tests": [...], "meta": {...} }), Bubble's Initialize will detect the nested 'tests' list. In the Repeating Group's data source, set 'Type of content' to the detected sub-type (the auto-named type Bubble creates for the tests array items) so each cell can access individual test fields.
Expected result: The 'List Tests' call appears in the API Connector with a green status indicator after initialization. Bubble has auto-detected fields like id, name, status, completed_session_count, and url from the UserTesting response.
Build the research dashboard Repeating Group
With the List Tests call initialized, you can now build the research dashboard page in Bubble's editor. Navigate to the Design tab and open (or create) the page where your research dashboard will live. Add a Repeating Group element and stretch it to fill the main content area. In the Repeating Group's property panel: - Set 'Type of content' to the API Connector sub-type Bubble created for your UserTesting tests (it will appear in the dropdown alongside your Bubble data types) - Set 'Data source' to 'Get data from external API' → select 'UserTesting API - List Tests' - Set 'Min height of row / cell' to 120px and 'Columns' to 1 for a card layout Inside the first cell of the Repeating Group, add these elements: 1. A Text element for the test name: 'Current cell's UserTesting API List Tests' → name field 2. A Text element for the status badge: same path → status field. Apply conditional formatting: when status = 'live', change background to yellow; when status = 'complete', change background to green 3. A Text element for participant progress: 'Completed: [completed_session_count] / [participant_count]' 4. A Link element (or Button with 'Go to external website' workflow) that opens the test's url field in a new tab — this links directly to the UserTesting results page Add a dropdown above the Repeating Group with static choices: All, Live, Complete. In the Repeating Group's Data source, add a filter: 'status = Dropdown's value' with a condition 'unless Dropdown's value = All'. This lets the team filter visible tests without additional API calls. For participant progress, add a visual progress bar using a Group element with a fixed background and a nested Group whose width is set to a percentage formula: (completed_session_count / participant_count) × 100%. Wrap this in a 'When current cell's completed_session_count is not 0' conditional to avoid division-by-zero. If you are building an internal admin tool and want to restrict who can see participant data, apply a Bubble Privacy Rule to the UserTesting API data type: Data tab → Privacy → Add a rule that only users with role 'Research' or 'Admin' can see this data. Always apply Privacy Rules when building Bubble pages that display data from external APIs containing participant information.
Pro tip: UserTesting's /tests response may be paginated. Add a 'Load more' button below the Repeating Group that increments the 'page' parameter in a Custom State and triggers a 'Load more data' action on the Repeating Group — this avoids fetching all tests in a single call, which may time out on accounts with hundreds of studies.
Expected result: The research dashboard page displays a Repeating Group of UserTesting tests. Each card shows the test name, color-coded status badge, participant progress, and a 'View Results' button that opens the UserTesting URL in a new tab. The status dropdown filter updates the visible tests instantly.
Add the session drill-down: Get Tests/{id}/Sessions call
The most valuable part of the research dashboard is the ability to click into a test and see individual participant sessions. This requires a second API Connector call with a dynamic path parameter. In the API Connector plugin panel, inside the UserTesting API group, click 'Add another call'. Configure: - Name: Get Sessions - Method: GET - Path: /tests/<test_id>/sessions (Bubble uses <angle_bracket> syntax to mark dynamic path segments — replace 'test_id' with the actual parameter name you want to use) - Use as: Data In the Parameters section, add: - Key: test_id, Value: a real test ID from your account (for initialization only), mark as a path parameter Click 'Initialize call'. Bubble sends a GET request with the real test ID and detects the session response schema. The session response typically contains fields like: id, participant_id, duration_seconds, rating, task_completion_rate, completed_at, and a url or video_url pointing to the session replay. Note: UserTesting video replay links in the session response open in UserTesting's own player — they are NOT embeddable iframes. Surface them as external URL buttons, not as embedded video elements. To wire up the drill-down, add a Popup or side panel to the dashboard page. When a test card in the Repeating Group is clicked, a 'Show Popup' workflow action fires and simultaneously saves the clicked test's id to a Custom State (name it 'selected_test_id', type Text). Inside the Popup, add a second Repeating Group for sessions with: - Type of content: the API Connector sub-type for sessions - Data source: 'Get data from external API' → UserTesting API - Get Sessions - Pass the 'selected_test_id' Custom State value as the test_id parameter Each session row in the inner Repeating Group shows: participant ID, duration in minutes (duration_seconds ÷ 60), overall rating (1-5), task completion rate, and a 'View Replay' button that opens the session URL in a new tab. For any page or popup that displays UserTesting participant session data, re-verify your Bubble Privacy Rules apply to the relevant data types. RapidDev's team has built hundreds of Bubble data dashboards with external API integrations — if you need help structuring your research operations tooling, reach out at rapidevelopers.com/contact.
1{2 "call_name": "Get Sessions",3 "method": "GET",4 "path": "/tests/<test_id>/sessions",5 "use_as": "Data",6 "path_parameters": [7 { "key": "test_id", "value": "<dynamic — set from Custom State>" }8 ],9 "query_parameters": [10 { "key": "status", "value": "completed", "optional": true }11 ]12}Pro tip: During initialization of the Get Sessions call, you must use a real test ID from a completed test — tests with zero sessions return an empty array and Bubble cannot detect any fields. Browse to your UserTesting dashboard, find a completed test with at least one session, and copy its ID for use as the initialization value.
Expected result: The 'Get Sessions' call is initialized with session-level fields detected (participant_id, duration_seconds, rating, task_completion_rate, url). Clicking a test card in the dashboard opens the Popup with a Repeating Group of that test's participant sessions.
Create the Research Insight data type and analyst notes workflow
To turn the dashboard from a live API viewer into a persistent research repository, create a Bubble data type that stores analyst notes, key findings, and tags linked to each UserTesting test. Navigate to the Data tab in Bubble's left panel and click 'New type'. Name the type 'Research Insight'. Add the following fields: - test_id (field type: text) — stores the UserTesting test ID this insight is linked to - analyst_notes (field type: text) — free-form observations from the research analyst - key_finding (field type: text) — the headline takeaway from this test - product_area (field type: option set or text) — the product area this research informs - tagged_by (field type: User) — records who added the insight - created_date (field type: date) — auto-set on creation On the research dashboard, below each test card in the Repeating Group, add an expandable Group (show/hide via a toggle workflow) containing: 1. A Multi-line Input for analyst notes 2. A text Input for key finding 3. An Option Set dropdown for product area 4. A 'Save Insight' button The 'Save Insight' button's workflow: Create a new 'Research Insight' with test_id = current cell's test id, analyst_notes = Multi-line Input's value, key_finding = Input's value, product_area = Option set dropdown's value, tagged_by = Current User. Below the save form, display existing Research Insights for this test using a nested Repeating Group: - Type of content: Research Insight - Data source: Search for Research Insights where test_id = current cell's test id - Sort by: created_date, descending Apply a Privacy Rule to the Research Insight data type: only users with role 'Research' or 'Admin' can view and edit insights. This keeps analyst findings from being visible to anyone with a Bubble app URL. This architecture combines UserTesting's raw session data (from the API) with your team's curated analysis (from Bubble's database), making the dashboard significantly more valuable than a read-only API viewer.
Pro tip: Index the test_id field on the Research Insight data type (Data tab → Research Insight → test_id → check 'This field is searchable'). Without indexing, the Search for Research Insights query will scan all insight records as your repository grows, slowing down the dashboard.
Expected result: The 'Research Insight' data type is created in Bubble with all fields. Clicking 'Save Insight' on any test card creates a linked record in Bubble's database. The nested Repeating Group below each test card shows previously saved insights for that test.
Common use cases
UX research queue and test status tracker
Build a Bubble admin page that lists all UserTesting tests with real-time status (draft, live, complete), a participant progress bar, and a direct link to the UserTesting results page. Research coordinators can filter by product area tag or date range. The dashboard replaces manual status-update emails and lets the entire team check test progress without logging into UserTesting.
Build a Bubble page that fetches all UserTesting tests from the API Connector and displays them in a Repeating Group. Each card shows: test name, status badge (color-coded: yellow = live, green = complete), completed sessions vs. target participant count, and a 'View Results' button that opens the UserTesting URL in a new tab.
Copy this prompt to try it in Bubble
Participant session drill-down and feedback viewer
Add a detail view to the research dashboard where clicking a test card loads individual participant sessions from the UserTesting API. Each session row shows duration, overall rating, and task completion rate. Analysts can click into a session to see the feedback summary and a link to the session replay in UserTesting's own player — all without leaving the Bubble admin tool.
When a test card is clicked in the Repeating Group, load that test's participant sessions from UserTesting's API and show them in a Popup. Each session row displays participant ID, duration in minutes, overall rating (1-5 stars), and a 'View Replay' external link. Include an analyst notes input that saves to a linked 'Research Insight' data type in Bubble.
Copy this prompt to try it in Bubble
Internal research repository with analyst tagging
Extend the dashboard with a 'Research Insight' Bubble data type that stores analyst notes, key findings, and product area tags linked to each UserTesting test ID. This creates a research repository where raw UserTesting session data from the API is paired with curated team synthesis stored in Bubble's database — a searchable archive that outlasts individual UserTesting studies.
Create a Bubble data type 'Research Insight' with fields: test_id (text), analyst_notes (text), key_finding (text), product_area (option set), tagged_by (user). On the research dashboard, show a 'Add Insight' form below each test card that saves to this data type. Display existing insights for each test grouped by product area.
Copy this prompt to try it in Bubble
Troubleshooting
API Connector shows 'There was an issue setting up your call' during initialization of the List Tests endpoint
Cause: The Initialize call sends a real request to UserTesting and requires a successful API response to detect the field schema. This error typically means the API key is wrong, the header name doesn't match what UserTesting expects, the base URL is incorrect for your account tier, or your UserTesting plan doesn't include API access.
Solution: First, test your API key directly: open your browser's developer tools or a REST client, make a GET request to https://api.usertesting.com/v1/tests with your API key in the header. If you get a 401, the key is wrong or the header name is incorrect — try X-Api-Key, Authorization: Bearer {key}, and Api-Key as variants. If you get a 403, your UserTesting plan may not include API access — contact UserTesting support. If you get a 200, the issue is in how the key is pasted into Bubble: check for leading/trailing spaces in the Private header value.
List Tests returns data but Get Sessions returns 404 Not Found for valid test IDs
Cause: The session endpoint path may differ from /tests/{id}/sessions in your UserTesting API version. Paths vary by account tier — some versions use /studies/{id}/responses, /test_sessions?test_id={id}, or a different nesting structure.
Solution: Check your UserTesting API documentation for the exact session endpoint path for your account version. In the API Connector, temporarily create a test call with the test ID hardcoded to rule out parameter passing issues. Try variants: /tests/{id}/sessions, /sessions?test_id={id}, and /studies/{id}/responses. Once you find the working path, update the Get Sessions call path and re-initialize.
Repeating Group shows no data despite the API Connector initialization succeeding
Cause: The 'Type of content' on the Repeating Group is not set to the API Connector sub-type, or the data source path points to the wrapping object rather than the array of tests. UserTesting responses often wrap the list in a key like 'tests' or 'data', and Bubble needs to be pointed at that array specifically.
Solution: In the Repeating Group's property panel, click 'Type of content' and look for the auto-named sub-type Bubble created during API Connector initialization (it will have a name like 'UserTesting API List Tests'). For the Data source, select 'Get data from external API' → 'UserTesting API - List Tests'. If Bubble still returns no items, return to the API Connector, click into the List Tests call, and verify that the detected response type points at the array — re-initialize against a response with at least one test record.
UserTesting session replay links open a UserTesting sign-in page instead of the recording
Cause: UserTesting session replay URLs are authenticated — they require the viewer to be logged into UserTesting with an account that has access to that test. The link in the API response is not a publicly shareable embed URL.
Solution: Surface replay links as external URL buttons that open in a new tab. Tell your team members they need to be logged into UserTesting in the same browser to view replays. Do not attempt to embed the replay as an iframe inside Bubble — UserTesting videos are not embeddable and the iframe will show a login wall. If you need a shareable view, use UserTesting's native 'Share Results' feature in the UserTesting dashboard to generate a public share link and store that URL in your Research Insight data type.
Bubble workflow that calls the API errors with 'API Connector call failed' when used in a scheduled API Workflow
Cause: API Workflows (backend workflows that run on a schedule or are triggered by external events) require a paid Bubble plan. On the Free plan, the option to enable API Workflows in Settings → API does not appear.
Solution: Upgrade your Bubble app to at least the Starter plan to enable API Workflows. For the research operations use case — where you want to periodically poll UserTesting for newly completed tests — a scheduled API Workflow is the cleanest approach. On the Starter plan, the option becomes available at Settings → API → 'This app exposes a Workflow API'. Note that each API Workflow run consumes Workload Units (WU) based on the complexity of the workflow and the data it processes — monitor your WU usage in the Logs tab.
Best practices
- Always mark your UserTesting API key as 'Private' in the API Connector shared header — this ensures the key runs server-side and never appears in browser network requests, protecting participant data and your UserTesting account from unauthorized access.
- Apply Bubble Privacy Rules to any data type that stores or references UserTesting participant data. Navigate to Data → Privacy and add a rule that restricts visibility to users with 'Research' or 'Admin' roles — without Privacy Rules, all authenticated Bubble users can query this data.
- Use a 'selected_test_id' Custom State to pass the clicked test's ID to the session drill-down popup rather than embedding the ID in the URL — this avoids exposing test IDs in the browser address bar and keeps the research dashboard's state management clean.
- Initialize API Connector calls against completed tests with real session data, not draft or live tests with zero sessions — empty array responses prevent Bubble from detecting field schemas, causing initialization to fail silently.
- Index the test_id field on your Research Insight data type (Data tab → field → 'This field is searchable') to keep the 'Search for Research Insights where test_id = X' query fast as your research repository grows over time.
- Design the research dashboard with a minimum Bubble paid plan in mind if you want scheduled polling of newly completed tests via API Workflows. Factor in Workload Unit consumption for polling workflows — if new tests complete infrequently, polling every 6 hours is a reasonable WU-efficient interval rather than hourly.
- Verify the exact authentication header name and base URL from your UserTesting documentation before building in Bubble — these details vary by account tier and API version, and starting with the wrong header name means your Initialize call will fail with a 401 that looks unrelated to the header format.
Alternatives
Choose FullStory if you need continuous passive session recording of all real users in your Bubble app (Bubble injects the snippet, FullStory records every visit). UserTesting is better for scheduled moderated or unmoderated research with specific participant tasks and structured feedback — the two tools complement rather than replace each other.
Choose Amplitude if you need quantitative behavioral analytics and funnel analysis on real user activity in your Bubble app. UserTesting gives you qualitative video feedback from recruited participants; Amplitude gives you quantitative event data from all actual users. Most mature product teams use both.
Choose SurveyMonkey if you need survey-based user feedback at scale with a well-documented API and broad free-tier access. UserTesting is better for video-based usability sessions with task completion metrics; SurveyMonkey is better for high-volume satisfaction surveys and NPS tracking.
Frequently asked questions
Does UserTesting offer REST API access on all plans, or only Enterprise?
UserTesting's REST API is available on Professional and Enterprise plans only. Basic individual accounts and small team plans typically do not include API access. If your UserTesting account settings page does not show an API or Developer section, contact your UserTesting account manager or customer success representative to ask about enabling API access — they can also provide the correct base URL and authentication header name for your specific account configuration.
Can I embed UserTesting session recordings inside a Bubble page?
No — UserTesting session replay URLs require the viewer to be authenticated in UserTesting. The videos are not embeddable iframes. The correct approach is to surface replay links as external URL buttons in your Bubble Repeating Group that open in a new tab. Users who click a replay link must be logged into UserTesting in the same browser to view the recording. If you need a shareable public link, use UserTesting's native 'Share Results' feature to generate one and store the URL in your Bubble Research Insight data type.
Does Bubble's API Connector keep UserTesting API calls server-side?
Yes. Any header marked 'Private' in the API Connector runs exclusively from Bubble's backend servers and is never sent to or visible in the user's browser. This means your UserTesting API key — which provides access to participant names, session data, and video metadata — stays completely off the browser. This is why no external proxy function is needed: Bubble's server-side API Connector architecture is the right solution for protecting credentials like the UserTesting API key.
How do I handle pagination if my UserTesting account has hundreds of tests?
Add 'page' and 'per_page' query parameters to your List Tests API Connector call. In Bubble, use a Custom State (type: number, default: 1) to track the current page number. Wire a 'Load more' button below the Repeating Group to increment the Custom State and re-trigger the API call with the updated page value. Use the 'Load more data into a list' action on the Repeating Group to append the next page results rather than replacing the existing ones.
Can I schedule a Bubble workflow to check for newly completed UserTesting tests automatically?
Yes, but this requires a paid Bubble plan — API Workflows (backend workflows that run on a schedule) are not available on the free tier. Once you upgrade to the Starter plan or above, go to Settings → API, enable 'This app exposes a Workflow API', and then create a Backend Workflow with a recurring schedule. The workflow can call your UserTesting API Connector, filter for tests completed since the last run, and create or update Research Insight records in Bubble's database. Note that each workflow run consumes Workload Units (WU).
What Bubble Privacy Rules should I set for UserTesting participant data?
Navigate to the Data tab → Privacy and add rules for any data type that stores or references UserTesting data. At minimum: only users with role 'Research' or 'Admin' should be able to view Research Insight records. If you are storing participant-linked data (session IDs, feedback text) directly in a Bubble data type, add a rule restricting who can search and view those records. Without explicit Privacy Rules, any authenticated user in your Bubble app can query this data through the client — which is a compliance risk if participant data includes personally identifiable information.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation