ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

webchat-audio-notifications

Add browser audio notifications to Moltbot/Clawdbot webchat with 5 intensity levels - from whisper to impossible-to-miss (only when tab is backgrounded).

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/brokemac79/webchat-audio-notifications
Or

🔔 Webchat Audio Notifications

Browser audio notifications for Moltbot/Clawdbot webchat. Plays a notification sound when new messages arrive - but only when the tab is in the background.

Features

  • 🔔 Smart notifications - Only plays when tab is hidden
  • 🎚️ Volume control - Adjustable 0-100%
  • 🎵 5 intensity levels - Whisper (1) to impossible-to-miss (5)
  • 📁 Custom sounds - Upload your own (MP3, WAV, OGG, WebM)
  • 🔕 Easy toggle - Enable/disable with one click
  • 💾 Persistent settings - Preferences saved in localStorage
  • 📱 Mobile-friendly - Graceful degradation on mobile
  • 🚫 Autoplay handling - Respects browser policies
  • ⏱️ Cooldown - Prevents spam (3s between alerts)
  • 🐞 Debug mode - Optional logging

Quick Start

Test the POC

cd examples
python3 -m http.server 8080
# Open http://localhost:8080/test.html

Test steps:

  1. Switch to another tab
  2. Click "Trigger Notification"
  3. Hear the sound! 🔊

Basic Integration

// Initialize
const notifier = new WebchatNotifications({
  soundPath: './sounds',
  soundName: 'level3',  // Medium intensity (default)
  defaultVolume: 0.7
});

await notifier.init();

// Trigger on new message
socket.on('message', () => notifier.notify());

// Use different levels for different events
socket.on('mention', () => {
  notifier.setSound('level5');  // Loudest for mentions
  notifier.notify();
});

API

Constructor Options

new WebchatNotifications({
  soundPath: './sounds',               // Path to sounds directory
  soundName: 'level3',                 // level1 (whisper) to level5 (very loud)
  defaultVolume: 0.7,                  // 0.0 to 1.0
  cooldownMs: 3000,                    // Min time between alerts
  enableButton: true,                  // Show enable prompt
  debug: false                         // Console logging
});

Intensity Levels:

  • level1 - Whisper (9.5KB) - Most subtle
  • level2 - Soft (12KB) - Gentle
  • level3 - Medium (13KB) - Default
  • level4 - Loud (43KB) - Attention-getting
  • level5 - Very Loud (63KB) - Impossible to miss

Methods

  • init() - Initialize (call after Howler loads)
  • notify(eventType?) - Trigger notification (only if tab hidden)
  • test() - Play sound immediately (ignore tab state)
  • setEnabled(bool) - Enable/disable notifications
  • setVolume(0-1) - Set volume
  • setSound(level) - Change intensity ('level1' through 'level5')
  • getSettings() - Get current settings

Browser Compatibility

BrowserVersionSupport
Chrome92+✅ Full
Firefox90+✅ Full
Safari15+✅ Full
MobileLatest⚠️ Limited

Overall: 92% of users (Web Audio API support)

File Structure

Metadata

Stars2387
Views0
Updated2026-03-09
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-brokemac79-webchat-audio-notifications": {
      "enabled": true,
      "auto_update": true
    }
  }
}

Tags

#webchat#notifications#audio#ux#browser#howler
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.