Chat SDK overview

Important

The Azure Communication Services Android, Python, and iOS Chat SDKs are currently in public preview. This preview version is provided without a service-level agreement, and it's not recommended for production workloads. Certain features might not be supported or might have constrained capabilities. For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Azure Communication Services Chat SDKs can be used to add rich, real-time chat to your applications.

Chat SDK capabilities

The following list presents the set of features which are currently available in the Communication Services chat SDKs.

Group of features Capability JavaScript Java .NET Python iOS Android
Core Capabilities Create a chat thread between 2 or more users ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Update the topic of a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Add or remove participants from a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Choose whether to share chat message history with the participant being added ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Get a list of participants in a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Delete a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Given a communication user, get the list of chat threads the user is part of ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Get info for a particular chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Send and receive messages in a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Update the content of your sent message ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Delete a message you previously sent ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Read receipts for messages that have been read by other participants in a chat ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Get notified when participants are actively typing a message in a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Get all messages in a chat thread ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Send Unicode emojis as part of message content ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Real-time notifications (enabled by proprietary signaling package**) Chat clients can subscribe to get real-time updates for incoming messages and other operations occurring in a chat thread. To see a list of supported updates for real-time notifications, see Chat concepts ✔️ ✔️ ✔️
Integration with Azure Event Grid Use the chat events available in Azure Event Grid to plug custom notification services or post that event to a webhook to execute business logic like updating CRM records after a chat is finished ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Reporting
(This info is available under Monitoring tab for your Communication Services resource on Azure portal)
Understand API traffic from your chat app by monitoring the published metrics in Azure Metrics Explorer and set alerts to detect abnormalities ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Monitor and debug your Communication Services solution by enabling diagnostic logging for your resource ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

**The proprietary signaling package is implemented using web sockets. It will fallback to long polling if web sockets are unsupported.

JavaScript Chat SDK support by OS and browser

The following table represents the set of supported browsers and versions which are currently available.

Windows macOS Ubuntu Linux Android iOS iPad OS
Chat SDK Firefox*, Chrome*, new Edge Firefox*, Chrome*, Safari* Chrome* Chrome* Chrome* Safari* Safari*

*Note that the latest version is supported in addition to the previous two releases.

Next steps

The following documents may be interesting to you: