Installation sandbox

A scratch page for developers to try a UserView install without touching production. Installing is one snippet in your <head> — paste it in, press Run, and you'll know within seconds whether cobrowsing is live. No build step, no config file, nothing to deploy.

How this works

Three steps, and two of them happen in your UserView account — not here.

  1. 1In your UserView account

    Copy your public API key

    Find it on the installation page of your dashboard. No account yet? Sign up free, or ask your account admin for it.

  2. 2On this page

    Paste it in and press Run

    The snippet fills in automatically. When the console below reads Connected, UserView is live and a lookup code appears. Only the preview is shared — the rest of this page stays private.

  3. 3Back in your UserView account

    Start a session against this page

    Open your dashboard as an agent and enter the lookup code from step 2. You'll be cobrowsing this page — keep this tab open while you do.

The sandbox

Edit the page, press Run, watch it load

What the sandbox does with your key

It injects the standard dashboard snippet into the <head> of the page below, before your markup — the same code you would paste on your own site, unchanged.

Not running
Your page Not savedindex.html
Live preview
Console

Nothing yet.

Nothing here is saved. Your API key and any edits to the page live only in this tab — refresh or navigate away and it all resets to the starter page. Keep your own copy of anything you want to keep.

This page only proves the install works. The actual cobrowsing session is started from your UserView dashboard, not from here.

Control what agents can see and do

Both of these are already wired into the test page on the left — run it, start a session, and try them.

Hide sensitive data

Add the no-upscope class to any element. Masked content never reaches the agent — and never passes through UserView's servers at all.

<div class="no-upscope">
  <input value="4242 4242 4242 4242" />
</div>

Prefer to keep it out of your markup? List CSS selectors in maskedElements at init, or in the dashboard under Settings » Co-browsing.

Element masking docs

Stop agents clicking something

Masking hides an element; this blocks interaction with one. Add the attribute to anything the agent shouldn't be able to click — no init config needed.

<button data-upscope-no-remote-control="true">
  Delete account
</button>

Need it conditional — only on certain pages, or only for some elements? Pass allowRemoteMiddleware at init and return false for the ones to block.

Upscope('init', {
  allowRemoteMiddleware: element => {
    if (
      window.location.pathname === '/checkout' &&
      element.closest('#pay')
    ) return false;
    return true; // fall back to default behavior
  },
});

Either way the visitor can still click it themselves — only the agent is blocked. Try the two cards in the preview: "Add a seat" is controllable, "Delete account" isn't.

Configuration options

The preview runs on this page's own origin so the SDK behaves as it would on your site. Once it reports Connected, give the lookup code to an agent in your dashboard — or open the watch link — to start a session against this page.

Transform Your Customer Support

Join hundreds of companies using UserView to deliver faster, more effective customer support experiences.