TL;DR – Plugin can be downloaded here: https://git.pickysysadmin.ca/eric/apprise-wordpress-notifications
I don’t know about anyone else but I’m a huge fan of Apprise for getting notifications from my Homelab.
To get notifications, via Apprise, sent to my preferred platform (Nextcloud Talk) I had created a bit of a Frankenstein of a setup to get things mostly working in a very ugly way.
My original setup involved the great WP Mail SMTP by WPForms plugin, another plugin I’ve now forgotten the name of and cannot find anymore and a mailrise docker container.
The flow was something along these lines: Notification fires in WordPress -> WP Mail SMTP is configured to send mail to mailrise -> mailrise sends the e-mail to my Apprise API docker container -> my device(s) get a notification.
This worked, but as you can imagine, getting an notification in an app meant for chat messages formatted as an e-mail was pretty annoying to read.
Some digging turned up a few plugins that might have done what I wanted but all required monthly subscriptions to unlock the features I needed.
Enter vibe coding. I figured this was such a small, low stakes, project, why not just throw it at AI and see what happens. I fed what I wanted into ChatGPT and had it generated me a Claude.md file which I threw into an empty repo. I fired up VSCode, switch to the Claude 4.5 Opus and told it to get going.
The initial result was about 70% functional. I then spent a few hours testing and tweaking/bug fixing and ended up with this plugin: Apprise Notifications for WordPress.
In the end it took me ~20% of my monthly Github quota using Claude 4.5 Opus to create this plugin and probably 5-10 hours of my time debugging, documenting and testing.
I did some PHP coding way back in the day (we’re talking PHP 5.x) and have never developed a WordPress Plugin. I suspect it would have easily taken me twice as long, if not longer, to develop this on my own from scratch.
I’ve been using the plugin for a few weeks and have been satisfied with the results. I figured, why keep this to myself.
I’m not going to submit this to WordPress to get into the official plugin repository. I don’t know if they allow vibe coded submissions and I don’t really want to maintain and support this plug-in beyond my own needs on this blog. If you’re motivated, it’s GPL, feel free to fork it.
Addendum – 2026-02-03
After my initial release of this plugin I had a friend use actual Claude (I’m using Claude via Github CoPilot) and perform a code audit on my repo. Needless to say, it found a few things that it recommended fixing.
Using a different AI Agent to perform an audit was an interesting experience. It found a few issues it flagged as medium and then through fixing them and re-running the audit it would find new issues or suggest tweaks for the previous fix. I can definitely see how having some level of understanding of what it is doing and how things work would be beneficial.
One issue identified was that a DNS hijacking attack could occur between WordPress and Apprise because the DNS lookup for Apprise was performed, then the message contents were generated and then sent to Apprise. The send would cause a second DNS lookup to occur and between the first and second an attacker could change the DNS result. The solution proposed was to perform the initial DNS lookup, store the result (the IP address) and then use the IP address for all further connections to the Apprise API. When I pointed out that would break SNI and SSL Certificates the AI agreed with me and found another solution. This would be a great example of me having some level of understanding about what was going on and being able to pick out how the proposed solution was going to break things.
A second issue that was fixed, which I full admit I did not understand or fully pay attention to, was the restrictions the AI put in place for private IP spaces. This had the unintended consequences of break connectivity between WordPress and the Apprise API if your Apprise API was internally hosted and had a private IP address. I discovered this through testing and then quickly had the AI fix it for me by adding an option to allow for internally hosted Apprise API Endpoints.
In the end I used up an additional 53% of my monthly quota having AI fix all the bugs identified in the original plugin which only used ~20% of my quota. These numbers don’t include my friend using their Claude Account to perform repeated code audits for me to validate the fixes were correct (Claude says other Claude did a good job).
So much for a simple project I wouldn’t need to put much effort into. I think this all added another ~5 hours to my development time now totalling around 15 hours. I still think this was faster than starting from scratch myself and since I read the outputs from the two AI bots I did learn things but I still would not want to start a new plugin from scratch.
Hi Eric,
Your plugin is exactly what I was looking for. I’ve already tested the plugin on my site and can say that it works without any problems so far. In my opinion, there is only one feature missing, and that would be the option to disable email notifications when push notifications are active. Currently, you receive both an email and a push notification, but the push notification would be enough for me. It would be great if you could add this feature.
Thanks a lot for the plugin and best regards, Marcel
Glad to hear someone else found this idea useful.
My SMTP is not configured at all so I didn’t even notice it was sending duplicate notifications.
I’ll look into it and see if there is a way to do it.
Just released 2.1.0 with this feature, give it a shot and let me know if it works properly.
Thanks for the update! I’ve installed it and will test it out.
The plugin works perfectly for me, I haven’t encountered any problems so far. Thanks again for the adjustment.
No problem. Glad to hear it’s working. I’m honestly surprised someone else wanted this kind of a solution.