> 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

## Présentation

L’intégration Slack permet à un agent ElevenLabs d’envoyer et de recevoir des messages dans Slack. Une fois connecté, l’agent répond dans un fil lorsqu’il est mentionné dans un canal et conserve un contexte de conversation distinct pour chaque fil.

## Fonctionnalités

| Fonctionnalité                       | Prise en charge                                                                                                                                                                                                                   |
| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Mode zéro rétention (ZRM)            | Non pris en charge                                                                                                                                                                                                                |
| Pièces jointes dans les déclencheurs | Images (PNG, JPEG, GIF, WebP) et fichiers PDF dans les messages entrants, lorsque **Autoriser les pièces jointes** est activé dans les paramètres de l’agent et que le LLM de l’agent prend en charge les images ou les documents |
| Pièces jointes dans les outils       | Non prises en charge, les outils fonctionnent uniquement avec du texte                                                                                                                                                            |

## Configuration

L’intégration propose deux méthodes de connexion :

* **OAuth** : installez l’application Slack partagée d’ElevenLabs dans votre Workspace. Un Workspace Slack correspond à une seule connexion ElevenLabs. C’est la configuration la plus rapide et elle ne nécessite pas de gérer une application Slack.
* **Utiliser votre propre application** : connectez-vous avec une application Slack que vous créez et détenez. Utilisez cette option si le bot doit apparaître sous votre marque ou si les règles de votre Workspace exigent que les applications soient installées par un administrateur.

### Option A : OAuth

L’utilisateur qui installe l’application doit être autorisé à ajouter des applications au Workspace Slack cible.

#### Ouvrir la page des intégrations

Dans le Dashboard ElevenLabs, accédez à **Agents** > **Intégrations**, puis sélectionnez **Slack**.

#### Cliquer sur Connecter

Choisissez les identifiants **OAuth**, puis cliquez sur **Connecter**. Vous êtes redirigé vers Slack pour choisir le Workspace dans lequel installer l’application ElevenLabs et approuver les autorisations demandées.

#### Terminer la redirection

Après approbation, Slack vous redirige vers ElevenLabs et la connexion est créée. L’ID du Workspace Slack est enregistré automatiquement et utilisé lors de la configuration des déclencheurs.

### Option B : utiliser votre propre application Slack

Utilisez cette option si vous souhaitez que le bot apparaisse sous le nom et l’icône de votre propre application, ou si votre Workspace exige que les applications soient examinées et installées par votre administrateur.

#### Créer une application Slack

