Canal
Todas las notificaciones van al canal #deploys (C091W026C23). Este canal centraliza el estado de deploys, builds, y procesos automatizados de todos los repositorios.
Formato estándar
Usamos Block Kit dentro deattachments para lograr:
- Color lateral verde/rojo según resultado
- Título con emoji + nombre del proyecto + resultado
- Campos estructurados con info relevante (repo, branch, commit, etc.)
- Link al workflow en el footer
- Fallback text para que el preview en móvil/desktop se vea bien
El campo
text dentro del attachment es obligatorio para que el preview de la notificación (push móvil, desktop) muestre contenido útil en vez de “sent an attachment”.GitHub Actions: Dos enfoques
En GitHub Actions hay dos formas de enviar notificaciones a Slack. Cada una tiene restricciones diferentes.Opción A: Incoming Webhook (actual)
Usa un Incoming Webhook URL. Es la opción más simple de configurar. Secret necesario:SLACK_WEBHOOK_URL
Opción B: Slack Web API (recomendada)
Usa la Slack Web API (chat.postMessage) directamente con un Bot Token. Soporta todo Block Kit incluyendo header blocks dentro de attachments, igual que Windmill.
Secret necesario: SLACK_BOT_TOKEN (formato xoxb-...)
Comparación
Windmill (TypeScript con Slack Web API)
Campos por proyecto
Cada proyecto incluye los campos más relevantes en la secciónfields. Máximo 6 campos (límite de Slack para el layout de 2 columnas).
Reglas
- Siempre usar
attachmentsconcoloryblocks— nunca solotexto soloblocksa nivel root. - Siempre incluir
textdentro del attachment como fallback para el preview. - Título: emoji de estado + nombre del proyecto + resultado (
succeeded/failed). Con Webhook usarsection+mrkdwnbold. Con Web API se puede usarheaderblock. - Section fields: datos estructurados en pares clave-valor.
- Context: timestamp y/o link al workflow/proceso.
- Colores:
#36a64f(verde) para éxito,#e01e5a(rojo) para fallo.