Enviar un mensaje a Slack
Ponga resultados de despliegues, nuevos clientes potenciales e incidentes delante de quien mira un canal de Slack: una compilación puede publicar su estado con entorno y versión por separado, y una mención avisa al momento a la persona adecuada. Pague por uso, sin suscripción.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
con formato, en web, email o API
Por qué los mensajes estructurados se leen mejor
Slack pasó del texto plano a su formato de bloques porque las alertas operativas y las actualizaciones estructuradas se leen mejor en secciones que como un muro de texto, y hoy la mayoría de herramientas de monitorización y compilación lo usan por defecto. Con esta herramienta, un aviso de despliegue puede mostrar entorno, versión y estado como datos separados en lugar de una frase interminable que alguien tiene que descifrar. Usted indica el enlace de entrada del canal, un texto simple que funciona en todas partes y, si quiere, la estructura de bloques de Slack con encabezados, datos, botones si su espacio de trabajo los permite y menciones para quien debe verlo ya.
Usos habituales y errores frecuentes
Un proceso de compilación puede publicar si pasó o falló, con versión y entorno, en cuanto termina. Un formulario valioso puede llegar al canal de ventas con los datos del cliente potencial y un enlace directo para seguirlo. Una comprobación que supera un límite puede publicar en el canal de guardia con una mención, y los hitos de cuentas clave, como una mejora de plan, mantienen informados a los gestores sin abrir un panel. Los errores más frecuentes son omitir el texto simple que sirve de respaldo, inundar un canal con cada evento menor y mencionar a todos cuando solo una persona debe actuar.
Bloques en vez de texto plano, y por qué importa
Slack pasó de mensajes de solo texto al formato block-kit precisamente porque las alertas operativas y las actualizaciones estructuradas se leen mejor en secciones que como un bloque de texto corrido, un patrón ya tan común que la mayoría de las herramientas de monitoreo e integración continua lo usan por defecto. Soportar block-kit de forma nativa significa que una notificación de despliegue puede mostrar ambiente, commit y estado como campos separados en vez de una sola frase que alguien tiene que interpretar.
Qué puede hacer con ella
Estado de despliegues y CI
Un pipeline de compilación publica el estado de éxito o falla con campos de commit y ambiente en el canal #deploys del equipo en cuanto termina la ejecución.
Alertas de leads de ventas
Un envío de formulario de alto valor dispara un mensaje formateado en Slack al canal de ventas con los datos del lead y un enlace directo para dar seguimiento.
Escalamiento de incidentes
Un chequeo de monitoreo que cruza un umbral publica en el canal de guardia con una mención @ para que el ingeniero correcto lo vea de inmediato.
Feed de actividad de clientes
Eventos clave de cuentas, como una mejora de plan o una escalación de soporte, se publican en un canal interno de Slack para que los gerentes de cuenta estén al día sin necesidad de un dashboard.
Preguntas frecuentes
¿notify.slack es gratis?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Puedo mencionar a personas o roles específicos en el mensaje?
Sí, la sintaxis estándar de menciones de Slack funciona dentro del contenido del mensaje, así que puede mencionar a una persona, un grupo, o usar here/channel donde la política de su workspace lo permita.
¿Qué pasa si Slack rechaza el mensaje?
Recibe un error claro con el detalle de la respuesta de Slack — un canal inválido o un token expirado, por ejemplo — en vez de que el mensaje simplemente no aparezca.
¿Necesito crear una app o un bot de Slack?
No. Use como destino el enlace de entrada que Slack le da para el canal. La entrega y los reintentos corren de nuestra cuenta, así que usted da forma al mensaje una sola vez en lugar de escribir y mantener su propio código de envío.
¿Las alertas del sistema deben ir a Slack o al correo?
Slack conviene para señales que alguien mira en tiempo real, como un despliegue que termina, un cliente potencial que llega o un límite de errores superado. El correo conviene para lo que puede esperar. Muchos equipos deciden evento por evento: unos a Slack, otros al correo y algunos a ambos.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/notify/slack \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"webhook_url":"https://hooks.slack.com/services/…"}'const res = await fetch("https://api.kit.forhosting.com/notify/slack", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"webhook_url": "https://hooks.slack.com/services/…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/notify/slack",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"webhook_url": "https://hooks.slack.com/services/…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/notify/slack", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"webhook_url":"https://hooks.slack.com/services/…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"webhook_url":"https://hooks.slack.com/services/…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/notify/slack", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"webhook_url": "https://hooks.slack.com/services/…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "notify.slack",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
El webhook nativo de Slack funciona bien hasta que necesita reintentos, bloques con formato o una tarea rastreable como cualquier otra en su operación. Este endpoint publica un mensaje formateado en un canal y le entrega un task_id para seguirlo, igual que cualquier otra tarea de la plataforma.
Para equipos que viven más en Slack que en el correo
Mucha señal operativa — un despliegue terminado, un lead nuevo, un umbral de error superado — es más útil como mensaje de Slack que como correo, porque alguien está mirando el canal en tiempo real. notify.slack existe para que los sistemas de backend publiquen ahí directamente, con la misma confiabilidad y trazabilidad que esperaría de una API de pago y no de una URL de webhook entrante pegada a mano en un script.
Qué envía realmente la llamada
POST /notify/slack acepta un canal o referencia de webhook destino, un texto de respaldo, y opcionalmente la estructura block-kit de Slack para formato enriquecido — encabezados, campos, botones donde su workspace lo permite, y menciones @ para las personas que necesitan verlo de inmediato. Nosotros nos encargamos de la entrega y la lógica de reintento; usted solo define el mensaje una vez y el endpoint se encarga de que llegue.
Dónde se conecta con su automatización
Como la entrega es asíncrona, dispara la llamada desde un paso de su pipeline, un agente de monitoreo o un manejador de webhooks, y sigue sin esperar el tiempo de respuesta de Slack. Encaja de forma natural con un enrutamiento de alertas previo: decide ahí si un evento merece Slack, correo, Discord o los tres, y deja que este endpoint se encargue específicamente del tramo de Slack.
Confirmación sin adivinar
Si el canal es incorrecto, el token expiró o el workspace rechaza el mensaje, ese detalle vuelve con claridad en vez de perderse en silencio. Recibe de vuelta si la publicación tuvo éxito, incluyendo la marca de tiempo propia del mensaje en Slack para hacer referencia cruzada, mediante un webhook firmado o un enlace firmado válido por 24 horas.
Preguntas técnicas
¿Cómo publico en un canal específico de Slack con esta api de notificaciones a Slack?
Indica el canal o la referencia de webhook en el cuerpo de la solicitud POST /notify/slack, y el mensaje se entrega ahí con el formato que hayas definido.
¿La API de notificaciones a Slack soporta el formato block-kit?
Sí, puede enviar estructuras block-kit para diseños enriquecidos con campos y encabezados, junto a un texto plano de respaldo para notificaciones y clientes que no lo soporten.
¿Cuál es el precio por mensaje enviado a Slack?
Son 0.002 dólares por cada solicitud POST /notify/slack, y una publicación fallida — tras tres reintentos automáticos — nunca se cobra.
¿Puedo enviar la misma alerta a Slack y a otros canales a la vez?
Sí, puede llamar a notify.slack junto con notify.discord o notify.webhook para el mismo evento; cada uno se rastrea de forma independiente con su propio task_id.
¿Se guarda el contenido del mensaje después de enviado?
No, los payloads de los mensajes se eliminan tras el período de retención indicado y nunca se usan para entrenar modelos.