The backend components of Unblu are:
Unblu Collaboration Server
External system components
The Unblu Collaboration Server is the main server component. It performs the following major functions:
User authentication and authorization.
Managing the configuration settings.
Managing the communication between the visitor interface and the Agent Desk via chat, audio, and video.
Managing embedded co-browsing.
Mediating universal and document co-browsing.
Serving the Agent Desk and admin interfaces.
Providing client and server integration APIs
The database holds all the persistent data needed by the Unblu server including conversation history and other system state. For more information, refer to Database.
The Rendering Service is required for universal and document co-browsing and for conversation recording. It works by spawning a headless browser instance for each co-browsing session. The browser process is used to produce a video rendering of the target document or website which is then streamed simultaneously to both the agent and the visitor.
Each individual co-browsing session requires its own headless browser instance.
In a cluster deployment, each headless browser instance runs within a separate a Kubernetes pod. As more sessions are started, more pods are deployed. The Kubernetes system allocates the pods appropriately across the cluster automatically, spreading the processing load across the available compute resources.
In an application server deployment, the Rendering Service spawns each headless browser in a dedicated Docker container running on a Docker Engine on the same machine as the Unblu server running in the application server. As more sessions are started, more containers are deployed within the Docker Engine.
To support audio and video calls, universal and document co-browsing, and screen sharing, Unblu relies on two additional components: a call service provider—Vonage Video API, Azure Communication Services, or LiveKit--and a TURN server. These are external cloud services the Unblu Collaboration Server connects to. They don’t reside on your infrastructure, although you can run your own TURN server.
For more information, refer to External components.
Unblu provides a web API, webhooks, and a bot API that let you integrate the Unblu backend with other systems.
The Unblu web API enables you to perform actions on the Unblu Collaboration Server using JSON over HTTP. The Webhooks feature enables the opposite: it lets Unblu initiate actions on external systems in response to events occurring in the server.
For more information, refer to The Unblu web API and webhooks.
The bot API enables you to integrate an external chatbot system with Unblu, allowing the bot play the role of an agent in interactions with visitors. Typically the bot will be used to handle more formulaic interactions and information collection. As soon as the bot encounters a question it can’t answer, the visitor is redirected to a human agent.
For more information, refer to Bot integration.