Authentik To Discord Proxy
  • TypeScript 85.8%
  • Python 14.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-14 13:50:26 -05:00
.github/workflows Use npm instead of pnpm 2026-10-29 17:46:43 -04:00
.vscode Initial Framework Commit 2026-09-11 20:34:16 -04:00
assets/installguide [skip ci] Documentation 2026-09-12 01:49:08 -04:00
src Generic ModelCreate & ModelDelete events 2026-10-25 14:29:38 -04:00
.editorconfig Initial Framework Commit 2026-09-11 20:34:16 -04:00
.gitattributes [skip ci] Documentation 2026-09-12 01:49:08 -04:00
.gitignore Initial commit (by create-cloudflare CLI) 2026-09-11 19:48:59 -04:00
.prettierrc Initial Framework Commit 2026-09-11 20:34:16 -04:00
eslint.config.ts Initial Framework Commit 2026-09-11 20:34:16 -04:00
LICENSE Initial Framework Commit 2026-09-11 20:34:16 -04:00
package-lock.json Update dependency wrangler to v4.160.0 2026-11-13 13:01:58 +00:00
package.json remove vitest 2026-11-11 09:42:55 -05:00
README.md [skip ci] readme 2026-10-25 14:32:05 -04:00
renovate.json Renovate config init 2026-10-29 15:57:57 -04:00
tsconfig.json actually send webhooks 2026-09-12 01:16:58 -04:00
vitest.config.mts Initial Framework Commit 2026-09-11 20:34:16 -04:00
worker-configuration.d.ts Initial Framework Commit 2026-09-11 20:34:16 -04:00
wrangler.jsonc fuck authentik is annoying 2026-09-12 00:07:14 -04:00

Authentik2Discord

A better Discord webhook for Authentik.

Currently Supported Events

  • Model Create
  • Model Delete
  • Configuration Error
  • Property Mapping Exception
  • Update Available
  • Login

Installation

A public instance is hosted at auth2discord.abyssalfragments.org

Paste the contents of src/mapping.py into a Webhook Property Mapping and uncomment the last line

Alternatively, bind mount the mapping file into your container and import it (success may vary!)

volumes:
  - ./authentik2discord/src/mapping.py:/ak-root/.venv/lib/python3.14/site-packages/authentik2discord/__init__.py
from authentik2discord import authentik2discord
return authentik2discord(request.context['notification'])

Create a webhook transport of type Webhook (Generic)

The URL will be <URLBase>/<webhookId>/<webhookSecret>. You can easily make this by replacing https://discord.com/api/webhooks/ in your webhook URL with your base url

Apply the earlier created property mapping to your transport and you should be good!

Property Mapping

Transport

Self-Hosting the proxy

This requires a cloudflare account!

You may be able to run this under runtimes that support export default servers like bun but this is untested!

  • Fork the repo
  • Edit routes.[0].pattern of wrangler.jsonc to point to your domain
  • Install modules pnpm install --frozen-lockfile
  • Deploy! pnpm deploy