Backend components
The backend components of Unblu are:
-
Unblu Collaboration Server
-
Database
-
Rendering Service
-
External system components
Unblu Collaboration Server
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 and native document co-browsing
-
Mediating universal and server-based document co-browsing
-
Serving the Agent Desk and admin interfaces
-
Providing client and server integration APIs
Database
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.
Rendering Service
The Rendering Service is required for universal co-browsing, server-based document co-browsing, and 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 running 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.
External system components
To support audio and video calls, universal co-browsing, server-based 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.
Backend integration options
Unblu provides a web API, webhooks, and a bot API that let you integrate the Unblu backend with other systems.
Web API and webhooks
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.
Bot API
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.