¿Qué es un webhook de Slack?
Un webhook de Slack (oficialmente, un incoming webhook) es una URL única que permite a un servicio externo publicar mensajes en un canal de Slack. No necesitas crear un token de bot ni un flujo OAuth: el servicio envía una solicitud HTTP POST con un payload JSON y el mensaje aparece en el canal. Por eso un webhook de Slack es la forma más sencilla de que tu equipo vea las alertas de monitorización web en cuanto algo falla.
Cómo funcionan los incoming webhooks
Cada URL de webhook pertenece a una app de Slack y está vinculada al canal que elegiste al crearla. Cuando tu servicio de monitorización detecta un problema, envía a esa URL una solicitud POST con un cuerpo JSON como {"text": "example.com está caído"}. Slack publica el mensaje en el canal. Los mensajes pueden ser texto sin formato o usar Block Kit para diseños más completos.
Cómo crear un incoming webhook de Slack
Actualmente, la configuración de Slack pasa por una app que creas en api.slack.com/apps. Tarda unos cinco minutos. La consola de Slack está en inglés, así que citamos los nombres originales de los botones.
Necesitas permiso para instalar apps en tu espacio de trabajo de Slack. Si tu espacio de trabajo restringe la instalación de apps, Slack te pedirá que solicites la aprobación de un administrador.
- 1
Crea una app de Slack
Ve a api.slack.com/apps y haz clic en «Create New App». Elige «From scratch», ponle un nombre como «Website Monitor», selecciona el espacio de trabajo que recibirá las alertas y haz clic en «Create App».
- 2
Activa los incoming webhooks
En la configuración de la app, abre «Incoming Webhooks» en la barra lateral izquierda y activa «Activate Incoming Webhooks».
- 3
Añade un webhook a tu espacio de trabajo
Desplázate hacia abajo y haz clic en «Add New Webhook to Workspace». Slack te preguntará en qué canal debe publicar la app: elige un canal dedicado como #alerts y aprueba la solicitud.
- 4
Copia la URL del webhook
De vuelta en la página «Incoming Webhooks», tu nueva URL aparece en «Webhook URLs for Your Workspace». Tiene este aspecto: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX. Cópiala y trátala como una contraseña.
Prueba tu webhook de Slack
Antes de conectar un servicio de monitorización, comprueba que el webhook funciona enviando un mensaje de prueba desde el terminal. Sustituye la URL por la tuya:
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"Test alert from my monitoring setup"}' \
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXXSi todo está bien configurado, Slack responde con «ok» y el mensaje aparece en tu canal.
Conecta el webhook de Slack con nanokoi.io
Las alertas de Slack están incluidas en todos los planes de nanokoi.io, también en el Free. Cuando tengas la URL del webhook:
- 1Abre la configuración de notificaciones en tu cuenta de nanokoi.io
- 2Activa «Habilitar notificaciones de Slack»
- 3Pega la URL del webhook en el campo «Slack Webhook URL»
- 4Haz clic en «Probar Webhook» y comprueba que el mensaje de prueba llega a tu canal
A partir de ese momento, nanokoi.io publica en el canal cada vez que falla una comprobación. Las alertas pueden venir de la monitorización de uptime, de la monitorización de certificados SSL o de la monitorización DNS, y puedes usar alertas por email y por webhook genérico junto a Slack.
Limitaciones de los incoming webhooks de Slack
Los incoming webhooks son sencillos a propósito. Ten en cuenta estos límites al planificar tus alertas:
- Cada webhook publica en un solo canal. Crea un webhook por canal si quieres enviar alertas a varios canales
- No puedes cambiar el canal, el nombre de usuario ni el icono desde el payload: los determinan la app y el canal elegido
- Los mensajes enviados mediante un webhook no se pueden editar ni eliminar después
- Slack limita los incoming webhooks a aproximadamente un mensaje por segundo, con picos breves permitidos
- Las antiguas integraciones personalizadas «Incoming WebHooks» son una función heredada: usa una app de Slack para las nuevas configuraciones
Errores habituales de los webhooks de Slack
Si un mensaje no llega, la respuesta de Slack te dice por qué. Los errores más comunes son:
invalid_payload
El cuerpo JSON está mal formado. Revisa las comillas, el escapado y la cabecera Content-type: application/json.
no_text
Al payload le falta el campo obligatorio text.
no_service
El webhook se desactivó o eliminó, o la URL es incorrecta. Crea un webhook nuevo y actualiza la URL en tu servicio de monitorización.
channel_is_archived
El canal se ha archivado. Desarchívalo o añade un webhook nuevo para otro canal.
action_prohibited
Un administrador del espacio de trabajo ha restringido las publicaciones de esta app o en este canal.
Buenas prácticas para las alertas de monitorización en Slack
Unos pocos hábitos hacen que las alertas de Slack sean útiles y no ruido:
- Mantén en secreto la URL del webhook: contiene un token, así que nunca la subas a un repositorio público. Slack detecta y revoca activamente las URL de webhook filtradas
- Usa un canal de alertas dedicado para que los incidentes no se pierdan entre las conversaciones del día a día
- Envía las alertas críticas y las notificaciones rutinarias a canales distintos, con un webhook por canal
- Prueba el webhook después de cada cambio en tu app de Slack, en el canal o en los permisos del espacio de trabajo
- Mantén activadas las alertas por email como respaldo por si Slack sufre una caída
- Elimina de tu app de Slack los webhooks que ya no uses
Preguntas frecuentes sobre los webhooks de Slack
¿Los incoming webhooks de Slack son gratuitos?
Sí. Puedes crear una app de Slack e incoming webhooks en cualquier plan de Slack, incluido el gratuito.
¿Puede un webhook de Slack publicar en varios canales?
No. Cada incoming webhook está vinculado al canal que elegiste al añadirlo. Para publicar en varios canales, añade un webhook por canal a tu app de Slack.
¿Qué hago si se filtra la URL de mi webhook?
Elimina el webhook en la página «Incoming Webhooks» de tu app, crea uno nuevo y actualiza la URL en todos los sitios donde se use. Slack también revoca las URL de webhook que encuentra expuestas públicamente.
¿Necesito programar para enviar alertas de nanokoi.io a Slack?
No. Pega la URL del webhook en la configuración de notificaciones de nanokoi.io y haz clic en «Probar Webhook»: nanokoi.io da formato a los mensajes de alerta y los envía por ti.
Recibe las alertas de tu web en Slack
Monitoriza hasta 5 URL gratis y recibe alertas por Slack, email o webhook cuando falle una comprobación. ¿Necesitas comprobaciones más frecuentes o más URL? Compara los planes.
Empieza a monitorizar gratisNo se requiere tarjeta de crédito