Skip to content

WebSockets

Real-time access to data is essential for maintaining efficiency, improving decision-making, and enhancing user experience. With the introduction of WebSockets in Catalyst, we are taking a major step toward enabling real-time updates for Object Records. This new capability ensures that businesses can receive instant notifications about changes in their data without relying on manual refreshes or periodic polling.

How it works

WebSockets provide a persistent connection between clients and the server, enabling immediate data updates. This means that whenever an Object Record is created, modified, or deleted, connected clients will be instantly notified, allowing them to react in real time. This is particularly valuable for businesses relying on up-to-date information to make critical decisions.

Catalyst Elements

This implementation is particularly useful for Catalyst Elements, our framework for custom front-end applications that clients frequently use on landing pages. With WebSockets, these Elements can now reflect the latest data without requiring users to refresh the page manually.

Authentication and connection

To establish a WebSocket connection: API users need to generate a unique authentication token. This is done by making a GET request to /api/users/ws-auth/ endpoint, which returns a one-time use only UUID.

Websockets1_article.gif

When a WebSocket connection to the endpoint /ws/events/object-records/ is established, the server starts streaming real-time events related to Object Records.

These updates include:

  • New record creation – ensuring immediate visibility of newly added data.
  • Record deletions – preventing outdated records from appearing in views.
  • Record updates – keeping all modifications synchronised without delays.

Each event is broadcast only for the environment defined in the token used for the connection, ensuring secure and contextual data updates.

Performance limits

Performance has been a top priority in this implementation. The WebSocket service efficiently manages traffic, allowing up to 100 concurrent connections per client and processing updates within defined limits: a maximum of 1,000 events per broadcast every 5 seconds (or sooner if the event limit is reached).

Websockets2_article.gif

Release impact

This release lays the groundwork for a system that provides real-time visibility into your data. By enabling WebSockets at the backend, we are paving the way for future enhancements where Catalyst’s UI will dynamically reflect changes as they happen.

This real-time capability is particularly valuable in industries where up-to-the-second information is crucial. In financial services, compliance teams can now track risk assessments in real time. For legal departments managing M&A due diligence, document review statuses update instantly as teams move through contract assessments, eliminating the traditional drag of information lag.

With WebSockets, your data is always current, always reliable, and always ready to fuel your best decisions. With this first step, we are bringing Catalyst closer to a fully real-time experience, empowering users to make decisions with confidence and efficiency.