This project is a fork of (https://github.com/PhillMckinnon/Play-sound-on-webhook-alert)
An application that listens for incoming webhook requests and plays a corresponding .wav sound file when a webhook is received, but with a GUI and packed into ElectronJS. Designed to be a simple and customisable alert system that can be integrated and used with various services (e.g ).
The app was developed during my practical workshop experience ( 07/04/2025 - 30/04/2025 )
- Listens for webhook requests on multiple endpoints (
/webhook0,/webhook1,/webhook2, etc.). - Plays a specific
.wavfile for each webhook endpoint. - Logs incoming webhook data and playback status.
- Easy to set up and use.
- Node.js installed on your system.
- NPM (Node Package Manager) installed.
Clone this repository to your local machine:
git clone https://github.com/PhillMckinnon/Webhook_Alert_ElectronJS_GUI
cd Webhook_Alert_ElectronJS_GUIInstall the required Node.js dependencies:
npm installPlace your .wav sound files in the sounds directory. Ensure the filenames match the names (e.g., error2.wav, success2.wav, etc.).
Start the application
npm startThe application will start listening on port 3000. You can change it by editing port.json (located at UserDataDir).
Clone this repository to your local machine:
git clone https://github.com/PhillMckinnon/Webhook_Alert_ElectronJS_GUI
cd Webhook_Alert_ElectronJS_GUInpm run buildPlace your .wav sound files in the sounds directory. Ensure the filenames match the names (e.g., error2.wav, success2.wav, etc.).
Start the application
run the .exe on windows or ./webhooking in the output directory on linuxOnce the application is running, you can send POST requests to the following endpoints to trigger sound alerts:
/webhook0→ Playssuccess0.wav/error.wav/webhook1→ Playssuccess1.wav/error1.wav/webhook2→ Playssuccess2.wav/error2.wav/webhook3→ Playssuccess3.wav/error3.wav/webhook4→ Playssuccess4.wav/error4.wav
My custom body for Uptime Kuma:

CUSTOM BODY
-----------
{
"heartbeat": {
"status": "{{ heartbeatJSON.status }}",
"msg": "{{ heartbeatJSON.msg }}",
"time": "{{ heartbeatJSON.time }}"
},
"monitor": {
"name": "{{ monitorJSON.name }}",
"url": "{{ monitorJSON.url }}"
},
"msg": "{{ msg }}"
}
ADDITIONAL HEADERS
------------------
{
"Content-Type": "application/json"
}- Modify the port number in the port.json file if needed.
- Replace the
.wavfiles with your own sound files.
- Ensure the
.wavfiles are in the correct directory and have the correct filenames. - Make sure the application has the necessary permissions to access the sound files.
This project is open-source and available under the MIT License.
Enjoy using the Webhook Sound Alert System! If you have any questions or issues, feel free to open an issue on GitHub.
For any questions or feedback, feel free to reach out to:
Email: [email protected]
GitHub: @PhillMckinnon
