1) Créez l'application

Sur Slack, votre chatbot sera matérialisé par une application qu'il va vous falloir créer et configurer.

Ouvrez votre navigateur web et connectez-vous à Slack, via ce lien : https://slack.com/signin. Si tout s'est bien passé vous verrez s'afficher votre espace de travail (workspace).

Entrez l'URL suivant dans votre navigateur : https://api.slack.com/apps. Celle-ci vous amène sur la page "Your Apps" :

Cliquez sur le bouton "Create New App" au centre de la page (celui-ci peut aussi se trouver en haut à droite de cette page si vous avez déjà créé d'autres applications auparavant).

Une nouvelle fenêtre apparaît pour vous demander les informations basiques concernant votre application : son nom et l'espace de travail Slack dans lequel vous voulez qu'elle soit accessible. Saisissez ces informations et cliquez sur "Create App".

Vous êtes alors redirigé sur la page principale de votre nouvelle application Slack ; c'est ici que tout se passe !

Première chose à faire ici, faire défiler la page vers le bas jusqu'à ce que vous arriviez à la section "App Credentials" et plus spécifiquement à l'"App ID" (c'est un peu le numéro de Sécu de votre application, grâce auquel Slack peut identifier cette dernière). Notez-le quelque part (au 21ème siècle vous souhaiterez probablement le copier-coller dans un fichier texte temporaire ;) ), vous en aurez besoin plus tard.

Optionnel : Sur cette page, vous pouvez également ajouter une icône et une description à votre application Slack. Pour cela, faites défiler la page jusqu'à la section "Display Information" et renseignez les champs comme vous le souhaitez. Cliquez sur le bouton "Save Changes" si vous voulez enregistrer ces paramètres optionnels.

2) Donnez des droits à votre Bot

Dans le menu latéral de gauche, cliquez sur "OAuth & Permissions" ; vous arrivez alors sur la page de gestion des permissions dont dispose votre Bot, matérialisées chez Slack par des scopes.

Faites défiler la page jusqu'à la section "Scopes". Nous allons ajouter les cinq scopes dont l'application Slack a besoin pour être pleinement compatible avec Vizir. Cliquez sur le bouton "Add an OAuth Scope". Dans le champ qui s'affiche, tapez alors "chat" afin de faire apparaître des suggestions. Cliquez alors sur la suggestion "chat:write". Ce nouveau scope est alors ajouté à la liste. Faites de même pour ajouter les scope "im:history", "files:read", "users:read", et "users:read:email". Vous devriez alors avoir le résultat suivant :

3) Un bot ne dort jamais

Dans le menu de gauche, cliquez sur "App Home" (premier item de la section "Features"), dans la section "How Your App Displays", activez l'option "Always Show My Bot as Online" car un bot doit être sur le pont 24H/24H, 7J/7J. (Dans cette section vous pouvez également modifier le nom sous lequel apparaîtra votre bot dans votre espace de travail Slack.)

4) Configurez votre application Slack pour communiquer avec votre Bot Vizir

Il faut fournir à Slack les informations qui lui permettront de communiquer à votre Bot Vizir les événements dignes d'intérêt (ex: un message envoyé par un utilisateur).
Pour ce faire, dans le menu de gauche, cliquez sur "Event Subscriptions". Vous arrivez alors sur une page qui vous présente un sélecteur "Enable Events" ; cliquez-dessus pour qu'il passe de "Off" à "On".

S'affiche alors de nouveaux éléments sur la page. Remplissez le champ "Request URL" avec la valeur suivante :

https://developers.vizir.co/slack/messages

Une fois l'adresse renseignée, cliquez sur la page où vous voulez en dehors de ce champ ; Slack va alors lancer une requête de test. Si tout s'est bien passé, vous verrez s'afficher un message de confirmation comme sur l'image qui suit :

Ensuite, plus bas sur la page, cliquez sur "Subscribe to bot events" pour dérouler la section correspondante. Ici, cliquez sur le bouton "Add Bot User Event" et dans le champ qui s'ouvre, partez à la recherche de "message.im" et "app_home_opened". La section devrait finalement ressembler à ça :

Validez ces derniers changements via le bouton "Save Changes" (à droite, en pied de page). 

Enfin, via le menu latéral de gauche, rendez-vous sur la page "Interactive Components". Vous voyez apparaître un simple message de description accompagné (en haut à droite) d'un sélecteur ; cliquez sur ce dernier pour qu'il passe à "On".
Renseignez ensuite le champ "Request URL" que précédemment, à savoir : https://developers.vizir.co/slack/messages

