n8n Telegram node envía Markdown legado y silencia alertas con un solo guion bajo
El nodo de Telegram de n8n, sin parse_mode configurado, entrega mensajes en Markdown heredado. Un carácter no escapado provoca errores 400 y la pérdida silenciosa de alertas críticas.
El nodo n8n‑nodes‑base.telegram, cuando no se especifica parse_mode en additionalFields, no envía texto plano. En su lugar utiliza Markdown antiguo, tal como indica su definición de tipo que tiene por defecto HTML. Cuando el cuerpo del mensaje contiene un guion bajo, asterisco o corchete sin emparejar, Telegram devuelve un error 400 y la alerta desaparece sin aviso.
El autor, /u/achiya‑automation, había confiado en que sus monitores de contenedores, copias de seguridad y watchdogs enviaban notificaciones sin problema durante meses. Sin embargo, descubrió que un watchdog fallaba unas once veces al día y nunca había sido informado. Al revisar la configuración, se dio cuenta de que la cadena de error estaba dentro de un nodo que solo se activa cuando otro fallo ya había ocurrido. Cada reintento, programado cada hora, terminaba con el mismo error 400, dejando al usuario sin ninguna señal de que algo estaba mal.
La solución es sencilla: establecer parse_mode a HTML en additionalFields y escapar la ampersand (&) en cualquier contenido dinámico, ya que HTML solo requiere escapar ese carácter. El autor había configurado 15 nodos de este tipo en 12 flujos de trabajo activos.
Para localizar tus nodos afectados, ejecuta la siguiente consulta en la base de datos de n8n (PostgreSQL):
SELECT w.name
FROM workflow_entity w,
jsonb_array_elements(w.nodes::jsonb) n
WHERE n->>'type' = 'n8n-nodes-base.telegram'
AND COALESCE(n->'parameters'->'additionalFields'->>'parse_mode','') = '';
Ejecuta la consulta incluso si tus alertas parecen saludables; el problema puede pasar desapercibido.
La lección es clara: siempre verifica la configuración de parse_mode al usar el nodo de Telegram en n8n. Un solo carácter no escapado puede hacer que la alerta se pierda por completo, sin que el sistema de monitoreo lo detecte.

