Introduction
Pour développer et héberger un bot Slack sur Square Cloud, il est essentiel de suivre une séquence structurée de configurations et de prérequis. Ce guide technique couvrira l’ensemble du processus, de la configuration initiale au déploiement en production.Prérequis
- Compte Square Cloud : Inscrivez-vous via la page d’inscription en utilisant votre adresse e-mail.
- Plan actif : Garantit des ressources dédiées et des performances optimisées pour votre application. Consultez nos plans disponibles et choisissez celui qui convient le mieux à vos besoins.
Créer le projet
Pour créer un bot Slack, vous aurez besoin d’un compte et des permissions nécessaires pour créer des apps sur Slack. Créez ou accédez à votre compte sur Slack avant de suivre les étapes suivantes.Application bot sur Slack
- Rendez-vous sur Slack API - Your Apps et cliquez sur « Create New App ».
- Choisissez « From scratch », donnez un nom à l’app et sélectionnez le workspace où vous l’installerez.
- Dans la section « Socket Mode », activez le Socket Mode et générez un app-level token avec le scope
connections:write. Copiez-le (il commence parxapp-) : c’est votreSLACK_APP_TOKEN. - Dans la section « OAuth & Permissions », ajoutez les scopes dont votre bot a besoin (par exemple
chat:write,app_mentions:read,commands), installez l’app sur votre workspace et copiez le Bot User OAuth Token (il commence parxoxb-) : c’est votreSLACK_BOT_TOKEN. - Dans « Event Subscriptions », activez les événements et abonnez-vous à l’événement de bot
app_mention. Dans « Slash Commands », créez la commande/hello. Avec le Socket Mode activé, aucun des deux ne demande de Request URL.
Développer le bot
Utilisez l’onglet du langage que vous choisissez. Les deux exemples répondent aux mentions et à la slash command/hello.
- Node.js - @slack/bolt
- Python - slack_bolt
- Assurez-vous que Node.js est installé.
- Initialisez un projet et installez les dépendances :
- Créez un fichier
index.jsavec le contenu suivant :
Configurer Square Cloud
Créez un fichiersquarecloud.app à la racine de votre projet, à côté de votre fichier principal. Il indique à Square Cloud comment exécuter votre bot :
MAINest le fichier que Square Cloud exécute, etMEMORYla RAM du bot en Mo. Les bots ont besoin d’au moins 256 Mo ; 512 Mo laissent de la marge pour évoluer.AUTORESTART=trueredémarre le bot s’il plante. Consultez le fonctionnement du redémarrage automatique.- Il n’y a pas de
SUBDOMAIN: en Socket Mode, le bot n’a besoin d’aucune URL publique.
Définir les tokens
Votre code lit les deux tokens depuis les variables d’environnementSLACK_BOT_TOKEN et SLACK_APP_TOKEN : ils n’entrent donc jamais dans vos fichiers. Définissez-les de l’une de ces façons :
- Tableau de bord : sur la page d’envoi, ouvrez Configuration avancée et ajoutez les deux variables. Pour un bot déjà déployé, ajoutez-les sur la page Variables d’environnement de l’application et redémarrez le bot.
- CLI : juste après avoir envoyé le bot (voir Déployer et vérifier), définissez-les avec
squarecloud app env setet redémarrez le bot :
Contenu du ZIP
- Votre fichier principal (
index.jsouapp.py) et vos autres fichiers source. package.jsonourequirements.txt.squarecloud.app.
node_modules, .venv et __pycache__ : Square Cloud installe vos dépendances au démarrage du bot.
Déployer et vérifier
Créez le ZIP décrit ci-dessus, puis envoyez-le :Via le tableau de bord
Accéder à la page d'upload
Configurer votre environnement
Si vous téléversez un projet web, veillez à sélectionner « Publication Web » et à définir un sous-domaine pour votre projet.
Déployer votre projet
Une fois le déploiement effectué, vous pouvez suivre l’état et les logs de votre projet depuis le tableau de bord.

Confirmez que votre application est en ligne
Si vous avez déployé un site web ou une API, ouvrez
https://<votre-sous-domaine>.squareweb.app dans votre navigateur, vous devriez voir votre application répondre. Si vous avez déployé un bot, envoyez-lui une commande pour confirmer qu’il est en ligne.
Via la CLI
Pour utiliser cette méthode, votre projet a besoin d’un fichier de configuration nommésquarecloud.app à sa racine. Il indique à Square Cloud comment exécuter votre application.
Guide du fichier de configuration
squarecloud.app qui définit l’environnement de votre application.Installer la CLI
Se connecter
Téléverser votre projet
squarecloud.ignore, puis l’envoie :--file :Confirmez que votre application est en ligne
https://<votre-sous-domaine>.squareweb.app dans votre navigateur, vous devriez voir votre application répondre. Si vous avez déployé un bot, envoyez-lui une commande pour confirmer qu’il est en ligne.
Tester le bot
- Dans les paramètres de l’app Slack, sous « OAuth & Permissions », installez l’app sur le workspace (si ce n’est pas déjà fait).
- Vérifiez les logs de l’application dans le tableau de bord Square Cloud pour repérer d’éventuelles erreurs de démarrage. Avec le Socket Mode, il n’y a aucune Request URL à configurer : le bot se connecte à Slack dès son démarrage.
- Invitez le bot dans un canal, puis mentionnez-le ou exécutez la commande
/hellopour valider les réponses.
Erreurs courantes
You must provide an appToken when socketMode is set to true
Bolt for JavaScript s’arrête au démarrage avec ce message lorsqueSLACK_APP_TOKEN n’est pas définie. Définissez l’app-level token (celui qui commence par xapp-) et redémarrez le bot.
Either an env variable SLACK_BOT_TOKEN or token argument in the constructor is required
Bolt for Python s’arrête au démarrage avec ce message lorsque SLACK_BOT_TOKEN n’est pas définie. Définissez le Bot User OAuth Token (celui qui commence par xoxb-) et redémarrez le bot.
Le bot ne répond pas aux mentions
Vérifiez que le bot est membre du canal, que « Event Subscriptions » est abonné à l’événement de botapp_mention, et que vous avez réinstallé l’app après avoir ajouté des scopes.
Utiliser le mode HTTP au lieu du Socket Mode
Les apps qui utilisent le Socket Mode ne peuvent pas être listées dans le Slack Marketplace public. Si vous avez besoin que Slack envoie plutôt les événements en HTTP, exécutez le bot comme une application web :- Dans les paramètres de l’app Slack, désactivez le Socket Mode et copiez le Signing Secret (dans « Basic Information ») dans une variable d’environnement
SLACK_SIGNING_SECRET, définie de la même façon que les tokens. - Créez l’app avec le signing secret au lieu de l’app-level token, et écoutez sur le port indiqué dans la variable d’environnement
PORT:
0.0.0.0), ce que Square Cloud exige.
- Ajoutez un
SUBDOMAINà votre fichier de configuration (ou sélectionnez « Publication Web » et définissez un sous-domaine lors de l’envoi depuis le tableau de bord) pour que le bot obtienne une URL publique. Les applications web nécessitent au moinsMEMORY=512:
- Dans « Event Subscriptions » et dans la slash command
/hello, définissez la Request URL surhttps://<subdomain>.squareweb.app/slack/events.

