Aller au contenu

Intégration Slack

Une intégration Slack peut être ajoutée à votre installation de Drovio Server. Elle permet aux utilisateurs de démarrer un appel depuis Slack, par commande slash ou depuis le bouton d'appel, ce dernier nécessitant une validation de Slack. Vous devrez créer une application Slack chez Slack.

Créer une application Slack

Rendez-vous sur api.slack.com/apps, puis cliquez sur Create New App.

Créer une application Slack

Saisissez le nom de votre choix, Drovio convient, et sélectionnez un espace de travail de développement où vous pourrez tester l'intégration.

Nommer l'application Slack

La page de l'intégration Slack du panneau d'administration affiche les trois URL à fournir à Slack ci-dessous, construites à partir de l'URL publique de votre serveur.

Commande slash

Dans le volet de navigation de gauche, cliquez sur Slash Commands, puis sur Create New Command :

  • Command : /drovio
  • Request URL : https://url-de-votre-drovio-server/slack/app/command
  • Short Description : Pair remotely with Drovio (the app must be installed)
  • Usage Hint : [help, invite, add]
  • Escape channels, users, and links sent to your app : coché
  • Cliquez sur Save.

OAuth & Permissions

Dans le volet de navigation de gauche, cliquez sur OAuth & Permissions :

  • Redirect URLs : ajoutez https://url-de-votre-drovio-server/slack/app/install.
  • Scopes : ajoutez les portées OAuth suivantes :
    • calls:write
    • commands
    • users:read
    • users:read.email

Event Subscriptions

Dans le volet de navigation de gauche, cliquez sur Event Subscriptions :

  • Enable Events : On
  • Request URL : https://url-de-votre-drovio-server/slack/app/event

    Note

    Slack vérifie l'URL dès qu'elle est saisie. Configurez l'intégration d'abord : l'URL répond une fois l'intégration activée avec son signing secret.

  • Subscribe to bot events : cliquez sur Add Bot User Event :

    • app_uninstalled
    • tokens_revoked
  • Cliquez sur Save Changes.

Socket Mode (facultatif)

Pour éviter d'exposer un point d'accès public, vous pouvez recevoir les événements de Slack par WebSocket. Dans le volet de navigation de gauche, cliquez sur Socket Mode :

  • Enable Socket Mode : On
  • Créez le jeton de niveau application (app-level token) et conservez-le.

La configuration de l'application Slack est terminée. Dans le volet de gauche, cliquez sur Basic Information : les informations qui s'y trouvent vous serviront à configurer l'intégration.

Configurer l'intégration

Dans le panneau d'administration, ouvrez Integrations, puis Configure sur la carte Slack.

Champ D'où il vient
Status Enabled ou Disabled
Client ID Basic Information de l'application Slack
Client secret Basic Information de l'application Slack
Signing secret Basic Information de l'application Slack
Connection Request URLs, ou Socket Mode si vous l'avez activé dans l'application Slack
App-level token Le jeton créé avec le Socket Mode si vous l'avez activé dans l'application Slack, sinon vide
Call failures Prévient les administrateurs par e-mail lorsqu'un appel Slack ne parvient pas à démarrer, à se mettre à jour ou à se terminer

La page affiche aussi la Redirect URL, l'URL de la commande slash et l'URL des événements à saisir dans l'application Slack. Chaque administrateur peut refuser les e-mails d'échec d'appel depuis Notifications, sous A Slack call fails.

L'enregistrement prend effet dès la requête suivante, sans redémarrage.

Passer le statut à Disabled arrête les appels et les commandes venant de Slack, tout en laissant la page accessible pour configurer l'intégration.

Une fois tout configuré, ouvrez Slack et rendez-vous dans votre espace de travail de développement. Saisissez /drovio help pour démarrer.

Référence de configuration

Voici les clés de l'élément slack de settings.conf, si vous préférez l'éditer directement. En cluster, le panneau d'administration ne peut pas les enregistrer : chaque serveur lit son propre fichier de configuration, qu'il faut éditer sur chacun d'eux.

Clé Défaut Signification
enabled false Active l'intégration
client_id Client ID de l'application Slack
client_secret Client secret de l'application Slack
signing_secret Signing secret de l'application Slack
enable_admin_emails false Prévient les administrateurs par e-mail lorsqu'un appel Slack échoue
websocket false Reçoit les événements et les commandes par le Socket Mode
app_socket_token App-level token du Socket Mode s'il est activé, sinon vide
ignore_signature false Accepte les requêtes que Slack n'a pas signées. Réservé au développement, jamais en production

Intégration aux appels Slack

La commande /drovio sans paramètre nécessite une validation de Slack, puisqu'elle touche à leur fonctionnalité d'appel. Vous pourrez également définir Drovio comme application d'appel par défaut dans Slack.