A Gotify plugin for building and testing webhook
curlcommands — with markdown support, domain override, and a UI that doesn't make you cry.
Gotify already lets you send per app messages via its interface. But generating the right curl command every time - remembering the app token, escaping the message, adding the right headers for markdown — is tedious.
Webhookah gives you a proper builder UI inside your Gotify instance:
- Picks up your apps automatically (no manual token pasting)
- Generates a ready-to-copy
curlcommand - Supports markdown messages via Gotify's
extrasAPI (sent as JSON body, which is the only way it seems to works) - Domain override field for generating commands pointing at a different host (e.g. your internal address)
- Test button that fires the message instantly from the browser
- Remembers your last values across sessions
- Go to the Releases page
- Download the
.sofile matching your Gotify server's architecture and version, e.g.:webhookah-linux-amd64-for-gotify-v2.9.1.so - Copy it to your Gotify plugins directory (default:
./data/plugins/) - Restart Gotify
- In the Gotify web UI, go to Plugins, find Webhookah, and click Enable
- Click the Open Webhook Builder link in the plugin's display panel
Note: The
.sofile must match the exact Go version and architecture Gotify was built with. If you're unsure, check your Gotify server's version and pick the matching release file.
Requirements: Go, Docker, Make
git clone https://github.com/barina/gotify-webhookah
cd gotify-webhookah
# Install gomod-cap (once)
go install github.com/gotify/plugin-api/cmd/gomod-cap@latest
export PATH=$PATH:$(go env GOPATH)/bin
# Build for all architectures
make GOTIFY_VERSION="v2.9.1" FILE_SUFFIX="-for-gotify-v2.9.1" buildOutput .so files will be in the ./build/ directory.
To build for a specific architecture only:
make GOTIFY_VERSION="v2.9.1" FILE_SUFFIX="-for-gotify-v2.9.1" build-linux-amd64Docker is required for cross-compilation. Make sure your user is in the
dockergroup (sudo usermod -aG docker $USER) so you don't need to runmakeas root.
- Open the builder via the link in the Webhookah plugin panel
- Select an app from the dropdown
- Fill in your message (required), title, and priority as needed
- Optionally enter a domain override to generate a command pointing at a different host
- Toggle Markdown on if your message contains markdown syntax — this switches the output to a JSON-body curl command with the correct
extrasheader that Gotify requires for markdown rendering - Copy the generated command or hit Test to send immediately
This plugin is provided as-is under the MIT license. It is not affiliated with or endorsed by the Gotify project.
The plugin reads your Gotify session token from localStorage to fetch your app list — this happens entirely within your browser and your own Gotify instance. No data is sent anywhere else.
Use at your own risk. The author takes no responsibility for misconfigured webhooks, flooded notification channels, or CI pipelines that page you at 3am.
This project was built with the assistance of AI. The plugin code, build tooling, and this README were developed through an iterative conversation as well as more sophisticated AI tools — debugging build issues, fixing the plugin API interface, and refining the UI together. The ideas, requirements, and final decisions are the author's; the AI helped write and troubleshoot the implementation.

