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
.wav
file 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_GUI
Install the required Node.js dependencies:
npm install
Place 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 start
The 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_GUI
npm run build
Place 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 linux
Once 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
.wav
files with your own sound files.
- Ensure the
.wav
files 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: phillipmckinnonwork@proton.me
GitHub: @PhillMckinnon