Accédez à [Slack API: Your Apps](https://api.slack.com/apps), puis cliquez sur **Create New App** > **From scratch**. Nommez l’application et choisissez le Workspace Slack dans lequel l’installer.

#### Ajouter les autorisations du bot

Ouvrez **OAuth & Permissions** et ajoutez les Bot Token Scopes suivants :

`app_mentions:read`, `channels:history`, `channels:join`, `channels:manage`, `chat:write`, `files:read`, `groups:history`, `groups:write`, `im:history`, `reactions:write`.

Cliquez ensuite sur **Install to Workspace** et approuvez. Copiez le **Bot User OAuth Token** (il commence par `xoxb-`).

#### Copier le secret de signature

Ouvrez **Basic Information** > **App Credentials** et copiez le **Signing Secret**.

#### Créer la connexion dans ElevenLabs

Dans le Dashboard ElevenLabs, accédez à **Intégrations**, cliquez sur le bouton **Ajouter une intégration**, puis choisissez **Slack**. Choisissez les identifiants **Utiliser votre propre application**. Collez le jeton du bot et le secret de signature, puis enregistrez. ElevenLabs vérifie le jeton auprès de Slack et enregistre l’ID de votre Workspace.

Une fois la connexion créée, la page de connexion affiche deux URL de webhook dérivées de l’identité de votre application Slack. La même application Slack, reconnectée depuis le même Workspace ElevenLabs, produit toujours les mêmes URL. Vous pouvez donc supprimer et recréer la connexion sans devoir mettre à jour à nouveau la configuration de votre application Slack. Gardez cette page ouverte pour les étapes suivantes.

#### Configurer les abonnements aux événements

Dans votre application Slack, ouvrez **Event Subscriptions**, activez les événements et collez l’**URL des événements** de la page de connexion ElevenLabs dans **Request URL**. Slack vérifiera l’URL à l’aide du secret de signature que vous avez fourni.

Abonnez-vous aux événements de bot selon le comportement souhaité de l’agent dans les canaux :

* **Mentions uniquement** : abonnez-vous à `app_mention`. L’agent répond uniquement lorsqu’un utilisateur mentionne le bot avec `@`.
* **Tous les messages** : abonnez-vous à `message.channels` et `message.groups`. L’agent répond à chaque message dans les canaux où se trouve le bot, sans nécessiter de mention.

Si vous utilisez le déclencheur **SlackDirectMessage**, abonnez-vous également à `message.im`.

Ne vous abonnez pas à la fois à `app_mention` et aux événements de canal `message.*`, sauf si vous prévoyez de gérer les livraisons en double. Lorsqu’un utilisateur mentionne le bot avec `@`, Slack peut envoyer à la fois un événement `app_mention` et un événement `message` pour le même message, ce qui entraîne deux réponses de l’agent.

#### Configurer l’interactivité

Ouvrez **Interactivity & Shortcuts**, activez l’interactivité et collez l’**URL d’interactivité** de la page de connexion ElevenLabs dans **Request URL**.

#### Réinstaller si nécessaire

Si Slack vous invite à réinstaller l’application après avoir modifié les autorisations ou les événements, faites-le pour appliquer les modifications.

> **Note**
>
> Un Workspace Slack ne peut être connecté qu’une seule fois via l’application OAuth partagée d’ElevenLabs. Une réinstallation
> depuis un autre Workspace ElevenLabs renvoie une erreur `duplicate Slack workspace`. Supprimez d’abord la
> connexion existante. Les connexions utilisant votre propre application sont indépendantes et n’entrent pas en conflit.

## Autorisations OAuth

L’application Slack d’ElevenLabs demande les autorisations suivantes :

| Autorisation        | Objectif                                                                                                             |
| ------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `app_mentions:read` | Recevoir les messages où le bot est mentionné avec `@`.                                                              |
| `channels:history`  | Lire les messages des canaux publics où se trouve le bot.                                                            |
| `channels:join`     | Permettre au bot de rejoindre automatiquement les canaux publics lors de la création d’un déclencheur.               |
| `channels:manage`   | Effectuer des actions de gestion des canaux.                                                                         |
| `chat:write`        | Publier des messages dans les canaux et les fils.                                                                    |
| `files:read`        | Télécharger les fichiers joints aux messages afin que l’agent puisse lire les images et les PDF.                     |
| `groups:history`    | Lire les messages des canaux privés où se trouve le bot.                                                             |
| `groups:write`      | Intervenir dans les canaux privés.                                                                                   |
| `im:history`        | Lire les messages des canaux de messages directs avec le bot.                                                        |
| `reactions:write`   | Ajouter et supprimer des réactions, utilisées pour l’indicateur de réflexion sur les messages et les outils d’agent. |

## Outils de l’agent

Lorsque vous ajoutez des outils Slack à un agent, les outils intégrés suivants sont disponibles :

| Outil                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `slack_add_reaction`    | Ajoute une réaction emoji. Par défaut, le canal et le `ts` du message sont renseignés à partir de `integration__slack_channel_id` et `integration__slack_trigger_message_ts` ; le modèle choisit uniquement le shortcode de l’emoji, sans deux-points, par exemple `thumbsup`. En dehors des conversations déclenchées par Slack, ces variables sont absentes, sauf si vous les définissez. Ajustez le schéma de l’outil si le modèle doit transmettre explicitement le canal et le `ts`. |
| `slack_remove_reaction` | Supprime une réaction emoji (mêmes valeurs par défaut que pour l’ajout). Selon Slack, le bot appelant peut uniquement supprimer les réactions qu’il a ajoutées lui-même ; consultez [reactions.remove](https://docs.slack.dev/reference/methods/reactions.remove).                                                                                                                                                                                                                        |

## Supprimer la connexion

La suppression de la connexion depuis la page **Intégrations** désinstalle l’application Slack d’ElevenLabs du Workspace Slack. Après la suppression, le bot n’est plus présent dans aucun canal.

Pour les connexions utilisant votre propre application, ElevenLabs ne peut pas désinstaller une application qui ne lui appartient pas. La suppression de la connexion efface uniquement le mappage local. Pour supprimer entièrement le bot de votre Workspace Slack, désinstallez l’application depuis les paramètres d’administration Slack.

## Configurer le déclencheur

L’intégration expose un seul déclencheur, **SlackMessage**. Il se déclenche lorsque le bot reçoit un nouveau message utilisateur dans un canal configuré.

#### Ajouter un déclencheur SlackMessage

Sur la page de configuration de votre agent, ajoutez un nouveau déclencheur et sélectionnez **SlackMessage**.

#### Choisir l’agent et le canal

Configurez les champs du déclencheur :

* **Agent** : l’agent qui gère la conversation.
* **ID du canal** : l’ID du canal Slack, par exemple `C0123456789`. L’interface fournit un lien direct pour ouvrir le canal dans Slack.

#### Enregistrer le déclencheur

Enregistrez le déclencheur. ElevenLabs invite automatiquement le bot dans les canaux publics. Si vous supprimez ultérieurement le déclencheur, le bot quitte ce canal.

> **Info**
>
> Slack n’autorise pas les applications à rejoindre automatiquement les canaux privés. Pour un canal privé, exécutez `/invite
>   @Eleven` dans ce canal après avoir enregistré le déclencheur afin que le bot puisse voir les messages.

> **Warning**
>
> Un seul déclencheur est autorisé pour chaque paire `(Slack workspace, channel)`. Modifiez le déclencheur existant
> au lieu d’en créer un doublon.

## Configurer le déclencheur de messages directs

Le déclencheur **SlackDirectMessage** permet à tout utilisateur Slack de discuter avec l’agent en envoyant un message direct au bot. Contrairement au déclencheur de canal, aucune mention avec `@` n’est nécessaire : chaque message envoyé par un utilisateur dans un DM avec le bot est traité.

#### Ajouter un déclencheur SlackDirectMessage

Sur la page de configuration de votre agent, ajoutez un nouveau déclencheur et sélectionnez **SlackDirectMessage**.

#### Choisir l’agent

Sélectionnez l’**Agent** qui gère les conversations par DM.

#### Enregistrer le déclencheur

Enregistrez le déclencheur. Tout utilisateur Slack du Workspace peut désormais ouvrir un DM avec le bot et commencer une
conversation.

> **Info**
>
> Pour les applications BYO, assurez-vous d’être abonné à l’événement de bot `message.im` et d’avoir ajouté l’autorisation de bot
> `im:history`. Réinstallez l’application si cela vous est demandé après les avoir ajoutés.

> **Warning**
>
> Un seul déclencheur DM est autorisé par connexion Slack. Pour modifier l’agent, modifiez le déclencheur
> existant.

## Parler au bot dans Slack

Une fois le déclencheur actif et le bot présent dans le canal, démarrez une conversation dans un fil de canal. La manière de poursuivre le fil dépend des abonnements aux événements de votre application Slack (OAuth utilise le comportement de mentions uniquement).

### Mentions uniquement (`app_mention`)

#### Démarrer un fil avec une mention

Mentionnez le bot dans un canal pour démarrer un nouveau fil, par exemple `@Eleven quel est le statut de
    la commande 1234 ?`. Le bot répond dans un fil sous ce message.

#### Poursuivre le fil

Mentionnez à nouveau le bot dans chaque message auquel vous souhaitez qu’il réponde, y compris les suivis dans
le même fil. Les messages sans mention sont ignorés.

### Tous les messages (`message.channels`, `message.groups`)

#### Démarrer un fil

Envoyez n’importe quel message dans un canal où le bot est présent. Le bot répond dans un fil sous ce
message. Vous n’avez pas besoin de mentionner le bot avec `@`.

#### Poursuivre le fil

Répondez dans le même fil sans mentionner le bot. Chaque nouveau message du fil est
traité.

Pendant que le bot génère une réponse, il ajoute une réaction `:eyes:` au message déclencheur de l’utilisateur et la supprime une fois la réponse publiée.

Le paramètre **Répondre aux messages de** du déclencheur de message de canal définit qui peut déclencher l’agent :

* **Humains uniquement** (par défaut) : les messages d’autres bots et des workflows Slack sont ignorés. Ce réglage sûr par défaut préserve le comportement des déclencheurs existants.
* **Humains et bots** : les messages d’autres bots et les messages publiés par des workflows, y compris les anciens événements `bot_message`, déclenchent également l’agent.

Le bot ignore toujours ses propres messages, en utilisant l’identité de l’utilisateur bot et de l’application dans le webhook signé de Slack, quel que soit le réglage. Il ne se répond donc jamais à lui-même, même s’il est lui-même mentionné. Il continue également d’ignorer les messages modifiés (`message_changed`) et supprimés (`message_deleted`). Il gère les événements `message` et `app_mention` et fonctionne dans les canaux publics comme privés.

> **Note**
>
> Les anciens événements de bot qui contiennent uniquement un `bot_id` identifient l’expéditeur, mais pas l’application destinataire. Ils
> sont traités comme des messages provenant d’un autre bot. La détection des boucles automatiques pour cette application Slack utilise l’identité de l’utilisateur bot
> ou de l’application incluse dans les charges utiles des événements Slack modernes.

> **Warning**
>
> Si votre application Slack est abonnée à la fois à `app_mention` et à `message.channels` / `message.groups`, une
> seule mention avec `@` peut déclencher deux réponses de l’agent. Abonnez-vous à un mode ou à l’autre.

## Modèle de conversation

L’ID de conversation est déterministe pour chaque `(agent_id, channel_id, thread_ts)` :

* Un nouveau fil Slack correspond à une nouvelle conversation ElevenLabs.
* La poursuite du même fil poursuit la même conversation, y compris l’historique de la transcription et les variables dynamiques.

Lors de la création de l’historique de discussion, le bot lit directement le fil Slack. Les messages des membres Slack et d’autres bots sont traités comme des tours utilisateur, tandis que les propres messages du bot sont traités comme des tours d’agent. Les mentions de l’utilisateur bot (`<@BOT_USER_ID>`) sont remplacées par `@<agent_name>` avant leur traitement par l’agent.

### Variables dynamiques

Lorsqu’un agent s’exécute depuis Slack, les variables dynamiques suivantes sont disponibles dans les prompts et les outils :

| Variable                                | Description                                                                                                                    |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `integration__slack_channel_id`         | ID du canal Slack.                                                                                                             |
| `integration__slack_thread_ts`          | Horodatage du fil Slack.                                                                                                       |
| `integration__slack_user_id`            | ID de l’expéditeur Slack. Il s’agit d’un ID utilisateur ou d’un ID de bot pour les anciens événements de bot sans utilisateur. |
| `integration__slack_team_id`            | ID du Workspace Slack (équipe).                                                                                                |
| `integration__slack_connection_id`      | ID de connexion de l’intégration ElevenLabs.                                                                                   |
| `integration__slack_trigger_message_ts` | `ts` Slack du message ayant déclenché ce tour d’agent (ID de message unique dans le canal).                                    |

Consultez les [variables dynamiques](/docs/fr/eleven-agents/customization/personalization/dynamic-variables) pour savoir comment les référencer dans les prompts et les appels d’outils.

## Dépannage

### Les pièces jointes ne fonctionnent pas

Lorsqu’un utilisateur joint une image ou un PDF dans Slack, mais que l’agent ne le traite pas, ou se comporte comme si aucun fichier n’avait été envoyé, effectuez les vérifications ci-dessous.

#### Vérifier que l’application Slack dispose de files:read

Le bot a besoin de l’autorisation de bot `files:read` pour télécharger les pièces jointes depuis Slack.

* **Utiliser votre propre application** : ouvrez votre application dans [Slack API: Your Apps](https://api.slack.com/apps), accédez à **OAuth & Permissions** et vérifiez que `files:read` figure dans les **Bot Token Scopes**. Si vous venez de l’ajouter, réinstallez l’application dans votre Workspace afin que le jeton obtienne la nouvelle autorisation.

#### Vérifier que le modèle de l’agent prend en charge les fichiers

Les pièces jointes sont transférées uniquement lorsque le LLM de l’agent prend en charge les entrées multimodales, c’est-à-dire les images et/ou les documents PDF, selon le type de fichier. Dans la configuration de l’agent, ouvrez l’onglet **Agent** et vérifiez le modèle sélectionné. Si le modèle ne prend pas en charge le type de pièce jointe, choisissez-en un qui le prend en charge.

#### Activer Autoriser les pièces jointes dans les paramètres de l’agent

Sur la page de configuration de l’agent, ouvrez **Paramètres** > **Avancé**. Sous **Entrée multimodale**, activez **Autoriser les pièces jointes**. Enregistrez l’agent. Sans ce réglage, les pièces jointes Slack sont ignorées même lorsque l’application Slack et le modèle prennent en charge les fichiers.

## Liens utiles

* [Documentation de l’API Slack](https://api.slack.com/docs)
* [Autorisations des applications Slack](https://api.slack.com/scopes)