> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# 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à

| Funzionalità                        | Supporto                                                                                                                                                                                                   |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Modalità a conservazione zero (ZRM) | Non supportata                                                                                                                                                                                             |
| Allegati nei trigger                | Immagini (PNG, JPEG, GIF, WebP) e file PDF nei messaggi in arrivo, quando **Consenti allegati file** è abilitato nelle impostazioni dell'agente e l'LLM dell'agente supporta input di immagini o documenti |
| Allegati negli strumenti            | Non supportati — gli strumenti operano solo sul testo                                                                                                                                                      |

## 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**.

#### Fai clic su Connetti

Scegli la credenziale **OAuth** e fai clic su **Connetti**. Verrai reindirizzato a Slack per scegliere in quale workspace installare l'app ElevenLabs e approvare gli scope richiesti.

#### Completa il reindirizzamento

Dopo l'approvazione, Slack ti reindirizza a ElevenLabs e viene creata la connessione. L'ID del workspace Slack viene registrato automaticamente e utilizzato durante la configurazione dei trigger.

### 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](https://api.slack.com/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-`).

#### Copia il signing secret

Apri **Basic Information** > **App Credentials** e copia il **Signing Secret**.

#### 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.channels` e `message.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.

#### Configura Interactivity

Apri **Interactivity & Shortcuts**, abilita l'interattività e incolla l'**Interactivity URL** della pagina di connessione ElevenLabs in **Request URL**.

#### Reinstalla se richiesto

Se Slack ti chiede di reinstallare l'app dopo aver modificato scope o eventi, fallo per applicare le modifiche.

> **Note**
>
> 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:

| Scope               | Scopo                                                                                                              |
| ------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `app_mentions:read` | Ricevere messaggi in cui il bot viene menzionato con `@`.                                                          |
| `channels:history`  | Leggere i messaggi nei canali pubblici in cui si trova il bot.                                                     |
| `channels:join`     | Consentire al bot di unirsi automaticamente ai canali pubblici quando viene creato un trigger.                     |
| `channels:manage`   | Eseguire azioni di gestione dei canali.                                                                            |
| `chat:write`        | Pubblicare messaggi nei canali e nei thread.                                                                       |
| `files:read`        | Scaricare i file allegati ai messaggi affinché l'agente possa leggere immagini e PDF.                              |
| `groups:history`    | Leggere i messaggi nei canali privati in cui si trova il bot.                                                      |
| `groups:write`      | Operare nei canali privati.                                                                                        |
| `im:history`        | Leggere i messaggi nei canali di messaggi diretti con il bot.                                                      |
| `reactions:write`   | Aggiungere e rimuovere reazioni, usate come indicatore di elaborazione nei messaggi e negli strumenti dell'agente. |

## Strumenti dell'agente

Quando aggiungi strumenti Slack a un agente, sono disponibili i seguenti strumenti integrati:

| Strumento               | Descrizione                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `slack_add_reaction`    | Aggiunge una reazione emoji. Per impostazione predefinita, il canale e il `ts` del messaggio vengono compilati da `integration__slack_channel_id` e `integration__slack_trigger_message_ts`; il modello sceglie solo lo shortcode dell'emoji (senza due punti), ad esempio `thumbsup`. Al di fuori delle conversazioni attivate da Slack queste variabili non sono presenti, a meno che tu non le imposti—modifica lo schema dello strumento se il modello deve passare esplicitamente canale e `ts`. |
| `slack_remove_reaction` | Rimuove una reazione emoji (stesse impostazioni predefinite dell'aggiunta). Secondo Slack, il bot chiamante può rimuovere solo le reazioni che ha aggiunto originariamente; vedi [reactions.remove](https://docs.slack.dev/reference/methods/reactions.remove).                                                                                                                                                                                                                                       |

## 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**.

#### Scegli l'agente e il canale

Configura i campi del trigger:

* **Agente**: l'agente che gestisce la conversazione.
* **ID canale**: l'ID del canale Slack, ad esempio `C0123456789`. L'interfaccia fornisce un deep link per aprire il canale in Slack.

#### Salva il trigger

Salva il trigger. ElevenLabs invita automaticamente il bot nei canali pubblici. Se in seguito rimuovi il trigger, il bot abbandona quel canale.

> **Info**
>
> 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.

> **Warning**
>
> È 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.

#### Aggiungi un trigger SlackDirectMessage

Nella pagina di configurazione dell'agente, aggiungi un nuovo trigger e seleziona **SlackDirectMessage**.

#### Scegli l'agente

Seleziona l'**Agente** che gestisce le conversazioni DM.

#### Salva il trigger

Salva il trigger. Ora qualsiasi utente Slack nel workspace può aprire un DM con il bot e avviare una
conversazione.

> **Info**
>
> 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.

> **Warning**
>
> È 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`)

#### Avvia un thread con una menzione

Menziona il bot in un canale per avviare un nuovo thread, ad esempio `@Eleven qual è lo stato dell'ordine
    1234?`. Il bot risponde in un thread sotto quel messaggio.

#### Prosegui il thread

Menziona di nuovo il bot in ogni messaggio a cui vuoi che risponda, inclusi i messaggi successivi
nello stesso thread. I messaggi senza menzione vengono ignorati.

### Tutti i messaggi (`message.channels`, `message.groups`)

#### Avvia un thread

Invia un messaggio qualsiasi in un canale in cui è presente il bot. Il bot risponde in un thread sotto quel
messaggio. Non devi menzionare il bot con `@`.

#### Prosegui il thread

Rispondi nello stesso thread senza menzionare il bot. Viene elaborato ogni nuovo messaggio nel thread.

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.

> **Note**
>
> 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.

> **Warning**
>
> 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:

| Variabile                               | Descrizione                                                                                              |
| --------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `integration__slack_channel_id`         | ID del canale Slack.                                                                                     |
| `integration__slack_thread_ts`          | Timestamp del thread Slack.                                                                              |
| `integration__slack_user_id`            | ID del mittente Slack. È un ID utente o un ID bot per gli eventi bot legacy senza utente.                |
| `integration__slack_team_id`            | ID del workspace (team) Slack.                                                                           |
| `integration__slack_connection_id`      | ID della connessione di integrazione ElevenLabs.                                                         |
| `integration__slack_trigger_message_ts` | `ts` Slack del messaggio che ha attivato questo turno dell'agente (ID univoco del messaggio nel canale). |

Consulta [variabili dinamiche](/docs/it/eleven-agents/customization/personalization/dynamic-variables) 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](https://api.slack.com/apps), vai a **OAuth & Permissions** e verifica che `files:read` sia 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.

## Link utili

* [Documentazione dell'API Slack](https://api.slack.com/docs)
* [Autorizzazioni dell'app Slack](https://api.slack.com/scopes)