Grafici, tabelle e approvazioni Slack in OpenClaw
Blocchi nativi di visualizzazione dei dati e i loro limiti, la regola dei due grafici per messaggio, tabelle di dati native con celle tipizzate, il fallback testuale che non perde mai righe, gli invii di finestre modali gestiti dai plugin e le approvazioni exec e dei plugin native di Slack
Un grafico in un messaggio Slack significava finora renderizzare un’immagine da qualche parte e caricarla. Ora Slack ha blocchi Block Kit nativi per grafici e tabelle, e OpenClaw vi mappa direttamente i suoi blocchi di presentazione portabili, con una versione testuale che li accompagna per tutto ciò che non sa disegnare un blocco. Ecco i due blocchi nativi con i loro limiti e fallback, il percorso delle finestre modali per i plugin e i pulsanti di approvazione che permettono a Slack di fare da client di approvazione.
Grafici nativi
- Il blocco pubblico di visualizzazione dei dati di Slack rende grafici a linee, a barre, ad area e a torta nei messaggi, e OpenClaw mappa il blocco grafico portabile, con un tipo di grafico, un titolo, categorie, serie con nome e un’etichetta dell’asse facoltativa, su quella forma nativa senza scope OAuth aggiuntivi, caricamenti di file, renderer di immagini né configurazione di Slack oltre al normale accesso ai messaggi.
- I limiti di Slack vengono applicati prima del rendering nativo: titoli ed etichette degli assi a 50 caratteri, da uno a dodici segmenti positivi per una torta, da una a dodici serie con nomi univoci e da una a venti categorie condivise per linee, barre e aree, etichette a 20 caratteri e un valore finito per categoria in ogni serie, con valori negativi ammessi fuori dalle torte.
- Ogni grafico nativo porta una rappresentazione testuale di primo livello per lettori di schermo, notifiche, mirroring della sessione e client che non sanno rendere il blocco; gli altri canali ricevono quegli stessi dati deterministici del grafico come testo, a meno che non dichiarino il supporto nativo ai grafici, e quando Slack rifiuta un grafico con un errore di blocchi non validi OpenClaw rimuove i blocchi di dati rifiutati, mantiene i controlli adiacenti e invia il grafico completo come testo visibile.
- Slack accetta al massimo due blocchi di visualizzazione dei dati per messaggio, un limite che la sua documentazione pubblica non riporta, quindi una presentazione con più grafici validi ne mantiene l’ordine e prosegue il rendering nativo in messaggi successivi, con non più di due per messaggio; l’annuncio per gli sviluppatori descrive il blocco come una funzione rivolta alle app, senza restrizioni legate ai piani a pagamento, la formulazione su Business Plus ed Enterprise riguarda la generazione di grafici con IA di Slackbot stesso, e i grafici sono blocchi riservati ai messaggi, non contenuti di App Home, finestre modali o Canvas.
Solo i blocchi tabella espliciti della presentazione vengono promossi a tabelle native.
Tabelle native
Il blocco tabella di dati attuale di Slack rende righe e colonne nei messaggi, e OpenClaw vi mappa un blocco tabella portabile esplicito, con una didascalia, intestazioni, righe e un indice facoltativo della colonna di intestazione di riga, invece di mapparlo sul vecchio blocco tabella, anche qui senza scope aggiuntivi. Le celle di intestazione e di stringa diventano celle di testo grezzo, le celle numeriche diventano celle di numero grezzo con il valore finito conservato per l’ordinamento e il filtro nativi, e l’indice di intestazione di riga contrassegna quella colonna, numerata a partire da zero, come intestazioni di riga di Slack. I limiti pubblicati vengono applicati per primi: da una a venti colonne, da una a cento righe di dati più la riga di intestazione, lo stesso numero di celle in ogni riga e al massimo diecimila caratteri complessivi su tutte le celle di un messaggio. Più tabelle valide possono essere rese in modo nativo finché il messaggio resta entro quel perimetro; una tabella che non ci sta diventa invece testo deterministico completo anziché perdere righe o celle, il testo che supera un messaggio parte in porzioni ordinate per gli invii e le risposte slash, e la modifica di una tabella fallisce con un errore di dimensione esplicito anziché troncare in silenzio le righe di un messaggio esistente. Ogni tabella nativa porta anche la sua rappresentazione testuale, i valori grezzi di grafici e tabelle restano letterali nel fallback, così una menzione di un utente in una cella non diventa una menzione reale, e quando Slack rifiuta blocchi nativi di grafici o tabelle OpenClaw rimuove tutti i blocchi di dati nativi in un unico passaggio di ripristino limitato, conserva gli elementi adiacenti validi come pulsanti e menu di selezione e invia il testo completo con la formattazione di Slack disattivata; la consegna dei comandi slash rispetta il budget di cinque chiamate di risposta di Slack e, prima di ogni lotto, sceglie un piano completo che rientri nelle chiamate rimanenti. Solo i blocchi tabella espliciti della presentazione vengono promossi, le tabelle Markdown con barre verticali restano testo scritto perché OpenClaw non tira a indovinare struttura o tipi di cella, i produttori nativi di Slack attendibili possono ancora far passare blocchi grezzi attraverso i dati del canale con un testo di fallback ricavato dalle celle grezze valide, e il contenuto di un foglio di calcolo incollato che arriva come vecchio blocco tabella viene reso come TSV sicuro rispetto ai delimitatori per l’input dell’agente, il contesto del thread e le azioni di lettura, mentre dagli allegati ordinari sono ammessi solo i blocchi tabella nativi.
Finestre modali e approvazioni
- I plugin Slack con un gestore interattivo possono ricevere gli eventi di invio e di chiusura delle finestre modali prima che OpenClaw compatti il payload, impostando l’ID di callback su un namespace e un payload con prefisso openclaw oppure inserendo dati interattivi del plugin nei metadati privati della finestra modale; il gestore riceve il tipo di interazione, gli input normalizzati e i valori di stato grezzi, il solo instradamento tramite ID di callback basta a invocarlo, i campi di instradamento di utente e sessione nei metadati privati fanno sì che la finestra modale produca anche un evento visibile all’agente, e l’agente riceve un evento di interazione compatto e oscurato che può contenere un riepilogo, un riferimento e dati provenienti dal gestore, senza il payload completo del modulo.
- Slack può fare da client di approvazione nativo con pulsanti interattivi invece di ripiegare sull’interfaccia web o sul terminale: le approvazioni exec e dei plugin vengono rese come richieste Block Kit, i messaggi diretti di approvazione exec vanno agli approvatori configurati o ai proprietari dei comandi, le approvazioni dei plugin usano pulsanti nativi di Slack quando Slack è il client nativo della sessione di origine o quando le approvazioni dei plugin vengono instradate verso una sessione o una destinazione Slack, con approvatori presi dall’elenco degli autorizzati del canale, da quello di un account con nome o dalla route predefinita dell’account, e gli approvatori solo exec non possono approvare richieste dei plugin a meno che non siano anche approvatori dei plugin.
- Il percorso di configurazione è il blocco exec-approvals con enabled, approvatori facoltativi che ripiegano sui proprietari dei comandi, una destinazione dm, channel o both con dm come predefinita, e filtri per agente e sessione; le approvazioni exec native richiedono enabled a true o auto più almeno un approvatore risolto, lasciarlo non impostato o a false disattiva la consegna exec nativa senza disattivare le approvazioni native dei plugin, l’inoltro condiviso di exec e plugin resta separato e viene soppresso solo quando Slack gestisce la richiesta in modo nativo, il comando di approvazione nella stessa chat funziona ancora dove funzionano i comandi, e per Enterprise Grid lo spazio di lavoro convalidato dell’evento di origine viene conservato per la richiesta, il messaggio diretto, la callback del pulsante e l’aggiornamento finale, bloccando l’operazione (fail closed) quando l’account installato a livello di organizzazione non ha quello scope.
OpenClaw su Slack è l’articolo sul canale che queste superfici estendono, mentre il comportamento dei messaggi Slack in OpenClaw descrive il modello di schede e anteprime in cui si inseriscono.
Perché il testo c’è sempre
Un grafico che esiste solo come blocco scompare dalle notifiche, dai lettori di schermo e da ogni altro canale su cui la sessione viene replicata; per questo la versione testuale deterministica non è facoltativa e per questo un blocco rifiutato degrada a quel testo anziché al nulla. L’articolo sulle approvazioni exec in OpenClaw tratta il modello di approvazione che questi pulsanti attivano, mentre la guida a messaggi avanzati e approvazioni Telegram in OpenClaw mostra le superfici avanzate equivalenti su Telegram.
Su Diali
Slack è uno dei canali che Diali collega dalla dashboard, con la configurazione del motore generata e sostituita a ogni rilascio, quindi grafici, tabelle e richieste di approvazione di un agente ospitato si comportano come descritto qui, senza impostazioni da modificare a mano. Slack su Diali è la pagina del canale su Diali, mentre la pagina sulla sicurezza di Diali descrive il confine che si applica a ogni azione che un bot può compiere.
- Due grafici per messaggio; i grafici in più passano ai messaggi successivi.
- Una tabella che esce dal perimetro diventa testo completo, mai meno righe.
- I pulsanti di approvazione sono l’esperienza principale; il comando di approvazione è il ripiego.
Basta leggere, creane uno tuo
Configura un agente, scegli un canale e fallo lavorare dentro l’app che tieni già aperta.
