Descrizione
Wrapper enterprise high-level per il modulo integration_slack_post (Slack Web API chat.postMessage) che unifica i tre regimi di messaggistica sotto un'unica interfaccia coerente con il pattern community_* del dataset AI scaffold di FlowForge: invio di messaggi plain text con mrkdwn slack-flavored, invio rich con Block Kit JSON (lo standard Slack 2025 per layout interattivi con header section, divider, buttons, image blocks, fields, accessory elements come datepicker e multi_static_select), e reply in thread esistente via thread_ts per consolidare le conversazioni del flow nello stesso topic invece di spammare il canale. Auth via OAuth2 token bot delegato dal Slack workspace owner — il token viene risolto dal vault integration tramite integrationLabel (multi-token support: un singolo tenant FlowForge può gestire 10+ workspace Slack come MSP), MAI hardcoded nei workflow per security. Supporta target canali pubblici (#general), privati (privatamente joined dal bot), DM diretti tramite user ID U0123456 e canali multi-channel guest. Fallback notification: se il canale ha "Slow mode" attivo o il bot non è membro, il nodo restituisce un errore semantico esplicito invece di silently fail. Anti-flood: respect del Slack rate limit Tier 1-4 (60 RPM, 600 RPM, 1200 RPM, 6000 RPM in base al tipo di workspace Plus/Enterprise), con backoff esponenziale automatico su 429 retry-after. Output: { ok, channel, ts (timestamp Slack del messaggio = thread_id univoco per replies successivi), permalink, threadParent? }. Use case: notifica completamento workflow critico al canale #ops-alerts con block "🟢 Backup OK \n size: 4.2GB \n duration: 12min" e button "View dashboard" → click apre Grafana; daily standup automatico in #daily-standup alle 9:00 con riepilogo dei task chiusi ieri; notifica sales pipeline a #sales-room quando crm.lead Odoo passa a "Won" con valore expectedRevenue; alerting Sentinel WAF ban a #security con dettaglio IP/ASN/country/reason in section block formattato; pre-meeting reminder thread sotto un messaggio Calendly invece di creare noise nel canale.
