# Glance Documentation Context This file contains the full technical documentation for Glance. Use this context to answer user questions about the SDK, API, and Integration patterns. ================================================================= FILE: /404 =================================================================
The page you are looking for might have been moved, deleted, or possibly never existed.
Return to Homehttps://www.glance.net/api/v0
{% /api-left %}
{% api-right %}
/api/v0/groups/{groupId}/roles
### Path Parameters
| Parameter | Type | Description |
|---|---|---|
groupId |
integer | Required. The ID of the group. |
| Field | Type | Description |
|---|---|---|
roleId |
integer | The unique ID of the role. |
name |
string | Display name. |
inUse |
boolean | Is assigned to users? |
/api/v0/groups/{groupId}/roles
### Request Body
| Parameter | Type | Description |
|---|---|---|
name |
string | Required. Name (Max 70 chars). |
settings |
object | Permission settings. |
| Field | Type | Description |
|---|---|---|
roleId |
integer | The ID generated for the new role. |
name |
string | The role name. |
/api/v0/groups/{groupId}/roles/{roleId}
### Path Parameters
| Parameter | Type | Description |
|---|---|---|
roleId |
integer | Required. Role ID. |
| Field | Type | Description |
|---|---|---|
roleId |
integer | The unique ID of the role. |
settings |
object | Full list of permissions. |
/api/v0/groups/{groupId}/roles
### Request Body
| Parameter | Type | Description |
|---|---|---|
roleId |
integer | Required. ID to update. |
| Field | Type | Description |
|---|---|---|
status |
string | Returns "ok" if successful. |
Role must be unused before deletion.
/api/v0/groups/{groupId}/delete-roles
### Request Body
Array of Role IDs.
### Response Schema
| Field | Type | Description |
|---|---|---|
status |
string | Returns "ok" if successful. |
data-glancebutton="[Glance action]" to your page will prevent the Presence event from firing. If Presence is needed, utilize the JavaScript methods below instead of the data attribute.
Use the following code to add the `showTerms` command to your website:
```html
Cobrowse with an Agent
```
---
### Method 2: startSession
The `startSession` command starts a session immediately (and displays the Cobrowse UI) without a secondary acceptance modal.
Use the following code to add the `startSession` command to your website:
```html
Start Cobrowse Session
```
---
## Style the Button
You can customize the look and feel of the default button and modal directly in Account Management.
1. Log in and go to **Account Management > Settings**.
2. Click **Manage your Cobrowse settings** in the bottom right corner.
3. Select **Manage Cobrowse customizations** to open the [Cobrowse customization tool](https://help.glance.cx/glance-cobrowse/glance-cobrowse-customizing/cobrowse-widget-customization/).
## Default vs. Custom UI
Glance provides a default Cobrowse UI (the border, the session code bar, and the end session button). This is loaded automatically.
If you wish to build a completely custom interface (e.g., your own React/Angular components), you can suppress the default UI:
1. Set `data-ui="custom"` on your script tag to prevent loading the default UI script.
2. Implement the `setUIReady()` call in your code.
3. Listen for session events to update your own UI.
Refer to the [Cobrowse Visitor API](/api) page to customize the visitor experience.
## Session Code
Every Cobrowse session has a **Session Code**. This is a unique identifier available to both the visitor and agent, allowing them to connect.
The code may be randomly generated and exchanged over the phone, or it can be assigned automatically via integration with the customer website.
After an unidentified visitor clicks the **Show** button, the session code is displayed:
=================================================================
FILE: /developer/glance-cobrowse/attributes
=================================================================
The script tag generator allows Glance administrators to modify attributes to create a custom script tag that enables Cobrowse on websites. This user-friendly interface will let users fill out each individual attribute for the script tag and then generate a script that can be copied and pasted into their website.
The following attributes can be found within the script tag.
## Read-Only Tag
Read-only attributes are generated based on previous selections made by the user. The following attributes are generated within the script as read only:
* **script id** - The identifier used for this script, defaults to `glance-cobrowse`.
* **src** - The source of the cobrowse loader script.
* **data-groupid** - Your assigned Group ID number provided by Glance.
* **data-site** - The environment (staging or production) that this tag will be deployed to. Select the **Staging** or **Production** tab to identify what needs to be generated for this script.
* **data-ws** - The webserver being used (e.g., `www.glance.net`). When implementing the script tag on your website, this can be changed for use in beta or a customer-specific environment.
*Example configuration:*
- **Domain:** `www.abc.com`
- **Helper Page URL:** `https://www.abc.com/glancehelper`
4. In the bottom left corner of the **Settings** tab, click on **Manage your Cobrowse settings**. Scroll down to the **Script Tag Generator** section.
---
## 2. Customize the Script Tag
Modify your script tag by updating the attributes directly in the generator. Refer to the [Attributes Guide](/attributes) for a complete breakdown of each option.
file:// urls and localhost:// won't work. You need to add an entry to your lmhosts file.
This is a paragraph element in red
This is a paragraph element in red
``` To determine if invalid HTML is causing the issue, try running `GLANCE.checkHTML()` and `GLANCE.runTroubleshooter()` from the visitor-side browser console. These tools scan for common types of invalid HTML but may not catch every issue. If no problems are reported, try comparing the visitor's DOM to the agent's, focusing on the point where the structures begin to diverge. ================================================================= FILE: /developer =================================================================Tools, libraries, and guides to help you integrate Glance's co-browse and video capabilities directly into your web, mobile, and desktop applications.
https://docs.glance.net/llms.txt
View File →
## Prerequisites
* All high-level prerequisites as listed in the [Getting Started](../agent_workspace/) section.
* Access to an [Amazon Connect Instance](https://docs.aws.amazon.com/connect/latest/adminguide/tutorial1-set-up-your-instance.html).
## Add the Glance Application
To incorporate the Glance Application in Amazon Connect:
1. Navigate to the Third-Party Applications section in Amazon Connect, and click **Add Application**.
2. Under **Basic Information**, input the following:
* For **Display name**, enter "Glance".
* For **Namespace**, enter "Glance".
* Enter an optional description for the Glance application.
3. Under the **Access** section, enter the following:
* For **Access URL**, enter the URL provided by Glance.
* For **Approved Origins**, enter `https://www.glance.net`, and the URL for your IDP environment, e.g. `https://
## Joining Sessions from Amazon Connect
1. Navigate to the Agent Workspace application.
2. From the Agent Workspace, click the **Apps** menu and select the Glance application.
3. You will be prompted to sign in to your Identity Provider. Log in with your credentials.
4. The Glance application is now available and you can join Glance Sessions.
=================================================================
FILE: /developer/integrations/agent_workspace/dynamics
=================================================================
## Prerequisites
* All high-level prerequisites as listed in the [Getting Started](../agent_workspace/) section.
## Add the Glance Application
The following steps describe how to embed Glance controls within the Customer Service Hub workstream.
1. Click the **Pages** tab.
2. Select the view and form to add the Glance controls (i.e., **Customers** -> **Contacts view** -> **Contacts form**) then click the pencil icon.
3. Select the **Components** tab from the left menu, scroll down to the **Layout** section and drag **1-column tab** to the form on the right.
4. Rename the section to "Glance Collaboration".
5. Scroll down to the **Display** section and drag **</> HTML web resource** into the **Glance Collaboration** section.
6. Within **Add HTML web resource** click **+ New web resource**.
7. Create an HTML file containing an iframe, replacing "GLANCE URL" with the organization-specific URL provided by Glance. For example:
```html
```
8. Click **Choose file** and upload the HTML file created in the previous step. Complete the rest of the form and click **Save**.
9. Click **Save and publish** in the upper right corner. If changes to the iframe are required, utilize the **Properties** panel on the right.
## Joining a Session from Microsoft Dynamics
1. Navigate to the Dynamics Customer Service Hub.
2. Select either **Contacts** or **Cases** from the left navigation pane.
3. Click the **Summary** tab.
4. Log in with your credentials when prompted to sign in to your Identity Provider.
5. The Glance application is now available within the Glance Collaboration section.
=================================================================
FILE: /developer/integrations/agent_workspace/five9
=================================================================
## Prerequisites
* All high-level prerequisites as listed in the [Getting Started](../agent_workspace/) section.
* Access to a Five9 Instance, and access to the Virtual Contact Center (VCC) Admin Application.
* You have created a campaign and associated skill for agents you want to utilize Glance.
* You've added the following URLs to the Allowed Sites list:
* In the Virtual Contact Center (VCC) application, navigate to **Actions > Configuration > Web > Web Sites Allowed to Access REST API (CORS)** section and add the following URLs:
* Your IDP URL, e.g. `https://
## Add the Glance Connector to Five9
1. From the Virtual Contact Center (VCC) Admin Application, under the **Connectors** section, click the plus sign to create a new connector for Glance.
2. Enter a name and description.
3. For **URL**, enter the URL provided by Glance.
4. For **Method**, select **GET**.
5. For **Execution Mode**, choose **In Browser**.
6. For **CTI Web Services**, choose **Current browser window**.
7. Click **Save**.
## Joining Glance Sessions from Five9
1. Navigate to the Agent Desktop Application.
2. When logging in, select the skill you associated with Glance.
3. From the Agent Dashboard, select the Campaign where Glance is enabled.
4. When the interaction is started, you will be prompted to sign in to your Identity Provider to access the Glance application. Log in with your credentials.
5. The Glance application is now available and you can join Glance Sessions.
=================================================================
FILE: /developer/integrations/agent_workspace
=================================================================
This section provides samples for integrating Glance into your agent workspace. The sample package provides an agent-side interface that enables agents to join [Glance Cobrowse](https://help.glance.cx/glance-cobrowse/) and [Mobile Cobrowse](https://help.glance.cx/mobile-app-sharing/) sessions, as well as use [Mobile Camera Share](https://help.glance.cx/mobile-camera/) functionality.
## Getting Started
Before using the Glance agent-side experience, ensure the following prerequisites have been completed:
* The organization has been provisioned a [Glance Group](https://help.glance.cx/account-management/manage_users/).
* Users have been provisioned with valid Partner User IDs.
* The website is tagged with the [Glance Cobrowse script](https://developer.glance.cx/glance-cobrowse/add_tag/), and includes a [button or link](https://developer.glance.cx/glance-cobrowse/create_link/) to start a Cobrowse session.
* [SAML authentication](https://help.glance.cx/integrations/saml/saml_setup/) with Glance is enabled through an Identity Provider.
* Onboarding with Glance Customer Success has been completed. As part of this process, Glance provides an organization-specific URL and configures an allow-list for the agent desktop. If you need assistance, [Contact Glance](https://help.glance.cx/account-management/contact/).
## Agent Interface
The initial interface offers agents two options for connecting with a visitor: they can click the **Enter Key** button to start a Cobrowse session using a session key provided by the visitor, or click the **Camera Share** button to send an SMS link that allows the visitor to share their mobile phone camera.
### Join with Key
Input the code received from the visitor and click the **Join** button.
### Camera Share
Input the visitor's mobile phone number and click the **Send** button. To change the country code, click the flag icon and select the appropriate region from the list.
### Presence
When Presence is enabled, you can instantly join the visitor's session by clicking the orange **Join** button.
=================================================================
FILE: /developer/integrations/agent_workspace/twilio_flex
=================================================================
## Prerequisites
* All high-level prerequisites as listed in the [Getting Started](../agent_workspace/) section.
* Access to a [Twilio Flex Instance](https://www.twilio.com/docs/flex), and have followed the steps to create a [Flex Plugin](https://www.twilio.com/docs/flex/quickstart/getting-started-plugin) through the tutorial.
## Adding Glance to a Flex Plugin
1. After following the tutorial for the Flex Plugin listed above, replace the code in the Bing example with the following code:
```javascript
import React from "react"
import { FlexPlugin } from "@twilio/flex-plugin"
import CustomTaskList from "./components/CustomTaskList/CustomTaskList"
const PLUGIN_NAME = "SamplePlugin"
export default class SamplePlugin extends FlexPlugin {
constructor() {
super(PLUGIN_NAME)
}
/**
* This code is run when your plugin is being started
* Use this to modify any UI components or attach to the actions framework
*
* @param flex { typeof import('@twilio/flex-ui') }
*/
async init(flex, manager) {
flex.CRMContainer.defaultProps.uriCallback = (task) => {
return task
? `URL FROM GLANCE`
: "URL FROM GLANCE"
}
}
}
```
2. [Deploy and release](https://www.twilio.com/docs/flex/quickstart/getting-started-plugin#deploy-your-flex-plugin) the plugin to your environment.
## Joining Glance Sessions from Twilio Flex
1. Navigate to the Twilio Flex Agent desktop.
2. The Glance application is available in the CRM container window.
3. You will be prompted to sign in to your Identity Provider to access the Glance application. Log in with your credentials.
4. The Glance application is now available and you can join Glance Sessions.
=================================================================
FILE: /developer/integrations
=================================================================
Glance partners with your integrations team to deliver a seamless transition into your website, CCaaS, or CRM. Many of our customers get started with the Browser Agent SDK and are supported every step of the way by our dedicated Developer Experience (DevEx) team to ensure success.
Glance has a proven track record of integrating with industry-leading platforms, including:
- Salesforce
- Amazon Connect
- Microsoft Dynamics
- Five9
- Twilio Flex
- Genesys
=================================================================
FILE: /developer/integrations/twilio_webchat
=================================================================
Flex WebChat must be loaded from the CDN. Glance does not provide an NPM package, which is required for React deployments.
1. Install [Flex WebChat](https://www.twilio.com/docs/flex/developer/messaging/webchat/setup#option-1).
2. The following code example contains Flex WebChat and Glance Presence functionality. Update the code with your Account SID and Flex Flow SID:
```html
```
3. Set up a [Flow](https://www.twilio.com/console/studio/flows) for Flex WebChat:
1. From the Twilio Console > **Studio** > **Manage Flows**, select **Webchat Flow**.
2. In the **Widget Library** > **Flow Control**, select and drag **Set Variables** onto the canvas. Click the widget to edit.
3. Click the plus sign on the right side of **Variables**.
4. For **Key**, input `glance_visitor_id`.
5. For **Value**, input `{{trigger.message.ChannelSid}}`
6. **Save** the variable.
7. **Save** the widget.
8. Wire the widget to the **Incoming Message Trigger**.
9. In the **Widget Library** > **Connect Other Products**, select and drag **Send to Flex** onto the canvas. Click the widget to edit.
10. For **Workflow**, select **Assign to Anyone**.
11. For **Channel**, select **Programmable Chat**.
12. For **Attributes**, input `{"name": "{{trigger.message.ChannelAttributes.from}}", "channelType": "{{trigger.message.ChannelAttributes.channel_type}}", "channelSid": "{{trigger.message.ChannelSid}}", "glance_visitor_id": "{{flow.variables.glance_visitor_id}}"}`
13. **Save** the widget.
14. Wire the widget to the **Set Variable Widget** that you just created.
15. Select **Publish**.
=================================================================
FILE: /developer/legacy_api/activity
=================================================================
The Activity Service API provides developers with programmatic access to historical session data, allowing you to seamlessly query session counts, detailed participant information, and overarching usage metrics. Implemented via Windows Communication Foundation (WCF), this versatile web service supports integration through SOAP/XML, JSON requests, and standard HTTPS POSTs, making it highly compatible with a wide range of backend reporting systems, custom dashboards, and CRM workflows.
In this section, you will find a comprehensive reference for interacting with the Activity Service. This includes a breakdown of all available **Methods** and **Endpoints** (such as retrieving active, completed, or user-specific sessions), the global **Conventions** required for authentication and date formatting, and a detailed mapping of **Session and Guest Statuses** to help you accurately track the lifecycle of every cobrowse, screen share, and video interaction.
=================================================================
FILE: /developer/legacy_api/activity/status
=================================================================
Glance service is provided via Sessions. Each successful session has two or more Session Guests.
## Session Guest Status
These are possible guest status values:
* **A** - Active (guest connected)
* **C** - Completed (guest has left)
* **D** - Guest declined the session
* **E** - Unexpected error occurred
* **J** - Joining (guest is in process of connecting but has not yet connected)
* **P** - Another viewer instance was opened by the same guest
* **R** - Temporary status that occurs when the server is waiting for a reconnect from the client
* **T** - Session timed out
* **W** - Temporary status that occurs when a different display side has connected but updates are not yet being sent
* **X** - Guest left session, by closing a browser window or dropping the session some other way
=================================================================
FILE: /developer/legacy_api/activity/webservices_activity
=================================================================
This is the API for querying for session counts and session and participant details.
**Endpoint:** `https://www.glance.net/services/activityservice.asmx`
The WSDL is located here: `https://www.glance.net/services/activityservice.asmx?WSDL`
partnerUserId can be assigned by Glance, but will typically be supplied by you, if you provision users with the Glance Provisioning API. For more information on provisioning, contact Glance support.
setVisitorId, the initial value of visitor id on page load can not be null. If the value of the visitor id on page load is not known, use a placeholder value and then change it with setVisitorID at a later date.
origin and xid may be up to 255 Latin-1 (ISO/IEC 8859-1) characters. For character type and length limits on name, email, and phone see this page.
allow="camera *; microphone *"
insession() without parameters is possible but is not supported. Currently, this will return an array of sessions that the agent is participating in, but this functionality should not be relied on and will be separated into a different method in a future release.
[groupid] in the above URLs must be replaced with your Group ID.
It contains one form field and one button. When the guest clicks **Continue**, your page will run code similar to the following, leveraging the Glance SDK in various places:
```javascript
async function getJoinCode() {
// define the guest's name, or use the generic "Guest" if the field is blank
var guestName = document.querySelector("#GuestName").value
? document.querySelector("#GuestName").value
: "Guest";
// Show or hide UI as appropriate, for example:
$("#headermessagetext").hide();
$("#guestname").hide();
$("#waitingtext").show();
$("#joincode").show();
let connector = new GLANCE.Guest.Connector({
groupid: groupid, // Make sure to replace with your unique group id
ws: "www.glance.net",
});
connector.addEventListener("timeout", () => {
// Perform functions/adjust UI in the event that the agent fails to admit the guest before the code times out
});
connector.addEventListener("error", () => {
// Perform functions/adjust UI in the event of an error
});
let guestcode = await connector.connect(guestName);
if (!guestcode.ok) {
// Perform functions/adjust UI in the event of an error
} else {
// guestcode.code contains the code to be displayed to the user. Adjust the UI and display it to the user.
// guestcode.timeout indicates the number of seconds until the code will timeout.
// You may optionally use this to extend the timeout, possibly in response to a user prompt if desired.
}
}
```
When the agent admits the guest successfully, the guest's browser will automatically be redirected to the **Guest Viewer** page (hosted on glance.net) so this event does not need to be handled explicitly.
After the session, the guest is redirected to a URL that can be specified in the **Account Management** area of glance.net.
Refer to the [Glance Guest API Reference Document](https://glance.gitlab.io/glance-client-src/GLANCE.Guest.html) for a breakdown of the events, parameters, and additional functionality available.
=================================================================
FILE: /developer/sdk
=================================================================
The Glance SDK suite provides developers with the tools needed to embed seamless, real-time collaboration directly into any platform. Whether you are building a custom agent desktop, integrating into a native mobile app, or creating a frictionless join experience for your customers, our SDKs offer flexible, out-of-the-box components and granular API controls.
Choose the SDK that fits your implementation:
{% launcher %}
{% card
title="Browser Agent SDK"
description="Embed the Glance Agent experience directly into your web-based CRM, CCaaS, or custom support portal."
href="/sdk/browser-agent/"
icon="🌐"
/%}
{% card
title="Mobile SDK"
description="Integrate cobrowse, screen sharing, and masking natively into your iOS and Android applications."
href="/sdk/mobile/"
icon="📱"
/%}
{% card
title="Guest Join SDK"
description="Create frictionless, one-click session join experiences for your customers directly in the browser."
href="/sdk/guest-join/"
icon="🤝"
/%}
{% /launcher %}
## Choosing the Right SDK
* **Building for the Agent:** If you are a developer tasked with integrating the Glance agent viewer into tools like Salesforce, Zendesk, Genesys, or your own proprietary web dashboard, you will want the **Browser Agent SDK**.
* **Building for the App User:** If you need to allow customers to share their mobile app screen with your support team, use the **Mobile SDK** (available for iOS and Android).
* **Building for the Web User:** If you want to dynamically launch sessions for customers visiting your website without requiring them to download anything, the **Guest Join SDK** is your go-to.
=================================================================
FILE: /developer/sdk/mobile_sdk/flows
=================================================================
The following flowcharts illustrate Glance's operations when using the mobile SDK.
## Initialize Glance and Join a Session
## Presence Connect Flow from Mobile SDK Host App to Custom Tab in Web Browser
=================================================================
FILE: /developer/sdk/mobile_sdk
=================================================================
The mobile SDK is easy to integrate into your mobile apps and pairs with pre-built integrations to agent desktops of CRM, CCaaS, and custom systems to offer a complete, out-of-the-box solution.
## iOS
Get started integrating Glance into your iOS Apps with Swift or Objective-C.
* **[iOS SDK](https://gitlab.com/glance-sdk-public/glance-sdk-ios-releases):** Provides essential core features, enabling our customers to implement event handling without a UI.
* **[iOS Default UI SDK](https://gitlab.com/glance-sdk-public/glance-default-ui-ios-releases):** An out-of-the-box implementation of our iOS SDK with a default UI and sample app that can be copied and customized to fit a company's brand.
## Android
Get started integrating Glance into your Android Apps with Kotlin or Java.
* **[Android SDK](https://gitlab.com/glance-sdk-public/glance-sdk-android-releases):** Provides essential core features, enabling our customers to implement event handling without a UI.
* **[Android Default UI SDK](https://gitlab.com/glance-sdk-public/glance-default-ui-android-releases):** An out-of-the-box implementation of our Android SDK with a default UI and sample app that can be copied and customized to fit a company's brand.
=================================================================
FILE: /developer/sdk/mobile_sdk/masking_android
=================================================================
In **Glance Mobile Cobrowse**, masking is a critical feature used to protect sensitive or private information on the end user�s screen during a live session with an agent. By selectively hiding specific UI elements�such as passwords, credit card fields, or health data�from the representative's view, masking allows companies to safeguard sensitive information while still providing real-time support.
To enable masking during sessions, developers should use the Glance Mobile SDK to designate which portions of the screen should be hidden from agents. Masking integrates with the native rendering layer of the mobile app, allowing developers to selectively hide sensitive views. There are four main contexts in which masking can be applied:
* **View Masking (Traditional Android Views)**
* **Jetpack Compose Masking**
* **WebView Masking**
* **Keyboard Masking**
Below are best practices for each of these contexts, as well as general masking guidelines that apply in all situations.
---
## General Masking
In all contexts, once an element is designated to be masked by the SDK, it will remain obscured from the agent's view for the duration of all current and future sessions. Given this behavior, masking should be applied at the time views are created�during layout or initialization�rather than waiting until a session has begun. This ensures that masking is consistently applied, even if a session starts after the views are already rendered or if views are recreated during the app lifecycle.
Similarly, when a view is destroyed, masking should be removed. In most cases, masking is automatically removed when the view is destroyed, but best practice is to explicitly remove it in the view's destructor. Masking is always applied if the view is visible. If a view is destroyed and no longer present, masking will be removed and will not appear during sessions.
There are, however, situations in which a mask might be applied even though the view is not visible�primarily when the view is covered by another view, which the SDK may not detect. In such cases, if masking is not desired, it should be removed and reapplied when the view becomes visible again.
### Takeaways
* Masked elements remain hidden for the entire session once registered with the SDK.
* Apply masking during view initialization or layout, not after a session begins.
* Always remove masking when a view is destroyed or removed and no longer used.
---
## View Masking
For apps built using traditional Android Views, masking is performed by passing view IDs or view references to the SDK. Masking can be removed by making calls to remove masked views using references to the masked views. Below are the methods that should be used for masking Android views:
```java
// Adding Masked Views by ID
Glance.addMaskedViewId(R.id.sensitiveTextField, "Masked text field");
Glance.addMaskedViewId(R.id.sensitiveLabel, "Masked label");
Glance.addMaskedViewId(R.id.sensitiveButton, "Masked button");
// Adding Masked Views by reference
Glance.addMaskedView(textField, "Masked text field");
Glance.addMaskedView(label, "Masked label");
Glance.addMaskedView(button, "Masked button");
// Removing Masked Views
Glance.removeMaskedViewId(R.id.sensitiveTextField);
Glance.removeMaskedView(textField);
```
When using traditional Android Views, the SDK utilizes the view�s visibility to determine when masks should be displayed. In these cases, you typically do not need to manually add or remove masked views based on visibility. However, there are scenarios where masks might remain visible even when the corresponding views are obstructed�for example, when covered by a `Dialog` or a `Compose` view rendered in a way that prevents the SDK from detecting the obstruction.
In such cases, you may need to explicitly call `removeMaskedView` when the view is no longer visible and reapply it using `addMaskedView` once it becomes visible again.
Get the most out of Glance. Access comprehensive guides, API documentation, and configuration best practices to seamlessly integrate Glance into your customer engagement strategy.
Integration guides and SDKs for bringing Glance into your web, mobile, and desktop applications.
Direct access to our REST APIs for managing users, sessions, reporting data, and webhooks.
Admin configuration, security & compliance protocols, and user guides for managing your Glance account.
Stay up to date with the latest features, improvements, and fixes across the Glance platform.
4. When a visitor is detected on the current Salesforce Object, the **Glance Component** displays the following information:
* **Type:** Desktop Web, Mobile Web, or Mobile App (SDK).
* **URL:** The URL of the page the visitor is browsing; you can hover over the URL to view the entire path.
* **Browser:** The browser the visitor is using and its version.
* **OS:** The Operating System for the visitor.
=================================================================
FILE: /users/Integrations/service-target-urls
=================================================================
## What is a Service Target URL?
A *Service Target URL* (STU) is a hyperlink that links directly to a specific Glance service or task.
For example, when a Glance user visits an Agent Join STU, they immediately see the page where they can enter a session code provided by a customer to join a session. (If the user is not yet logged in to Glance, they are prompted to log in first).
The base URL for the Agent Join page is:
```text
https://www.glance.net/agentjoin/agentjoin.aspx
```
When setting up Glance for your users, you can embed STUs in their web portal or application. For example, to produce a "Join Session" link, add this HTML code:
```html
Join a Glance Session
```
---
## STUs without Single Sign-On
These URLs are for standard accounts that do not use SAML SSO.
* `https://www.glance.net/agentjoin/AgentJoin.aspx` – Prompts the agent for a session key.
* `https://www.glance.net/agentjoin/AgentView.aspx?SessionKey=1234` – Joins a specific session directly. Replace `1234` with the actual session key.
### Identity Parameters
You can add these parameters to either the **AgentJoin** or **AgentView** STUs to identify the agent. When available, Glance displays this identity to the visitor as the session starts.
* `name=User+Name` – displays the user's personal information, including name, email, and phone number, as a courtesy to individuals using Glance to request assistance.
* `email=user@example.com` – Displays the user's email.
* `phone=(111)222-3333` – Displays the user's telephone number.
### Control Parameters (AgentJoin Only)
The AgentJoin URL supports optional parameters to modify its behavior.
* `viewersamewindow=1` – Initiates the session viewer within the same browser window that displays the session key prompt. If omitted, Glance launches the viewer in a new window by default.
The following optional parameters control the prompt on the AgentJoin page. For more information on configuring these, please contact Glance Customer Success.
* `mode=universaljoin`
* `mode=chatinvitation`
* `mode=smsinvitation`
---
## STUs with Single Sign-On
For accounts utilizing **SAML 2.0 Single Sign-On**, you must use SSO-specific STUs. These require an identity provider identifier, which corresponds to the account's numeric Group ID.
EXAMPLE. You must replace this with your specific Glance Group ID or Partner ID.