Skip to main content
These extensions enable real-time collaboration directly within your chat. Users can work together on documents and whiteboards without leaving the conversation.

Collaborative document

Co-edit documents in real-time with other users. Perfect for meeting notes, collaborative writing, and shared planning. When to use: Meeting notes, collaborative drafting, shared to-do lists, or any scenario where multiple people need to edit text together.
Out-of-the-box in: UI Kit Builder ✅ | Widget Builder ✅ | UI Kits ✅ | SDK

Extension settings

1

Open your CometChat app

Login to CometChat and select your app.
2

Enable Collaborative Document

Go to Chat & Messaging —> Features, under Extentions and enable Collaborative Document.

How does it work?

Using the Collaborative Document extension is pretty straight-forward. As an initiator, you only have to create a session. The extension will handle the following for you:
  • Create a collaboration link: Generate a document link for the session.
  • Invite collaborators: Send the link as an invitation to receivers.

Receiving the details

As an initiator

You will receive the document_url of the session in the success callback of the callExtension method.

As a collaborator

The receiver (can be a user or group) will get a message with the following properties:
  1. category: custom
  2. type: extension_document
Implement the Custom message listener to get the message. See Receive Messages documentation.

Document metadata

"metadata": {
  "incrementUnreadCount": true,
  "@injected": {
    "extensions": {
      "document": {
        "document_url": "https://document.cometchat.io/p/uniqdocid"
      }
    }
  }
}

Document Features

The Collaborative document has the following editing features:
  1. Bold, Italic, Underline, Strikethrough
  2. Numbered list, Bulleted list
  3. Indent and Outdent
You can export your document as: Etherpad, HTML, or Plain text.

Implementation

TechnologySupportDocs
UI Kit Builder
Widget Builder
UI KitsJavaScriptReact NativeAndroidiOSFlutter
SDKhttps://mintcdn.com/cometchat-22654f5b-docs-platform-docs-release/nBkX5KhzzDWIdWuk/images/icons/js.svg?fit=max&auto=format&n=nBkX5KhzzDWIdWuk&q=85&s=ac02c5c31b3694feeb4b07c73bd478cchttps://mintcdn.com/cometchat-22654f5b-docs-platform-docs-release/nBkX5KhzzDWIdWuk/images/icons/react.svg?fit=max&auto=format&n=nBkX5KhzzDWIdWuk&q=85&s=c00e3ae8e088c99fc43b5ca82a149802https://mintcdn.com/cometchat-22654f5b-docs-platform-docs-release/nBkX5KhzzDWIdWuk/images/icons/android.svg?fit=max&auto=format&n=nBkX5KhzzDWIdWuk&q=85&s=f03fe7acbaded87373ae7f085318e005https://mintcdn.com/cometchat-22654f5b-docs-platform-docs-release/nBkX5KhzzDWIdWuk/images/icons/swift.svg?fit=max&auto=format&n=nBkX5KhzzDWIdWuk&q=85&s=25f757820a35df0e38aaa5f211c0f26dhttps://mintcdn.com/cometchat-22654f5b-docs-platform-docs-release/nBkX5KhzzDWIdWuk/images/icons/flutter.svg?fit=max&auto=format&n=nBkX5KhzzDWIdWuk&q=85&s=261208c44e5880cbf04f70d560406a45

Collaborative whiteboard

Draw, sketch, and brainstorm together in real-time. Perfect for visual collaboration, design discussions, and interactive presentations. When to use: Design reviews, brainstorming sessions, tutoring, technical diagrams, or any visual collaboration.
Out-of-the-box in: UI Kit Builder ✅ | Widget Builder ✅ | UI Kits ✅ | SDK

Extension settings

1

Open your CometChat app

Login to CometChat and select your app.
2

Enable Collaborative Whiteboard

Go to Chat & Messaging —> Features, under Extentions and enable Collaborative Whiteboard.

How does it work?

Using the Collaborative Whiteboard extension is pretty straight-forward. As an initiator, you only have to create a session. The extension will handle the following for you:
  • Create a collaboration link: Generate a whiteboard link for the session.
  • Invite collaborators: Send the link as an invitation to receivers.

Receiving the details

As an initiator

You will receive the board_url of the whiteboard session in the success callback of the callExtension method.

As a collaborator

The receiver (a user or group) will get a message with the following properties:
  1. category: custom
  2. type: extension_whiteboard
Implement the Custom message listener to get the message. See Receive Messages documentation.

Whiteboard metadata

"metadata": {
  "@injected": {
    "extensions": {
      "whiteboard": {
        "board_url": "https://whiteboard-.cometchat.io?whiteboardid=abc"
      }
    }
  }
}

Whiteboard Features

Our whiteboard implementation provides the following features:
  1. Edit: Clear board, Undo, Redo
  2. Tools: Mouse pointer, Select an area, Pen, Line, Rectangle, Circle, Text, Eraser
  3. Tool properties: Thickness, Color
  4. Upload image to whiteboard
  5. Export whiteboard as image

Implementation

TechnologySupportDocs
UI Kit Builder
Widget Builder
UI KitsJavaScriptReact NativeAndroidiOSFlutter
SDKhttps://mintcdn.com/cometchat-22654f5b-docs-platform-docs-release/nBkX5KhzzDWIdWuk/images/icons/js.svg?fit=max&auto=format&n=nBkX5KhzzDWIdWuk&q=85&s=ac02c5c31b3694feeb4b07c73bd478cchttps://mintcdn.com/cometchat-22654f5b-docs-platform-docs-release/nBkX5KhzzDWIdWuk/images/icons/react.svg?fit=max&auto=format&n=nBkX5KhzzDWIdWuk&q=85&s=c00e3ae8e088c99fc43b5ca82a149802https://mintcdn.com/cometchat-22654f5b-docs-platform-docs-release/nBkX5KhzzDWIdWuk/images/icons/android.svg?fit=max&auto=format&n=nBkX5KhzzDWIdWuk&q=85&s=f03fe7acbaded87373ae7f085318e005https://mintcdn.com/cometchat-22654f5b-docs-platform-docs-release/nBkX5KhzzDWIdWuk/images/icons/swift.svg?fit=max&auto=format&n=nBkX5KhzzDWIdWuk&q=85&s=25f757820a35df0e38aaa5f211c0f26dhttps://mintcdn.com/cometchat-22654f5b-docs-platform-docs-release/nBkX5KhzzDWIdWuk/images/icons/flutter.svg?fit=max&auto=format&n=nBkX5KhzzDWIdWuk&q=85&s=261208c44e5880cbf04f70d560406a45

Limitations

Keep these constraints in mind when using collaboration features:
ConstraintDocumentWhiteboard
Max concurrent usersRecommended < 50Recommended < 20
Session persistenceUntil manually closedUntil manually closed
File size limitsStandard text limitsImage uploads < 5MB
Collaboration sessions remain active until explicitly closed. Consider implementing session cleanup for inactive sessions.