hookplate
Matrix appservice for creating webhook endpoints and sending webhook messages to matrix rooms
- simple webservice that forwards webhook messages after formatting
- simple jinja template can be used to format messages
- webhook url creation and deletion through controll room
- creates controll and output room on startup
Configuration
Either by config.ini or env variables. Env variables take precedence. Rename sample_config.ini to config.ini and set every config value.
| Environment variable | Config file name | Example value |
|---|---|---|
| HOMESERVER_URL | homeserver_url | https://matrix.domain.com |
| ADMIN_USER | admin_user | @admin:matrix.domain.com |
| APPSERVICE_USER | appservice_user | @webhook:matrix.domain.com |
| TOKEN | token | syt_d2VgfG9eqr_dbvTrKgfDerOdseFMZNP_0z99KM |
| DEVICE_ID | device_id | AABBCCDDEE |
Install/Run
Only if you run it non virtualized. You need python ">=3.13"
python -m venv .venv
source .venv/bin/activate
python -m pip install hookplate
hookplate
Docker
docker run -d --rm \
--name hookplate \
-v /on/host/appservice/config:/app/config \
-p 8228:8228 \
docker.io/hidraulicchicken/hookplate
Controll room commands
| Command | Explanation |
|---|---|
| !webhook help | Show help message |
| !webhook list | List all webhooks |
| !webhook add [name] | Add a webhook with given name |
| !webhook remove [name] | Remove webhook with given name |
Development
Python packages are handled by uv, but if you prefer, look into pyproject.toml and install dependencies yourself.
git clone https://github.com/hidraulicChicken/hookplate.git
cd hookplate
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv --python 3.13.0
uv pip install -e .
Contribution
If you have jinja template for certain services webhooks, let me know in the issues page.
Metadata
Release files for hookplate 0.1.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hookplate-0.1.13.tar.gz | 48.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hookplate-0.1.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.0 kB
Release files / hookplate-0.1.13.tar.gz
| Download URL | hookplate-0.1.13.tar.gz |
|---|---|
| Size | 48.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f32273a4b7cf2f2f5f778bb24180a297824fe7413e69c7d61a806bf5bd907369
|
|
BLAKE2b-256 checksum How to use checksums |
525ae07dd6685d4730b3d467346e0ff212951e155bd00eb839a9ee7987c81a22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|
Release files / hookplate-0.1.13-py3-none-any.whl
| Download URL | hookplate-0.1.13-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
455c8c11a5699eb0a5457fc6d4fc5ec8e04065aa3d7176a4f32819f318ba0078
|
|
BLAKE2b-256 checksum How to use checksums |
4cbd673341975833b95c95d0e0d42bb4d4ef42ceb58ea2bdd72bf5497400658f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|