Canales de entrega personales
Los canales de entrega personales envían sus propias notificaciones de Kanera a otro lugar que no sea el correo electrónico o el navegador.
El correo electrónico y el navegador funcionan bien para la mayoría de las personas, pero no son los únicos destinos útiles. Algunos equipos ya ejecutan un servidor de notificaciones autohospedado. Algunas personas quieren recibir alertas en un teléfono sin otorgar permiso de notificación al navegador. Algunos quieren que los eventos de Kanera lleguen a un script, un panel de inicio o una herramienta de guardia.
Kanera admite tres destinos personales:
| canal | que es | Bueno para |
|---|---|---|
| ntfy | Un servidor de notificaciones al que se suscribe desde una aplicación de teléfono o de escritorio, ya sea ntfy.sh o tu propia instancia. | Alertas telefónicas sin necesidad de presionar el navegador, temas de equipo compartidos, configuraciones de laboratorio doméstico. |
| gotificar | Un servidor de notificaciones autohospedado con su propia aplicación de Android y interfaz de usuario web. | Alertas totalmente autohospedadas sin ningún servicio push de terceros en el camino. |
| Webhook personal | Un punto final HTTPS de su propiedad que recibe JSON firmado. | Scripts, paneles de control, enrutamiento de guardia, automatización personalizada, puentes de chat que ya ejecuta. |
Estos canales son personales. Pertenecen a su cuenta, no a un espacio de trabajo, y nadie más puede verlos ni cambiarlos. No dependen de la configuración push de la organización ni del permiso de notificación del navegador.
ellos necesitan Pro o los 30 días prueba profesional. No están disponibles en la versión gratuita alojada, donde el correo electrónico, la inserción del navegador y el cajón de la aplicación siguen funcionando con normalidad. Ver Requisitos del plan abajo.
Si desea que todo el equipo vea la actividad de la tarjeta en un canal compartido, use Destinos de chat en cambio. Los canales personales son una fuente privada; Los destinos de chat son una fuente de información del equipo y los configura un administrador del espacio de trabajo.
Cuándo usar cada canal
uso ntfy cuando desee recibir alertas en su teléfono o computadora de escritorio y prefiera no utilizar la función push del navegador. Instale la aplicación ntfy, suscríbase a un tema y Kanera lo publicará. Esta también es la opción más sencilla si ya publicas otras alertas en ntfy y quieres que Kanera esté junto a ellas.
uso gotificar cuando el requisito es que nada salga de tu infraestructura. Gotify se ejecuta en su propio servidor, la aplicación de Android se comunica directamente con él y Kanera solo necesita la URL del servidor y un token de aplicación.
Utilice un webhook personal cuando desea hacer algo con la notificación en lugar de leerla. Usos comunes:
- Dirija las menciones y las tarjetas vencidas a una herramienta de búsqueda o de guardia.
- Publique sus tareas en un canal de chat personal o en un bot que ya ejecute.
- Agregue notificaciones a un registro, un panel o una base de datos personal.
- Conecte Kanera con un proveedor de notificaciones que Kanera no admite directamente.
Requisitos del plan
Los canales de entrega personal necesitan Pro o una prueba Pro. Correo electrónico, inserción en el navegador, el cajón de notificaciones en la aplicación, el resumen diario, visualización y Reglas del espacio de trabajo están disponibles en todos los planes y no se ven afectados por esto.
En alojamiento gratuito, Destinos de notificación adicionales muestra ntfy, Gotify y webhooks personales no están disponibles en tu plan en lugar de las tarjetas de configuración.
Si una organización pasa de Pro o una versión de prueba a Free, Kanera desactiva los canales ntfy, Gotify y webhook de cada persona. No se elimina nada: las URL del servidor, los temas, los tokens, los secretos de firma y las preferencias por tipo permanecen guardados, y todo lo que aún espera para enviarse se descarta en lugar de llegar tarde. La actualización nuevamente activa exactamente los canales que cada persona había habilitado, por lo que nadie tiene que volver a conectar nada.
Dónde configurarlos
Abierto Configuración de perfil -> Notificaciones y expandir Destinos de notificación adicionales.
Cada canal tiene su propia tarjeta con campos de conexión, un Habilitado alternar, alternar tipo de notificación y Guardar, prueba, y Quitar acciones.
Un canal no se puede habilitar hasta que haya completado todo lo que necesita. Lo que permites aquí es lo máximo que un canal te enviará: Reglas del espacio de trabajo Puede silenciar un canal para un espacio de trabajo, pero nunca hacer que envíe más de lo que permiten estas configuraciones.
Su cajón de notificaciones en la aplicación nunca se ve afectado por esta configuración. Siempre muestra el feed completo.
Configurar ntfy
- Elija el servidor. uso
https://ntfy.shpara el servicio público, o su propia instancia comohttps://ntfy.example.com. - Elija un nombre de tema. Trátelo como un secreto en el servicio público, ya que cualquiera que conozca un tema puede suscribirse a él. algo como
kanera-a7f3c2-ameliaes mejor quekanera. - En Kanera, ingrese el URL del servidor y Tema. Deje la cadena de consulta fuera de la URL del servidor; Kanera añade el tema en sí.
- Si el tema requiere autenticación, pegue un token de acceso en ficha al portador. Es opcional en servidores abiertos y obligatorio en los protegidos.
- Haga clic Guardar, luego enciende Habilitado.
- Elija qué tipos de notificaciones debe enviar este canal.
- Haga clic prueba y confirme que llega el mensaje.
- Suscríbase al mismo tema en la aplicación ntfy o en la interfaz de usuario web si aún no lo ha hecho.
Cada notificación llega como un mensaje simple con un título y, al tocarlo, se abre la tarjeta en Kanera.
Configurar Gotify
- Abra su interfaz de usuario web de Gotify y cree una aplicación — por ejemplo, "Kanera".
- Copia el token de aplicación que genera Gotify. Los tokens de aplicación comienzan con
A. No utilice un token de cliente. - En Kanera, ingrese el URL del servidor, como
https://gotify.example.comy pegue el token en token de aplicación. - Haga clic Guardar, luego enciende Habilitado.
- Elija qué tipos de notificaciones debe enviar este canal.
- Haga clic prueba y confirma que el mensaje aparece en Gotify.
Los mensajes aparecen en Gotify debajo de la aplicación que creaste, con el título de la notificación, un resumen legible y un enlace que abre la tarjeta. Se envían con prioridad normal, por lo que la configuración de cada aplicación de Gotify decide qué tan insistente es la alerta.
El token de la aplicación se almacena cifrado y nunca se vuelve a mostrar; el campo muestra Guardado: déjelo en blanco para conservarlo.. uso Quitar token para borrarlo, o pegue un token nuevo y guárdelo para reemplazarlo.
Configurar un webhook personal
- Prepare un punto final HTTPS que acepte
POSTsolicitudes con un cuerpo JSON y devuelve un estado 2xx rápidamente. - En Kanera, ingrese el URL de punto final y haga clic Guardar.
- Kanera genera un secreto de firma y lo muestra una vez. Cópialo ahora — no se vuelve a mostrar.
- Guarde el secreto en su receptor y verifique cada solicitud antes de confiar en él.
- encender Habilitadoy luego elija qué tipos de notificaciones debe enviar este canal.
- Haga clic prueba y confirme que su punto final recibió y verificó la solicitud.
uso Rotar secreto para publicar un nuevo secreto. El antiguo secreto deja de funcionar inmediatamente, así que actualice su receptor en la misma ventana de mantenimiento.
Solicitar encabezados
| encabezado | Significado |
|---|---|
Content-Type | siempre application/json. |
User-Agent | Kanera-Personal-Notifications/1.0. |
X-Kanera-Event-Id | Identificación única para esta entrega. Partidos id en el cuerpo. |
X-Kanera-Timestamp | Marca de tiempo de Unix en segundos. |
X-Kanera-Signature | sha256= más un HMAC-SHA256 de ${timestamp}.${rawBody} utilizando su secreto de firma. |
Carga útil
{
"id": "0199c3ab-6f5e-7d21-9b0c-8b31a7e40f2d",
"type": "notification",
"occurredAt": "2026-07-30T09:14:22.481Z",
"notification": {
"kind": "comment_mentioned",
"reason": "mentioned",
"title": "Mentioned in a comment",
"body": "Amelia mentioned you in Website Redesign / Prepare kickoff agenda: can you review the copy?",
"url": "https://kanera.example.com/b/48a52a55-763e-4c64-8a76-51ac56247f5c/c/70c39cef-1aec-44e6-a8f5-f36f765a818d",
"tag": "card:70c39cef-1aec-44e6-a8f5-f36f765a818d:mentioned"
}
}
| campo | Significado |
|---|---|
id | ID de entrega, también enviado como X-Kanera-Event-Id. Úselo para hacer que su receptor sea idempotente. |
type | siempre notification para entregas en canales personales. |
occurredAt | Marca de tiempo ISO 8601 para cuando la notificación estaba en cola. |
notification.kind | Tipo de notificación, como card_assigned, card_comment_added, comment_mentioned, card_due_date_changed, card_overdue, card_reminder, o test. |
notification.reason | Por qué se le notificó: assigned, comment, mentioned, dueDateChanged, overdue, reminder, o test. |
notification.title | Titular corto. |
notification.body | Resumen legible por humanos que incluye el actor, el tablero y la tarjeta. |
notification.url | Enlace profundo a la tarjeta, cuando la notificación apunta a uno. |
notification.tag | Tecla de agrupación para contraer notificaciones repetidas sobre la misma tarjeta. |
Verificar la firma
import crypto from "node:crypto";
import express from "express";
const app = express();
app.post("/kanera/notifications", express.raw({ type: "application/json" }), (req, res) => {
const timestamp = req.header("X-Kanera-Timestamp") ?? "";
const signature = req.header("X-Kanera-Signature") ?? "";
const expected = "sha256=" + crypto
.createHmac("sha256", process.env.KANERA_NOTIFICATION_SECRET!)
.update(`${timestamp}.${req.body.toString("utf8")}`)
.digest("hex");
const ok = signature.length === expected.length
&& crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
if (!ok) return res.status(401).send("invalid signature");
const event = JSON.parse(req.body.toString("utf8"));
// Handle event.notification.reason, .title, .body, and .url.
res.sendStatus(204);
});
Verifique siempre con el cuerpo de la solicitud sin formato. Si su marco analiza JSON antes de la verificación, la verificación puede fallar o volverse poco confiable. Rechazar solicitudes cuyas X-Kanera-Timestamp está lejos de su propio reloj y trate una repetición X-Kanera-Event-Id como duplicado.
Qué notificaciones puede enviar cada canal
Los canales personales incluyen los mismos cinco tipos de notificaciones que el correo electrónico y las notificaciones push:
| Tipo | Enviado cuando |
|---|---|
| Tarjeta asignada | Estás asignado a una tarjeta. |
| Se agregó el comentario de la tarjeta. | Alguien comenta sobre una tarjeta que te asignaron. |
| Etiquetado en un comentario | Alguien te menciona en un comentario. |
| Se cambió la fecha de vencimiento de la tarjeta | La fecha de vencimiento cambia en una tarjeta que se le ha asignado. |
| Tarjeta vencida | Una tarjeta asignada o un elemento de la lista de verificación asignado está vencido. |
| Recordatorios de tu tarjeta | un recordatorio que configuraste en una tarjeta vence. |
Cada canal tiene su propio conjunto de tipos de alternancia, por lo que un canal puede ser mucho más silencioso que el correo electrónico. Una configuración común es el correo electrónico para todo, ntfy solo para menciones y trabajos atrasados, y un webhook para tareas que alimentan un guión personal.
La actividad del observador pasivo aparece en el cajón de la aplicación y el resumen diario se envía únicamente por correo electrónico. Ninguno de los dos se entrega a canales personales.
Destinos permitidos y seguridad
Kanera verifica cada destino cuando lo guarda y nuevamente antes de que salga cada notificación.
Por defecto:
- Los destinos deben utilizar HTTPS público.
- La URL no puede contener un nombre de usuario y contraseña (
https://user:pass@host) o un#fragment. - La URL de un servidor ntfy o Gotify no puede contener una cadena de consulta. Ingrese solo la dirección del servidor.
- Se rechazan las direcciones de una red privada o interna.
- Un destino que redirige a otro lugar se trata como un error y Kanera no espera más de 10 segundos para recibir una respuesta.
Algunas instalaciones de Kanera permiten receptores en una red interna, que es lo que normalmente necesita un servidor ntfy o Gotify que se ejecuta en casa o en la LAN de una empresa. Algunas direcciones permanecen bloqueadas de cualquier manera, incluidas las que los proveedores de la nube reservan para su propia infraestructura. La página de configuración de notificaciones le indica cuál de las dos políticas se aplica a usted; Si necesita la política de la red interna, pregúntele a quien administra su Kanera.
Sus tokens y secretos de firma se almacenan cifrados y nunca se vuelven a mostrar después de guardarlos. Si una entrega falla, Kanera registra que falló sin registrar su destino ni sus credenciales.
Qué esperar de la entrega
Las notificaciones llegan en aproximadamente medio minuto, en lugar de instantáneamente. Kanera los envía en segundo plano, por lo que nada de lo que haga en la aplicación espera a que responda su servidor ntfy o webhook.
Si su destino es inalcanzable brevemente, Kanera lo intenta unas cuantas veces más antes de darse por vencido con esa notificación. Tampoco nada se acumula durante días. Si desactiva un canal, borra sus detalles o la organización pasa a un plan sin canales personales, todo lo que aún esté en espera se descarta en lugar de llegar horas más tarde fuera de contexto.
prueba envía de inmediato y funciona incluso antes de habilitar el canal, por lo que primero puede confirmar una conexión.
Solución de problemas
| problema | comprobar |
|---|---|
| Kanera rechaza la URL al guardar. | uso https://, elimine cualquier nombre de usuario, contraseña o #fragmenty elimine la cadena de consulta de una URL del servidor ntfy o Gotify. Sólo se acepta una dirección privada o interna donde su instalación lo permita. |
| Toda la sección dice que no está disponible en su plan. | Los canales personales necesitan Pro o una prueba Pro. El correo electrónico, la inserción del navegador y el cajón de la aplicación no se ven afectados. |
| Cada canal se apagó solo. | Compruebe si la organización pasó a ser gratuita. Una degradación deshabilita la entrega de ntfy, Gotify y webhook y mantiene las conexiones guardadas; la actualización los vuelve a encender. |
| el Habilitado alternar está atenuado. | El canal no está completamente configurado. ntfy necesita una URL de servidor y un tema, Gotify necesita una URL de servidor y un token de aplicación, y un webhook necesita una URL con un secreto generado. |
| La prueba dice que el canal no está completamente configurado. | Primero guarde los campos de conexión y luego pruebe. |
| La prueba falla con un estado HTTP. | El destino rechazó la solicitud. Para ntfy, verifique el tema y cualquier token requerido. Para Gotify, confirme que utilizó un token de aplicación, no un token de cliente. Para un webhook, devuelve un estado 2xx. |
| La prueba se agota o informa una falla de la red. | Kanera no pudo alcanzar al anfitrión en 10 segundos. Confirme que se pueda acceder al host desde el servidor de Kanera y recuerde que no se siguen las redirecciones. |
| No llega nada a pesar de que la prueba funcionó. | Verifique que el tipo de notificación cambie en ese canal, luego verifique si regla del espacio de trabajo pausa o reduce la entrega para ese espacio de trabajo. |
| El receptor del webhook rechaza firmas. | Verifique el cuerpo sin procesar, no un objeto reserializado, y confirme que está usando el secreto actual si lo rotó recientemente. |
| Las notificaciones se detuvieron después de rotar un secreto. | Actualiza el receptor. El secreto anterior deja de funcionar inmediatamente. |
