docs Notificaciones
Notificaciones
Envía eventos de despliegue, backup y tareas a Discord, Slack, Telegram, email o cualquier webhook.
Canales compatibles
Discord
URL del webhook. Los mensajes se envían como embeds de color con los detalles del evento.
Slack
URL del incoming webhook. Los mensajes usan bloques de Slack con los detalles del evento.
Telegram
Bot Token y Chat ID del chat o canal donde publica el bot.
Email (Resend)
Destinatario(s) (separados por comas), tu API Key de Resend y una dirección From opcional.
Webhook
Cualquier URL http(s) pública, con un HMAC Secret opcional para firmar el payload.
Las URLs de Webhook, Discord y Slack deben apuntar a una dirección pública: los destinos privados, de loopback y link-local se rechazan.
Añadir un canal
Abre la sección Notifications de un proyecto y añade un canal: ponle un nombre, elige el tipo, rellena sus campos y marca los eventos que debe recibir (un canal nuevo recibe por defecto los éxitos y fallos de despliegue). Usa Send Test para comprobar la configuración antes de depender de ella. Los canales se pueden editar, desactivar y reactivar sin eliminarlos.
Eventos
Estos eventos se entregan actualmente a los canales:
deploy.successUna aplicación o stack de Compose se desplegó correctamente
deploy.failedFalló el despliegue de una aplicación o stack de Compose
backup.completedTerminó un backup de una base de datos o servidor de juegos
backup.failedFalló un backup de una base de datos o servidor de juegos
task.failedUna tarea programada o comando puntual terminó con código distinto de cero o superó el tiempo límite
La lista de eventos también muestra app.stopped, app.error, health_check.failed y alert.fired, pero por ahora nada los emite hacia los canales. Las alertas de métricas se entregan a través del destino configurado en cada regla de alerta; consulta Monitoring.
Payload del webhook
Los canales de tipo Webhook reciben un POST JSON. Cuando hay un secreto configurado, el cuerpo sin procesar se firma con HMAC-SHA256 en la cabecera X-DeployKit-Signature:
// X-DeployKit-Signature: sha256=<hex digest>
{
"source": "deploykit",
"event": "deploy.failed",
"timestamp": "2026-10-14T09:30:00.000Z",
"data": {
"title": "...",
"message": "...",
"projectId": "...",
"applicationName": "...",
"error": "..."
}
}Los campos dentro de data además de title, message y projectId dependen del evento.
Canales de proyecto y de toda la instancia
Un canal pertenece a un proyecto y solo recibe los eventos de ese proyecto, de modo que producción y staging pueden avisar a lugares distintos. Un canal creado mediante la API sin proyecto es de toda la instancia y recibe eventos de todos los proyectos. Gestionar canales de proyecto requiere el rol global Operator o Admin más el rol Operator o Admin en el proyecto; los canales de toda la instancia requieren el rol global Operator o Admin. La configuración de un canal puede contener tokens y API keys, por lo que los Viewers no pueden leerla.
Nota: Una notificación que falla al enviarse se registra y se omite: nunca hace fallar el despliegue, backup o tarea que la originó. Si un canal deja de recibir mensajes, compruébalo con Send Test.