Welcome to the Getting Started guide for RoundtableJS using Roundtable Cloud.

Creating a New Survey

  1. Navigate to surveys.roundtable.ai
  2. Click on the + New Survey button

Basic Usage

In the Roundtable Cloud editor, you can create your survey using JavaScript. Here’s a basic example:

// RoundtableJS is already defined, so we can destructure the components we need
const { Survey, SingleSelect } = RoundtableJS;

// Create a new Survey instance
const survey = new Survey();

// Define the first question as a single-select question
const question1 = new SingleSelect({
    id: 'question1',
    text: 'A question',
    options: ['Option 1', 'Option 2'],
});

// Define the second question as a single-select question
const question2 = new SingleSelect({
    id: 'question2',
    text: 'A second question',
    options: ['Option 1', 'Option 2'],
});

// Define the survey logic
async function runSurvey() {
    // Show the first page with the first question
    await survey.showPage({ id: 'page1', elements: [question1] });
    
    console.log('Page 1 completed');
    
    // Show the next page with the second question
    await survey.showPage({ id: 'page2', elements: [question2] });
    
    // Finish the survey
    survey.finishSurvey();
}

// Start the survey
runSurvey();
Roundtable Cloud automatically handles survey deployment and responses for you.

HTML Structure

Roundtable Cloud uses the following HTML structure for surveys:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Survey</title>
    <style>
        * {
            box-sizing: border-box;
        }
        .hidden {
            display: none;
        }
    </style>
    <script src="https://fpjscdn.net/v3/1jGWJFXzumuzHH3H5IqI/iife.min.js"></script>
</head>
<body>
    <div id="survey-container" class="hidden">
        <div id="page-container"></div>
        <div id="navigation">
            <button id="next-button">Next</button>
        </div>
        <div id="finish"></div>
    </div>
    <script>
        window.RUNNING_CONTEXT = 'production';
        const surveyId = '';
    </script>
    <script src="https://cdn.jsdelivr.net/npm/roundtable-js@0.2.3/dist/bundle.js"></script>
    <script src="https://surveys.roundtable.ai//js/extendedRoundtableJS.js"></script>
    <!-- Your survey code will go here -->
</body>
</html>

Data Quality (Enterprise)

Roundtable Cloud Enterprise offers advanced data quality features to ensure the integrity of your survey responses.

Device Fingerprinting

Every survey response includes the following metadata:

FieldTypeDescription
Start timestrISO 8601 string representing when the survey page was first loaded (in UTC)
Browser languagestrPrimary language of the user’s browser
End timestrISO 8601 string representing when the finishSurvey() method was called (in UTC)
Response IDstrUnique string identifier for the survey session
Fingerprint IDstrUnique identifier for the participant stable within and across surveys
IP address countrystrDetected country based on the participant’s IP address
Is botboolIndicates whether the client is an automated script (true) or human (false)
Using VPNboolIndicates whether the participant is using a VPN
Using incognitoboolIndicates whether the participant is in incognito/private browsing mode
Browser tamperingboolIndicates whether we detected browser tampering
Using virtual machineboolIndicates whether the browser is running in a virtual machine

The following fields are always added regardless of the plan:

  • Start time
  • End time
  • Response ID

Open-end Analysis

Roundtable Alias is automatically added to every OpenEnd question, unless includeAlias for that open-end is set to false.

Global Data

If Alias is run (i.e., number of tracked open ends ≥ 1), the following is added to every response:

FieldTypeDescription
Alias flaggedboolIndicates whether any checks failed
Alias errorboolIndicates if there was an error in processing the request
Alias num checks failedintA counter for how many checks failed across all tracked questions
Alias modelstrSpecifies which Alias model was run

Per-Question Data

For each tracked open-end question, the following is added:

FieldTypeDescription
[questionId] Alias flagsstrA string list of any failed checks for that question
[questionId] Alias response groupintAn integer value representing a response cluster of duplicated responses
[questionId] Alias effortintAn integer, 0-10, indicating the effort score of the response (higher values correspond to higher effort)

Alias tracks a maximum of 6 open-end questions. If more than 6 are given, it runs on the first 6 open-ends.

By leveraging these data quality features, you can ensure the reliability and validity of your survey responses.

Deployment

Once you’ve created your survey in the Roundtable Cloud editor:

  1. Click Publish survey to make your survey live

Roundtable Cloud will provide you with a unique URL for your survey, which you can share with participants.