Skip to content
receta de automatización

Convierte un botón de chat en un formulario de registro de incidentes

Sáltate la pestaña de la herramienta de incidentes dedicada: un botón Reportar incidente abre un modal corto directo en el chat, y las respuestas llegan a donde las enrutes.

Comandantes de incidentesLíderes de operacionesEquipos de SRE

Los incidentes no esperan a que alguien abra la herramienta de guardia. Un botón Reportar incidente recolecta exactamente lo que la respuesta necesita — severidad, servicio, un resumen de una línea — en un modal que se abre justo donde se notó el incidente por primera vez, y luego reenvía las respuestas a donde viva tu proceso de incidentes.

Esta página cubre el contrato del modal (modal_body, sus blocks, la marca required en cada campo) y los dos lugares a donde puedes enrutar el envío: tu propio callback_url, o directo a un workflow api_trigger vía callback_workflow.

Constrúyelo paso a paso

  1. Agrega un botón Reportar incidente

    Adjunta modal_body a un botón interactivo. En Slack el modal se renderiza de forma nativa; en Microsoft Teams, Discord y Google Chat, Dailybot recolecta los mismos campos de forma conversacional en su lugar.

  2. Diseña los campos del modal

    modal_body es { title, submit_label?, blocks[] } — de 1 a 10 bloques de tipo text, input o divider, con un tamaño serializado menor a 8 KiB. Cada bloque input necesita un name que coincida con ^[a-z][a-z0-9_]{0,62}$ y sea único dentro del modal, más un label; márcalo required para exigir que se complete.

  3. Enruta las respuestas

    Los valores enviados llegan como modal_fields.<name> en el callback que lleve el botón — callback_url para tu propio servidor de gestión de incidentes, o callback_workflow para entregar el incidente directamente a un workflow api_trigger. Solo uno de los dos, igual que en cualquier otro botón.

  4. Confirma la recepción

    Agrega una auto-respuesta response para que quien reporta vea la confirmación de inmediato — "Incidente registrado, on-call notificado" — sin esperar a que el sistema que recibe el callback responda.

Cómo fluye

Un diagrama estático — nada aquí es interactivo o en vivo.

dailybotAPP

¿Algo se rompió? Repórtalo aquí.

Reportar incidente

Ilustrativo — respuestas reenviadas

{
  "button_id": "[button-id]",
  "modal_fields": {
    "severity": "sev2",
    "service": "checkout-api",
    "summary": "Elevated 500s on checkout"
  }
}

Solo ilustrativo — se reenvía a callback_url o callback_workflow según cómo esté configurado el botón. Consulta la referencia de la API send-message para el contrato completo.

Recetas para copiar y pegar

curl -sS -X POST 'https://api.dailybot.com/v1/send-message/' \
  -H 'X-API-KEY: $DAILYBOT_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"message":"¿Algo se rompió? Repórtalo aquí.","target_channels":["C0123456789"],"buttons":[{"label":"Reportar incidente","button_type":"interactive","value":"report_incident","callback_url":"https://ops.example.com/hooks/incident","callback_auth":{"type":"bearer","token":"$INCIDENT_CALLBACK_TOKEN"},"modal_body":{"title":"Reportar un incidente","submit_label":"Enviar","blocks":[{"type":"input","name":"severity","label":"Severidad (sev1-sev4)","required":true},{"type":"input","name":"service","label":"Servicio afectado","required":true},{"type":"input","name":"summary","label":"Resumen","multiline":true,"required":true}]},"response":{"message":"Incidente registrado, on-call notificado."}}]}'

¿Listo para transformar cómo trabaja tu equipo?

Únete a miles de equipos que usan Dailybot para ahorrar tiempo, impulsar el engagement y tomar mejores decisiones.