You'll find a new Webhook option under Settings → Notifications. It sends a JSON POST with title, message, type and timestamp to any URL you give it. If you set the optional signing secret, each request also gets an X-Webhook-Signature header (HMAC-SHA256 of the body) so you can verify it on the receiving end.
Example of what your endpoint receives:
{"title":"Gitea Mirror - Test Notification","message":"This is a test notification from Gitea Mirror. If you see this, notifications are working correctly!","type":"sync_success","timestamp":"2026-08-03T02:33:29.707Z"}
Good idea, this is in now. Shipped with [v3.23.0](https://github.com/RayLabsHQ/gitea-mirror/releases/tag/v3.23.0).
You'll find a new Webhook option under Settings → Notifications. It sends a JSON POST with title, message, type and timestamp to any URL you give it. If you set the optional signing secret, each request also gets an `X-Webhook-Signature` header (HMAC-SHA256 of the body) so you can verify it on the receiving end.

Example of what your endpoint receives:
```json
{"title":"Gitea Mirror - Test Notification","message":"This is a test notification from Gitea Mirror. If you see this, notifications are working correctly!","type":"sync_success","timestamp":"2026-08-03T02:33:29.707Z"}
```
<!-- github-comment-id:5161734900 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Hey,
it would be nice tif you can integrate native webhook for notifications.
Thanks JO!
Good idea, this is in now. Shipped with v3.23.0.
You'll find a new Webhook option under Settings → Notifications. It sends a JSON POST with title, message, type and timestamp to any URL you give it. If you set the optional signing secret, each request also gets an
X-Webhook-Signatureheader (HMAC-SHA256 of the body) so you can verify it on the receiving end.Example of what your endpoint receives:
Hey @arunavo4
That was fast...! 😜 many thanks!
BR/JO