Slack
Panoramica
L’integrazione Slack consente a un agente ElevenLabs di inviare e ricevere messaggi in Slack. Una volta connesso, l’agente risponde in un thread quando viene menzionato in un canale e mantiene un contesto di conversazione separato per ogni thread.
Funzionalità
Configurazione
L’integrazione offre due modalità di connessione:
- OAuth — installa l’app Slack condivisa di ElevenLabs nel tuo workspace. Un singolo workspace Slack corrisponde a una singola connessione ElevenLabs. È la configurazione più rapida e non richiede la gestione di un’app Slack.
- Usa la tua app — connettiti usando un’app Slack che hai creato e possiedi. Usala se vuoi che il bot appaia con il tuo brand o se le policy del tuo workspace richiedono che le app vengano installate da un amministratore.
Opzione A — OAuth
L’utente che installa l’app deve avere l’autorizzazione per aggiungere app al workspace Slack di destinazione.
Apri la pagina delle integrazioni
Nella dashboard di ElevenLabs, vai a Agenti > Integrazioni e seleziona Slack.
Opzione B — Usa la tua app Slack
Usa questa opzione se vuoi che il bot venga visualizzato con il nome e l’icona della tua app oppure se il tuo workspace richiede che le app vengano esaminate e installate dall’amministratore.
Crea un'app Slack
Vai a Slack API: Your Apps e fai clic su Create New App > From scratch. Assegna un nome all’app e scegli il workspace Slack in cui installarla.
Aggiungi gli scope del bot
Apri OAuth & Permissions e aggiungi i seguenti Bot Token Scopes:
app_mentions:read, channels:history, channels:join, channels:manage, chat:write, files:read, groups:history, groups:write, im:history, reactions:write.
Poi fai clic su Install to Workspace e approva. Copia il Bot User OAuth Token (inizia con xoxb-).
Crea la connessione in ElevenLabs
Nella dashboard di ElevenLabs, vai a Integrazioni, fai clic sul pulsante Aggiungi integrazione e scegli Slack. Seleziona la credenziale Usa la tua app. Incolla il token del bot e il signing secret, quindi salva. ElevenLabs verifica il token con Slack e registra l’ID del tuo workspace.
Dopo la creazione della connessione, la relativa pagina mostra due URL webhook derivati dall’identità della tua app Slack. La stessa app Slack, riconnessa dallo stesso workspace ElevenLabs, genera sempre gli stessi URL — quindi puoi eliminare e ricreare la connessione senza dover aggiornare di nuovo la configurazione della tua app Slack. Tieni aperta quella pagina per i passaggi successivi.
Configura Event Subscriptions
Nella tua app Slack, apri Event Subscriptions, abilita gli eventi e incolla l’Events URL della pagina di connessione ElevenLabs in Request URL. Slack verificherà l’URL usando il signing secret che hai fornito.
Iscriviti agli eventi del bot in base al comportamento che vuoi che l’agente abbia nei canali:
- Solo menzioni — iscriviti a
app_mention. L’agente risponde solo quando un utente menziona il bot con@. - Tutti i messaggi — iscriviti a
message.channelsemessage.groups. L’agente risponde a ogni messaggio nei canali in cui si trova il bot, senza richiedere una menzione.
Se usi il trigger SlackDirectMessage, iscriviti anche a message.im.
Non iscriverti sia a app_mention sia agli eventi di canale message.*, a meno che tu non intenda gestire consegne duplicate. Quando un utente menziona il bot con @, Slack può inviare sia un evento app_mention sia un evento message per lo stesso messaggio, causando due risposte dell’agente.
Un workspace Slack può essere connesso una sola volta tramite l’app OAuth condivisa di ElevenLabs. Reinstallando
da un workspace ElevenLabs diverso viene restituito un errore duplicate Slack workspace — rimuovi prima la
connessione esistente. Le connessioni che usano la tua app sono indipendenti e non generano conflitti.
Scope OAuth
L’app Slack di ElevenLabs richiede i seguenti scope:
Strumenti dell’agente
Quando aggiungi strumenti Slack a un agente, sono disponibili i seguenti strumenti integrati:
Rimozione della connessione
Rimuovendo la connessione dalla pagina Integrazioni, l’app Slack di ElevenLabs viene disinstallata dal workspace Slack. Dopo la rimozione, il bot non è più presente in alcun canale.
Per le connessioni che usano la tua app, ElevenLabs non può disinstallare un’app che non possiede — rimuovendo la connessione viene eliminata solo la mappatura locale. Per rimuovere completamente il bot dal tuo workspace Slack, disinstalla l’app dalle impostazioni di amministrazione Slack.
Configura il trigger
L’integrazione espone un solo trigger, SlackMessage. Si attiva quando il bot rileva un nuovo messaggio utente in un canale configurato.
Aggiungi un trigger SlackMessage
Nella pagina di configurazione dell’agente, aggiungi un nuovo trigger e seleziona SlackMessage.
Slack non consente alle app di unirsi automaticamente ai canali privati. Per un canale privato, esegui /invite @Eleven in quel canale dopo aver salvato il trigger, affinché il bot possa vedere i messaggi.
È consentito un solo trigger per ogni coppia (Slack workspace, channel). Modifica il trigger esistente
invece di crearne uno duplicato.
Configura il trigger DM
Il trigger SlackDirectMessage consente a qualsiasi utente Slack di conversare con l’agente inviando un messaggio diretto al bot. A differenza del trigger del canale, non è necessaria alcuna menzione con @ — viene elaborato ogni messaggio che un utente invia in un DM con il bot.
Per le app BYO, assicurati di esserti iscritto all’evento bot message.im e di aver aggiunto lo
scope bot im:history. Reinstalla l’app se richiesto dopo averli aggiunti.
È consentito un solo trigger DM per connessione Slack. Per cambiare l’agente, modifica il trigger esistente.
Parlare con il bot in Slack
Una volta attivato il trigger e quando il bot è nel canale, avvia una conversazione in un thread del canale. Il modo in cui prosegui il thread dipende dalle iscrizioni agli eventi della tua app Slack (OAuth usa il comportamento solo menzioni).
Solo menzioni (app_mention)
Tutti i messaggi (message.channels, message.groups)
Mentre genera una risposta, il bot aggiunge una reazione :eyes: al messaggio dell’utente che ha attivato l’azione e la rimuove una volta pubblicata la risposta.
L’impostazione Rispondi ai messaggi da nel trigger Messaggio canale controlla chi può attivare l’agente:
- Solo persone (predefinito): i messaggi di altri bot e dei workflow Slack vengono ignorati. Questa è l’impostazione predefinita sicura e preserva il comportamento dei trigger esistenti.
- Persone e bot: anche i messaggi di altri bot e quelli pubblicati dai workflow (inclusi gli eventi legacy
bot_message) attivano l’agente.
Il bot ignora sempre i propri messaggi — usando l’identità di utente bot e app nel webhook firmato di Slack — con entrambe le impostazioni, quindi non risponde mai a sé stesso, neanche quando viene menzionato. Continua inoltre a ignorare i messaggi modificati (message_changed) e quelli eliminati (message_deleted). Gestisce gli eventi message e app_mention e funziona sia nei canali pubblici sia in quelli privati.
Gli eventi bot legacy che contengono solo un bot_id identificano il mittente ma non l’app ricevente. Vengono
trattati come messaggi di un altro bot; il rilevamento dei loop del bot stesso per questa app Slack usa l’identità
di utente bot o app inclusa nei payload degli eventi Slack moderni.
Se la tua app Slack è iscritta sia a app_mention sia a message.channels / message.groups, una
singola menzione con @ può attivare due risposte dell’agente. Iscriviti a una modalità o all’altra.
Modello di conversazione
L’ID della conversazione è deterministico per (agent_id, channel_id, thread_ts):
- Un nuovo thread Slack corrisponde a una nuova conversazione ElevenLabs.
- Proseguire nello stesso thread continua la stessa conversazione, inclusi la cronologia della trascrizione e le variabili dinamiche.
Durante la creazione della cronologia della chat, il bot legge direttamente il thread Slack. I messaggi dei membri Slack e di altri bot vengono trattati come turni utente, mentre i messaggi del bot stesso vengono trattati come turni dell’agente. Le menzioni dell’utente bot (<@BOT_USER_ID>) vengono riscritte in @<agent_name> prima che l’agente le elabori.
Variabili dinamiche
Quando un agente viene eseguito da Slack, nei prompt e negli strumenti sono disponibili le seguenti variabili dinamiche:
Consulta variabili dinamiche per sapere come farvi riferimento nei prompt e nelle chiamate degli strumenti.
Risoluzione dei problemi
Gli allegati file non funzionano
Quando un utente allega un’immagine o un PDF in Slack ma l’agente non lo elabora (o si comporta come se non fosse stato inviato alcun file), esegui i controlli riportati di seguito.
Verifica che l'app Slack disponga di files:read
Il bot necessita dello scope bot files:read per scaricare gli allegati da Slack.
- Usa la tua app — apri la tua app in Slack API: Your Apps, vai a OAuth & Permissions e verifica che
files:readsia elencato in Bot Token Scopes. Se lo hai aggiunto di recente, reinstalla l’app nel tuo workspace affinché il token acquisisca il nuovo scope.
Verifica che il modello dell'agente supporti l'input di file
Gli allegati file vengono inoltrati solo quando l’LLM dell’agente supporta l’input multimodale — input di immagini e/o documenti (PDF), a seconda del tipo di file. Nella configurazione dell’agente, apri la scheda Agente e controlla il modello selezionato. Se il modello non supporta il tipo di allegato, passa a un modello che lo supporta.
Abilita Consenti allegati file nelle impostazioni dell'agente
Nella pagina di configurazione dell’agente, apri Impostazioni > Avanzate. In Input multimodale, attiva Consenti allegati file. Salva l’agente. Senza questa impostazione, gli allegati Slack vengono ignorati anche quando l’app Slack e il modello supportano i file.