MARKETPLACE
PLUGINS
WEBSOCKET CHAT
Websocket Chat logo

Websocket Chat

Published January 2026
   •    Updated this week

Plugin details

==================================================           💬 WEBSOCKET CHAT NATIVE
     Real-Time Messaging for Mobile Apps
==================================================

A powerful, flexible WebSocket-based chat plugin designed for
Bubble's native mobile apps. Display real-time conversations
with full customization—use the beautiful built-in UI or
build your own custom design from scratch.

✨ KEY FEATURES
--------------------------------------------------

🚀 Real-Time Communication
  • Instant message delivery via WebSocket connections.
  • Auto-loads chat history upon connection.
  • Live updates when new messages arrive.
  • Automatic reconnection handling.

🎨 Flexible Display Options
  • Built-in UI: Professional interface out of the box.
  • Custom Design (BETA): Hide built-in UI & build your own.
  • Reverse Order: Newest messages at top or bottom.
  • Auto-scroll: Automatically follows the conversation.

🛠 Full Style Customization
  • Distinct styles for "My" vs "Other" messages.
  • Custom colors, text sizes, and border radius.
  • Optional Status Bar (Connection & Message Count).
  • Automatic relative timestamps (e.g., "5 mins ago").


🎨 USAGE MODES
--------------------------------------------------

▶ STANDARD MODE (Built-in UI)
  Perfect for most use cases. Fully styled, ready-to-use
  interface. Just configure properties and launch.

▶ CUSTOM DESIGN MODE (BETA)
  For advanced users wanting 100% design control:
  • Set 'show_built_in_ui' to "no".
  • Access data via 'messages_json' (Full List).
  • Trigger workflows via 'message_received' event.
  • Build your UI using native Bubble elements.


🔧 REQUIREMENTS
--------------------------------------------------

📡 WebSocket Server
  This plugin requires a server that implements the specific
  protocol detailed in the documentation. The server must:
  • Handle 'get_history' and 'send_message' actions.
  • Return JSON: {id, text, sender, sender_id, timestamp}.
  • Broadcast new messages to all clients in a room.


🔑 KEY PROPERTIES
--------------------------------------------------

  ⚙️ reverse_message_order -> Flip message flow.
  ⚙️ show_built_in_ui      -> Toggle plugin UI vs Custom UI.
  ⚙️ my_message_color      -> Color for your sent bubbles.
  ⚙️ other_message_color   -> Color for received bubbles.
  ⚙️ message_border_radius -> Control bubble roundness.
  ⚙️ status_bar_display    -> Toggle info bar visibility.


FULL INSTRUCTIONS:  https://www.testcode.app/wsschat


==================================================
       POWERED BY FINIDEV TECHNOLOGIES
==================================================

Free

For everyone

stars   •   0 ratings
17 installs  
This plugin does not collect or track your personal data.

Other actions

Platform

Web & Native mobile

Contributor details

Daniel Canup logo
Daniel Canup
Joined 2021   •   1 Plugin
View contributor profile

Instructions

================================================           💬 WEBSOCKET CHAT CONNECTOR
================================================

📋 QUICK START GUIDE
--------------------------------------------------

▶ STEP 1: Add the Chat Element
 • Drag the 'WebSocket Chat' element onto your page.
 • Set the element's height to "100%" or a fixed pixel value.
   (Note: Avoid "Auto" height for best scrolling results).

▶ STEP 2: Configure Properties
 Provide the following required Dynamic Data:
 • websocket_server  -> wss://your-domain.com
 • current_user_id   -> Current User's Unique ID
 • current_user_name -> Current User's Name
 • room_id           -> Unique Conversation ID

▶ STEP 3: Add Message Input
 1. Add a standard Bubble Text Input.
 2. Add a Button labeled "Send".
 3. Workflow for Button:
    Action: Plugins -> WebSocket Chat -> Send Message
    Value: Input's value.
 4. Action: Reset relevant inputs.

▶ STEP 4: Test!
 • Preview your page and check the status bar for "Connected".


📡 WEB-SOCKET SERVER PROTOCOL
--------------------------------------------------

[ CLIENT TO SERVER ]

 // 1. Get History (Sent on Connection)
 {
   "action": "get_history",
   "user_id": "user123",
   "room": "room456",
   "limit": 50
 }

 // 2. Send Message (Sent on Button Click)
 {
   "action": "send_message",
   "text": "Hello!",
   "user_id": "user123",
   "sender": "John Doe",
   "room": "room456",
   "timestamp": "2026-01-11T22:38:04Z"
 }


[ SERVER TO CLIENT ]

 // 1. History Response
 {
   "type": "history",
   "messages": [
      { "id": "1", "text": "Hi", "sender": "Jane", "sender_id": "u7" }
   ]
 }

 // 2. New Message Broadcast
 {
   "type": "message",
   "id": "msg_003",
   "text": "New alert!",
   "sender": "Jane Smith",
   "sender_id": "user789"
 }


✨ CUSTOM UI MODE (BETA)
--------------------------------------------------
Build your own chat interface using Bubble Repeating Groups.

👉 STEP 1: Toggle Mode
  • Set 'show_built_in_ui' to "no".

👉 STEP 2: Access the Data Stream
  • Use the state 'messages_json'. This updates in real-time.
  • Structure: Array of objects [{id, text, sender, etc}].

👉 STEP 3: Build the UI
  • Option A: Listen for the 'message_received' event.
  • Option B: Parse 'messages_json' into a Repeating Group.

👉 STEP 4: Alignment Logic
  • Conditional: When This Cell's sender_id is Current User's ID
    -> Align Right / Color: Blue
  • Conditional: When This Cell's sender_id is NOT Current User's ID
    -> Align Left / Color: Gray


⚠️ TROUBLESHOOTING
--------------------------------------------------

🚫 Status: "Connection Error"
  • Verify your server is running.
  • Check that you are using 'wss://' for SSL sites.
  • Ensure your firewall port is open.

🌑 Messages Not Showing
  • Check that 'room_id' on the server matches the plugin 'room_id'.
  • Ensure IDs are being sent as Strings, not Numbers.

🔄 Alignment is Inverted
  • Ensure 'sender_id' matches the 'current_user_id' exactly.


🏆 BEST PRACTICES
--------------------------------------------------
🔒 SECURITY: Always use wss:// for production.
⚡ PERFORMANCE: Keep history_limit between 50 and 100.
🎮 UX: Show the 'connection_status' state to your users.


==============================================
Try it out in the editor:

https://bubble.io/page?id=chat-demo-16170&app_type=mobile&tab=Design&name=Home&elements=bTHDZ

Types

This plugin can be found under the following types:
Background Services   •   Element   •   Event   •   Action

Categories

This plugin can be found under the following categories:
Technical   •   Productivity   •   Mobile   •   Data (things)   •   Chat   •   Visual Elements

Resources

Support contact
Documentation
Tutorial

Rating and reviews

No reviews yet

This plugin has not received any reviews.
Bubble