Skip to main content

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)

Source distribution for hookplate 0.1.13
File Size Uploaded
hookplate-0.1.13.tar.gz 48.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hookplate 0.1.13
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.13 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page