Webhooks
One webhook per category, one channel per signal
FiveGateway routes log events to the Discord channels, Slack rooms, and custom endpoints that should hear about them, per category, with a dedicated webhook URL, so high-signal events stay loud and low-signal events stay out of the way.
The unit of webhook routing is the log category, not the log event. You define a category once (store-purchase, fail2ban, crash, session-end), attach a webhook URL to it, and every event in that category forwards automatically. Adding a new integration means adding a category in the dashboard, not deploying new code. The Lua snippet in your resource stays identical.
Each webhook target can be a Discord channel via the standard Discord webhook URL, a Slack channel via the incoming webhook URL, or a custom HTTP endpoint on your own infrastructure. For Discord and Slack, the payload is formatted for that platform: Discord Embed with color-coded severity, Slack Block Kit for the channels that expect it. For custom endpoints, you get the raw JSON with every field of the original event.
Severity filtering keeps the loudest signals audible. On a category basis, you can route only warnings and errors to a busy channel, and push all severity levels to a dedicated audit channel that nobody reads in real time but everyone searches during an incident review. That split matters most for high-volume categories like player-join or vehicle-spawn where you do not want a Discord channel with 10,000 messages a day.
Retries and reliability are handled for you. If a webhook endpoint returns a 5xx, FiveGateway retries with exponential backoff; if it returns a 4xx, the event is flagged in the dashboard so you can fix the endpoint URL. The queue survives short outages without dropping events, so a Discord rate-limit does not cost you the log of a critical moderation action.
You do not have to invent a custom endpoint to use webhooks for automation. But if you want to (for example, to pipe ban events into a community database, or to fan out transactions to a billing tool), the raw JSON format is stable and documented. The same event you see in the FiveGateway dashboard is what arrives at your endpoint, with typed fields and the category metadata intact.
Webhooks are also how performance alerts leave the dashboard. When server tick rate drops, or CPU crosses a threshold, FiveGateway emits a performance event in its own category. Route that category to an on-call channel and you have a working alerting pipeline, without paying for a separate observability stack or writing a custom script that polls the stats API.
How it works
- 1
Attach a webhook to a category
Open a log category, paste a Discord, Slack, or custom webhook URL, and pick a severity filter.
- 2
Events route automatically
From that point on, every event emitted into the category forwards to the configured endpoint in the matching payload format.
- 3
Retries and errors are visible
Failed webhook deliveries appear in the dashboard with the response code so you can diagnose endpoint issues quickly.