Gráficos, tablas y aprobaciones de Slack en OpenClaw
Bloques nativos de visualización de datos y sus límites, la regla de dos gráficos por mensaje, tablas de datos nativas con celdas tipadas, el texto de respaldo que nunca pierde filas, envíos de ventanas modales propiedad de plugins y aprobaciones de ejecución y de plugins nativas de Slack
Un gráfico en un mensaje de Slack solía significar renderizar una imagen en algún sitio y subirla. Slack tiene ahora bloques nativos de Block Kit para gráficos y tablas, y OpenClaw convierte directamente en ellos sus bloques de presentación portables, con una versión en texto que los acompaña para todo lo que no puede dibujar un bloque. Estos son los dos bloques nativos con sus límites y respaldos, la vía de las ventanas modales para los plugins y los botones de aprobación que permiten a Slack actuar como cliente de aprobación.
Gráficos nativos
- El bloque público de visualización de datos de Slack renderiza gráficos de líneas, de barras, de áreas y circulares en los mensajes, y OpenClaw convierte el bloque de gráfico portable, con un tipo de gráfico, un título, categorías, series con nombre y una etiqueta de eje opcional, en esa forma nativa sin scope de OAuth adicional, subida de archivos, renderizador de imágenes ni configuración de Slack más allá del acceso normal a los mensajes.
- Los límites de Slack se aplican antes del renderizado nativo: títulos y etiquetas de eje de 50 caracteres como máximo, de uno a doce segmentos positivos para un gráfico circular, de una a doce series con nombres únicos y de una a veinte categorías compartidas para líneas, barras y áreas, etiquetas de 20 caracteres como máximo, y un valor finito por categoría en cada serie, con valores negativos permitidos fuera de los gráficos circulares.
- Cada gráfico nativo lleva una representación en texto de nivel superior para lectores de pantalla, notificaciones, duplicación de sesiones y clientes que no pueden renderizar el bloque; los demás canales reciben esos mismos datos deterministas del gráfico como texto, salvo que anuncien compatibilidad nativa con gráficos, y cuando Slack rechaza un gráfico con un error de bloques no válidos, OpenClaw elimina los bloques de datos rechazados, conserva los controles adyacentes y envía el gráfico completo como texto visible.
- Slack acepta como máximo dos bloques de visualización de datos por mensaje, un límite que su referencia pública no documenta, así que una presentación con más gráficos válidos conserva su orden y continúa el renderizado nativo en mensajes de seguimiento, con no más de dos por mensaje; el anuncio para desarrolladores documenta el bloque como una función para aplicaciones sin restricción de plan de pago, la mención a Business Plus y Enterprise se refiere a la generación de gráficos con IA del propio Slackbot, y los gráficos son bloques exclusivos de los mensajes, no contenido de App Home, de ventanas modales ni de Canvas.
Solo los bloques de tabla explícitos de la presentación se convierten en tablas nativas.
Tablas nativas
El bloque de tabla de datos actual de Slack renderiza filas y columnas en los mensajes, y OpenClaw convierte en él un bloque de tabla portable explícito, con leyenda, encabezados, filas y un índice opcional de columna de encabezado de fila, en lugar de convertirlo en el bloque de tabla heredado, de nuevo sin scope adicional. Las celdas de encabezado y de cadena pasan a ser celdas de texto sin formato, las celdas numéricas pasan a ser celdas de número sin formato que conservan el valor finito para la ordenación y el filtrado nativos, y el índice de encabezado de fila marca esa columna, contada desde cero, como encabezados de fila de Slack. Primero se aplican los límites publicados: de una a veinte columnas, de una a cien filas de datos más la fila de encabezado, el mismo número de celdas en cada fila y, como máximo, diez mil caracteres en total entre todas las celdas de un mensaje. Varias tablas válidas pueden renderizarse de forma nativa mientras el mensaje se mantenga dentro de esos límites; una tabla que no puede hacerlo se convierte en texto determinista completo en lugar de perder filas o celdas, el texto que supera un mensaje sale en fragmentos ordenados para los envíos y las respuestas a comandos slash, y la edición de una tabla falla con un error de tamaño explícito en lugar de truncar filas en silencio en un mensaje existente. Cada tabla nativa lleva también su representación en texto, los valores sin procesar de gráficos y tablas se mantienen literales en el respaldo para que una mención de usuario en una celda no se convierta en una mención real, y cuando Slack rechaza bloques nativos de gráfico o de tabla, OpenClaw elimina todos los bloques de datos nativos en un único paso de recuperación acotado, conserva los elementos adyacentes válidos, como botones y selectores, y envía el texto completo con el formato de Slack desactivado; la entrega de comandos slash respeta el presupuesto de cinco llamadas de respuesta de Slack y, antes de cada lote, elige un plan completo que quepa en las llamadas restantes. Solo se convierten los bloques de tabla explícitos de la presentación: las tablas Markdown con barras verticales siguen siendo el texto que escribió su autor porque OpenClaw no adivina la estructura ni los tipos de celda, los productores nativos de Slack de confianza pueden seguir pasando bloques sin procesar por los datos del canal con un texto de respaldo derivado de las celdas sin procesar válidas, y el contenido de hojas de cálculo pegado que llega como bloque de tabla heredado se renderiza como TSV seguro frente a delimitadores para la entrada del agente, el contexto del hilo y las acciones de lectura, y solo se admiten bloques de tabla nativos desde adjuntos ordinarios.
Ventanas modales y aprobaciones
- Los plugins de Slack con un controlador interactivo pueden recibir los eventos de envío y de cierre de ventanas modales antes de que OpenClaw compacte la carga útil, ya sea estableciendo el ID de callback en un espacio de nombres y una carga con el prefijo openclaw o colocando datos interactivos del plugin en los metadatos privados de la ventana modal; el controlador recibe el tipo de interacción, las entradas normalizadas y los valores de estado sin procesar, el enrutamiento por ID de callback basta por sí solo para invocarlo, los campos de enrutamiento de usuario y de sesión de los metadatos privados hacen que la ventana modal produzca además un evento visible para el agente, y el agente recibe un evento de interacción compacto y con datos ocultos que puede llevar un resumen, una referencia y datos del controlador sin la carga completa del formulario.
- Slack puede actuar como cliente de aprobación nativo con botones interactivos en lugar de recurrir a la interfaz web o a la terminal: las aprobaciones de ejecución y de plugins se renderizan como solicitudes de Block Kit, los mensajes directos de aprobación de ejecución van a los aprobadores configurados o a los propietarios de los comandos, las aprobaciones de plugins usan botones nativos de Slack cuando Slack es el cliente nativo de la sesión de origen o cuando las aprobaciones de plugins se enrutan a una sesión o un destino de Slack, con aprobadores tomados de la lista de permitidos del canal, de la de una cuenta con nombre o de la ruta predeterminada de la cuenta, y los aprobadores que solo lo son de ejecución no pueden aprobar solicitudes de plugins a menos que también sean aprobadores de plugins.
- La ruta de configuración es el bloque de aprobaciones de ejecución, con enabled, aprobadores opcionales que recurren a los propietarios de los comandos, un destino dm, channel o both con dm por defecto, y filtros de agente y de sesión; las aprobaciones de ejecución nativas necesitan enabled en true o auto y al menos un aprobador resuelto, dejarlo sin definir o en false desactiva la entrega nativa de ejecución sin desactivar las aprobaciones nativas de plugins, el reenvío compartido de ejecución y de plugins sigue separado y solo se suprime cuando Slack gestiona la solicitud de forma nativa, el comando de aprobación en el mismo chat sigue funcionando allí donde funcionan los comandos, y en Enterprise Grid se conserva el espacio de trabajo validado del evento de origen para la solicitud, el mensaje directo, el callback del botón y la actualización final, y se deniega la operación cuando la cuenta instalada en la organización no tiene ese scope.
OpenClaw en Slack es el artículo del canal que estas superficies amplían, y el comportamiento de los mensajes de Slack en OpenClaw, el modelo de tarjetas y vistas previas en el que se integran.
Por qué el texto siempre va incluido
Un gráfico que solo existe como bloque desaparece de las notificaciones, de los lectores de pantalla y de todos los demás canales a los que se duplica la sesión; por eso la versión en texto determinista no es opcional y por eso un bloque rechazado se degrada a ese texto en lugar de a nada. Las aprobaciones de ejecución en OpenClaw cubre el modelo de aprobación que activan estos botones, y mensajes enriquecidos y aprobaciones de Telegram en OpenClaw, las superficies enriquecidas equivalentes en Telegram.
En Diali
Slack es uno de los canales que Diali conecta desde el panel, con la configuración del motor generada y sustituida en cada versión, así que los gráficos, las tablas y las solicitudes de aprobación de un agente alojado se comportan como se describe aquí sin ajustes que editar a mano. Slack en Diali es el canal en Diali, y la seguridad en Diali, el perímetro que se aplica a cada acción que puede realizar un bot.
- Dos gráficos por mensaje; los adicionales pasan a mensajes de seguimiento.
- Una tabla que excede los límites se convierte en texto completo, nunca en menos filas.
- Los botones de aprobación son la experiencia principal; el comando de aprobación es el respaldo.
Deja de leer sobre ello y crea el tuyo
Configura un agente, elige un canal y ponlo a trabajar dentro de la aplicación que ya tienes abierta.