Là encore, cliquez sur le bouton "Save Changes" qui se trouve en pied de page pour enregistrer cette modification.

5) Installez votre application dans votre espace de travail Slack

Une fois configuré, votre Bot est prêt à sévir dans votre espace de travail Slack. Dans le menu latéral de gauche, cliquez sur "Install App", puis, une fois arrivé sur la page correspondante, cliquez sur le bouton "Install App to Workspace".

Apparaît alors une page vous demandant d'autoriser les permissions demandées par votre Bot. Cliquez sur "Allow" (ou "Permettre").

Vous êtes alors renvoyé vers une page vous présentant un champ "Bot User OAuth Access Token". Notez-le, aux côtés de l'App ID précédemment relevé.

6) Configurez votre Bot Vizir pour qu'il communique avec votre application Slack

En 4), vous avez donné les informations nécessaires à Slack pour communiquer avec votre Bot Vizir. Maintenant, nous allons permettre la communication dans l'autre sens : depuis votre Bot Vizir vers votre application Slack. Rendez-vous sur votre Dashboard Vizir et sélectionnez le Bot que vous voulez lier à l'application Slack que vous venez de créer. Via le menu latéral de gauche, rendez-vous sur la page "Partage".

Faites défiler la page vers le bas jusqu'à la section "Slack" où vous trouverez un bouton d'édition ("stylo") sur lequel vous devez cliquer.

Apparaissent alors deux champs à renseigner. C'est à ce moment-là que vous allez avoir besoin du fichier texte temporaire rempli plus tôt (ou votre bout de papier :)). En effet, comme son nom l'indique, le champ "APPID" va recevoir l'App ID de votre application Slack (récupéré en 1) ) ; le champ "APP SECRET" doit quant à lui être rempli avec le Bot User OAuth Access Token, récupéré en 5). Normalement, la section "Slack" de la page devrait donc maintenant ressembler à ça (vos modifications sont automatiquement enregistrées lorsque vous cliquez ailleurs sur l'écran) :

Conseil de sécurité : Comme vous n'en n'aurez plus besoin pour la suite, il est vivement recommandé de vous débarrasser du fichier temporaire (où de déchirer le bout de papier ;)) où vous avez noté l'App ID et le Bot User OAuth Access Token de votre application Slack.

Enfin, cliquez sur "Publier" en haut à droite de la fenêtre pour enregistrer ces changements.

7) Testez le résultat

Vous êtes maintenant prêt à tester que tout fonctionne bien. Pour information, vos collaborateurs qui voudront converser avec ce Bot via Slack devront également suivre le reste de ces instructions.

Rendez vous sur votre espace de travail Slack (celui où vous avez créé votre application Slack liée désormais liée à votre Bot Vizir). Cliquez sur le bouton "+", en regard de la section "Messages directs". Dans le champ de recherche qui s'affiche, commencez à taper le nom de votre Bot et sélectionnez-le dans la liste qui s'affiche.

Cliquez sur "Go" ("Aller"). Votre conversation avec le Bot Vizir démarre alors.

Vous pouvez converser ici avec le Bot de la même manière que vous le faites sur le chat web de Vizir. Comme vous l'avez probablement constaté (et vous pouvez le voir sur l'image précédente), le nom de votre Bot est apparu dans la section "Applications" du volet latéral de Slack. C'est en cliquant sur ce dernier que vous pourrez à tout moment reprendre votre conversation avec le Bot.


🥳 Bonus: Lorsqu'un utilisateur communique avec votre bot Vizir via Slack, vous avez accès aux informations Slack de celui-ci (à la condition bien sûr qu'il ait rempli ces informations sur son profil Slack). Les attributs qui vous intéresseront le plus probablement sont :

  • real_name : le nom complet de l'utilisateur (ex : "John Doe")
  • email : l'email renseigné sur Slack par l'utilisateur (ex : "johnny@doe-ltd.com")
  • image_512 : l'image de l'avatar définie par l'utilisateur sur Slack (au format 512x512 pixels)

Ce qui veut dire que vous pouvez, par exemple, accueillir votre répondant sur Slack avec une resource contenant le message "Bonjour {{real_name}}, comment puis-je vous aider ?" et ainsi offrir un accueil personnalisé.

(Vous avez également accès à d'autres attributs, mais peut être moins utiles : title, phone, skype, status_text, status_emoji, status_expiration, image_24, image_32, image_48, image_72, image_192, team. Vous trouverez plus d'infos à leur sujet dans la documentation de Slack)


Avez-vous trouvé votre réponse?