Knowing immediately when a deployment succeeds, fails, or when your server is running low on resources is critical for unattended production workloads. Dokploy’s notification system lets you configure one or more channels so that important events are always surfaced in the tools your team already uses — whether that’s a Slack channel, a Telegram chat, an email inbox, or a custom webhook endpoint.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Nettalco/dokploy/llms.txt
Use this file to discover all available pages before exploring further.
Supported Channels
Slack
Post messages to any Slack channel using an incoming webhook URL.
Discord
Send embed messages to a Discord channel using a Discord webhook.
Telegram
Push messages to a Telegram chat or group via the Bot API.
Email (SMTP)
Send HTML emails through any SMTP server.
Resend
Send transactional emails using the Resend API.
Gotify
Push notifications to a self-hosted Gotify server.
Ntfy
Deliver push notifications via ntfy (self-hosted or ntfy.sh).
Microsoft Teams
Post adaptive cards to a Microsoft Teams channel via an incoming webhook.
Lark
Send messages to Lark (Feishu) using a bot webhook URL.
Pushover
Deliver push notifications to mobile devices with the Pushover API.
Mattermost
Post messages to a Mattermost channel using an incoming webhook.
Custom Webhook
POST a JSON payload to any URL for integration with any service.
Channel Configuration
Each channel requires a small set of credentials. The fields below are the minimum you need to supply when creating a notification.Slack
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| Webhook URL | The incoming webhook URL generated in your Slack app configuration (e.g. https://hooks.slack.com/services/…). |
| Channel | The Slack channel name to post to (e.g. #deployments). |
Discord
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| Webhook URL | The Discord webhook URL from Server Settings → Integrations → Webhooks. |
> quote styling.
Telegram
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| Bot Token | The token returned by @BotFather when you created the bot (e.g. 123456:ABC-DEF…). |
| Chat ID | The numeric chat or group ID the bot should message. You can find it by sending a message to the bot and calling getUpdates on the Bot API. |
Email (SMTP)
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| SMTP Host | Hostname of your SMTP server (e.g. smtp.gmail.com). |
| SMTP Port | Port number — typically 587 (STARTTLS) or 465 (SSL). |
| Username | SMTP authentication username (usually your email address). |
| Password | SMTP authentication password or app-specific password. |
| From Address | The sender address shown in the From: header. |
| To Addresses | One or more recipient addresses. |
Resend
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| API Key | Your Resend API key from the Resend dashboard. |
| From Address | A verified sender address or domain in your Resend account. |
| To Addresses | One or more recipient addresses. |
Gotify
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| Server URL | Base URL of your Gotify instance (e.g. https://gotify.example.com). |
| App Token | An application token (appToken) generated in the Gotify UI. |
| Priority | Notification priority level (integer, minimum 1). |
Ntfy
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| Server URL | Base URL of your ntfy instance or https://ntfy.sh. |
| Topic | The ntfy topic to publish to. |
| Priority | Notification priority level (integer, minimum 1). |
| Access Token | An access token (accessToken) if your ntfy server requires authentication (optional). |
Microsoft Teams
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| Webhook URL | The incoming webhook URL from the Teams channel connector settings. |
Lark (Feishu)
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| Webhook URL | The bot webhook URL from your Lark/Feishu group robot settings. |
Pushover
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| User Key | Your Pushover user key (userKey) from the Pushover dashboard. |
| API Token | The API token (apiToken) of the Pushover application you created. |
Mattermost
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| Webhook URL | The incoming webhook URL from Integrations → Incoming Webhooks in Mattermost. |
| Channel | The Mattermost channel to post to (e.g. deployments). Optional. |
| Username | Optional display name for the bot (defaults to Dokploy Bot). |
Custom Webhook
| Field | Description |
|---|---|
| Name | A friendly label for this notification entry. |
| Endpoint | The full URL (endpoint) that Dokploy will POST the JSON notification payload to. |
| Headers | Optional map of HTTP headers (key/value pairs) to include with every request (e.g. an Authorization header). |
Adding a Notification
Open Notifications settings
In the Dokploy dashboard, navigate to Settings → Notifications and click Add Notification.
Test the connection
Click Test Connection. Dokploy will call the corresponding test endpoint (e.g.
notification.testSlackConnection, notification.testDiscordConnection) and send a "Hi, From Dokploy 👋" test message to your channel. Verify that the message arrives before saving.Testing a Connection
Every channel exposes a Test Connection button that fires a test message before you commit to saving the configuration. The test endpoints used internally are:| Channel | Test Endpoint |
|---|---|
| Slack | notification.testSlackConnection |
| Discord | notification.testDiscordConnection |
| Telegram | notification.testTelegramConnection |
notification.testEmailConnection | |
| Resend | notification.testResendConnection |
| Gotify | notification.testGotifyConnection |
| Ntfy | notification.testNtfyConnection |
| Microsoft Teams | notification.testTeamsConnection |
| Lark | notification.testLarkConnection |
| Pushover | notification.testPushoverConnection |
| Mattermost | notification.testMattermostConnection |
| Custom Webhook | notification.testCustomConnection |
invalid_auth from Slack, or an HTTP 403 from your SMTP relay) is surfaced in the dashboard so you can correct the credentials without guessing.
Notification Events
Dokploy fires a notification for the following events:| Event | Description |
|---|---|
| Deploy success | A build and deployment completed without errors. |
| Deploy failure | A build or deployment step returned a non-zero exit code or timed out. |
| Server threshold exceeded | CPU or memory usage on the Dokploy server or a connected remote server crossed a configured threshold. |
Server Resource Threshold Alerts
Dokploy’s metrics agent monitors CPU and memory usage. When usage crosses a threshold, the agent callsnotification.receiveNotification with the following payload:
ServerType is either "Dokploy" (the local server) or "Remote" (a connected remote server). The token is validated against the stored metrics configuration before the alert is dispatched.
The
notification.receiveNotification endpoint is public and authenticated solely by the metrics token. Keep the token confidential and rotate it if you suspect it has been leaked.Custom Webhooks
The Custom Webhook channel lets you integrate Dokploy notifications with any HTTP service that accepts a POST request — incident management tools, custom Slack bots, internal dashboards, etc. When a notification fires, Dokploy sends aPOST request to your URL with the following JSON body:
notification.testCustomConnection and sends a "Hi, From Dokploy 👋" payload to your endpoint.
Managing Notifications
| Action | API Endpoint |
|---|---|
| List all notifications | notification.all |
| Get a single notification | notification.one |
| Delete a notification | notification.remove |
| Update Slack | notification.updateSlack |
| Update Discord | notification.updateDiscord |
| Update Telegram | notification.updateTelegram |
| Update Email | notification.updateEmail |
| Update Resend | notification.updateResend |
| Update Gotify | notification.updateGotify |
| Update Ntfy | notification.updateNtfy |
| Update Teams | notification.updateTeams |
| Update Lark | notification.updateLark |
| Update Pushover | notification.updatePushover |
| Update Mattermost | notification.updateMattermost |
| Update Custom | notification.updateCustom |
notification permission at the appropriate level (create, update, or delete).