System State Model of the Real-Time API

The system state model of the real-time state API functions similarly to a database.

  • It is composed of tables.
  • Each table has one or more fields.
  • Each table has zero or more rows.
  • Tables can relate to each other via rows that serve as functional keys.

In the initial state of the model, no rows exist in any tables. The system state model is updated in real time to reflect system state transitions, such as when clients connect and support sessions begin. The system state model persists until the Bomgar Appliance's processes are started. After a process restart, the model is reset to its initial state. The time between the model's initial state and the next reset is referred to as the model's lifetime.

Tables in the Real-Time System State Model

The section below details the tables that exist in the system state model, along with the fields that exist in each table.

customer_client

Stores all customer clients connected to the appliance. Note that a support_session can exist without a customer_client. This typically occurs when the customer closes the customer client and the representative does not immediately terminate the session in the representative console.

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

"client_type":"[string]"

The type of customer client running on the endpoint or communicating with the endpoint. May be one of desktop, mobile, rdp, vnc, vpro, shell, or web_chat.

"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"elevated":[boolean] 1: The customer client is running in an elevated context.
0: The customer client is running in a user context.
"hostname":"[string]" The endpoint's hostname.
"operating_system":"[string]" The endpoint's operating system.
"support_session_id":[integer]

The foreign key that links this table row to other table rows that reference this session.

Stores all customer clients connected to the appliance. Note that a support_session can exist without a customer_client. This typically occurs when the customer closes the customer client and the representative does not immediately terminate the session in the representative console.

queue

Stores all active support session queues. A queue is active if one or more of its members are logged in or if it is a persistent queue.

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

"code_name":"[string]" The code name assigned to the support team. Personal queues do not have code names.
"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"name":"[string]" The support team's display name.
"support_team_id":"[string]" The support team's unique identifier. The ID is not shown for personal queues.
"type":"[string]" The type of queue. May be one of prewait, team, embassy, or personal.

representative

Stores all representatives logged into a representative console

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"private_display_name":"[string]" The representative's private display name.
"public_display_name":"[string]" The representative's public display name.
"queue_id":[integer]

The unique ID serving as the foreign key that links this table row with other table rows that reference this queue.

"routing_available":[boolean] 1: The representative is available to handle new support sessions.
0: The representative is unavailable to handle new support sessions.
"routing_busy":[boolean] 1: The representative has reached their maximum number of support sessions for session assignment.
0: The representative is not marked as busy.
"routing_enabled":[boolean] 1: The representative has automatic session assignment enabled.
0: The representative has automatic session assignment disabled.
"routing_idle":[boolean] 1: The representative is idle.
0: The representative is active.
"skill_code_names":"[string]" A comma-separated list of skill code names assigned to this representative.
"type":"[string]" The type of representative connection. May be one of normal, embassy, or invited.
"user_id":[integer] The representative's unique ID which identifies them in Bomgar.
"username":"[string]" The username this representative uses to authenticate to Bomgar.

representative_queue

Stores logged-in representatives in relation to their support queues. While team leads and managers have access to their team members' personal queues, that access is not represented in this table.

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"queue_id":[integer]

The unique ID serving as the foreign key that links this table row with other table rows that reference this queue.

"representative_id":[integer]

The unique ID serving as the foreign key that links this table row with other table rows that reference this representative.

"role":[string]

The user's role in the team. May be one of member, lead, or manager.

representative_support_session

Stores representatives participating in support sessions.

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"representative_id":[integer]

The unique ID serving as the foreign key that links this table row with other table rows that reference this representative.

"support_session_id":[integer]

The foreign key that links this table row to other table rows that reference this session.

support_session

Stores all active support sessions.

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"customer_company":"[string]" The end user's company name.
"customer_company_code":"[string]" The end user's company code.
"customer_description":"[string]" The issue description as provided by the customer.
"customer_name":"[string]" The end user's name.
"estimated_pickup_timestamp":[timestamp] The time at which the system expects this session to be accepted or transferred. This could be a time in the past or future.
"issue_code_name":"[string]" The code name of the issue selected by the customer on the front-end survey.
"issue_description":"[string]"

The description of the issue selected by the customer on the front-end survey.

"lsid":"[string]" The logging session ID that uniquely identifies this session. This LSID can be used in /login > Reports, with the reporting API, in the integration client, etc.
"primary_team_queue_id":[integer]

The unique ID serving as the foreign key that links this table row with other table rows that reference this queue. This field stores the last team queue that owned the session before the session ended.

"priority":[integer] The session's priority. May be one of 1 (high), 2 (medium), or 3 (low).
"public_site_id":[integer] The ID of the public site associated with the session.
"public_site_name":"[string]" The name of the public site associated with the session.
"queue_entry_timestamp":[timestamp] The time at which this session entered its current queue.
"queue_id":[integer]

The unique ID serving as the foreign key that links this table row with other table rows that reference this queue. This field stores the queue in which the session currently resides.

"start_method":"[string]" The method with which the session was started. May be one of session_key (the seven-digit code or the URL), rep_list, issue_submission, jump_client, local_jump, remote_jump, shell_jump, local_rdp, remote_rdp, local_vnc, remote_vnc, or vpro.

support_session_attribute

Stores custom session attributes assigned to active support sessions.

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

"code_name":"[string]" The code name assigned to the support session attribute.
"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"support_session_id":[integer]

The foreign key that links this table row to other table rows that reference this session.

"value":"[string]" The value of the attribute.

support_session_skill

Stores skills assigned to active support sessions.

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

"code_name":"[string]" The code name assigned to the skill.
"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"support_session_id":[integer]

The foreign key that links this table row to other table rows that reference this session.

presentation_session

Stores data about the presentation sessions.

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"lsid":[guid] The logging session ID that uniquely identifies this session. This LSID can be used on /login > Reports and in the Reporting API, among other places.
"presentation_name":"[string]" The name of the presentation.

attendee

Stores all information about attendees who have joined a presentation.

"connected":[boolean]

1: The presentation client connected to the appliance and joined the presentation.

0: The presentation client did not connect to the appliance.

"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"hostname":"[string]" The attendee's hostname.
"name":"[string]" The name of the attendee.
"operating_system":"[string]" The attendee's operating system.
"presentation_session_id":[integer] The logging session ID that uniquely identifies this presentation.
"private_ip":"[string]" The attendee computer's private IP address.
"public_ip":"[string]"

The attendee computer's public IP address.

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

presenter

Stores the information about the presenter who has started presenting their screen.

(id)

An integer that identifies this table row. This ID is unique for the lifetime of the model.

"created_timestamp":[timestamp]

A UNIX timestamp (UTC) representing the time at which this table row was created.

"presentation_session_id":[integer] The logging session ID that uniquely identifies this presentation.
"representative_id":[integer]

The unique ID serving as the foreign key that links this table row with other table rows that reference this representative.

Note: For Bomgar versions 16.2 and later, 64-bit unsigned integers are used to generate the id value. The maximum allowed value is 18446744073709551615.