About Chat

Ably Chat is a product dedicated to making it quick and easy to build chat functionality into new and existing applications. Use Ably Chat to build things such as a 1:1 customer support feature, or add a chat component to a livestreaming platform that serves hundreds of thousands of users.

The Chat SDK contains a set of purpose-built APIs that abstract away the complexities involved in how you would architect chat features. It utilizes Ably's platform to benefit from all of the same performance guarantees and scaling potential.

Chat features

Ably Chat provides the following key features:

Rooms and messages

Rooms are used to organize and separate your users and chat messages into 'chat rooms'. They are the entry object into chat and provide access to all other chat features, such as messages, online status, and typing indicators.

Each room can represent a 1:1 chat between an agent and a customer, a private message between two users in a chat application, a group conversation, or the chat section of a livestream with thousands of users.

Messages enable users to communicate with one another in the room. Messages sent by users are received by all those who have subscribed to receive them within that room.

Presence

Presence enables you to display the status of every user in the room, such as whether a user is online or offline. Users can also set additional information about their profile or set a custom status, such as 'Away'.

Message reactions

Message reactions enable users to send reactions to messages, such as 👍 or ❤. Users can also see which other users reacted to a message.

Typing indicators

Typing indicators let users see when others start and stop typing a message. They enable you to display a message such as John is typing... or when too many users are typing, something like Multiple people are typing... or 12 people are typing....

Room reactions

Room reactions enable users to broadcast ephemeral sentiments using emojis, such as 👍 or ❤. Room reactions are used to broadcast a general sentiment to the entire room rather than reacting to a single message. A common use case is sports fans all sending a heart when their team scores.

Moderation

AI Moderation enables you to automatically detect and handle inappropriate content in chat messages. Using AI-powered content filtering, you can identify potentially harmful messages, spam, or content that violates your community guidelines, and take appropriate action either before they reach other users, or retroactively.

You can integrate seamlessly in minutes with a number of third-party moderation providers to take advantage of powerful AI models, or bring your own infrastructure via integrations with the likes of AWS Lambda to customize your experience.

React UI Kits

React UI Kits provide pre-built, customizable React components that make it even faster to add chat functionality to your applications. These components handle the presentation layer and user interactions, allowing you to focus on your application logic rather than building chat UI from scratch.

The UI Kits include components for message lists, input fields, user avatars, typing indicators, and more. They're designed to be flexible and themeable to match your application's design system. They are fully open-source, so you can easily take the code as a starting point to further customize your own components.

React Hooks

React Hooks provide a set of custom hooks that integrate seamlessly with React applications. These hooks manage the state and lifecycle of chat features, making it simple to build reactive chat interfaces that automatically update when new messages arrive or user presence changes.

Demo

Take a look at a livestream basketball game with some simulated users chatting built using the Chat SDK. The source code is available in GitHub.

Next steps