Introduction

This guide explains step by step how to develop, configure and host a Slack bot on Square Cloud. We’ll follow security best practices and show examples in Node.js (Bolt) and Python (Bolt for Python).

Essential Prerequisites

  • Slack account: You will need an account and permissions to create apps on Slack. Create or access your account at https://slack.com/.
  • Square Cloud account: Sign up via https://squarecloud.app/pt-br/signup to host your bot.
  • Active paid plan: Bots that require continuous resources typically need a paid plan. Check our plans.

Creating the Slack App

  1. Go to the Slack API - Your Apps and click “Create New App”.
  2. Choose “From scratch”, give the app a name and select the workspace where you will install it.
  3. Note the Signing Secret (under “Basic Information”) and create a Bot Token in the “OAuth & Permissions” section, adding the appropriate scopes for your bot (e.g. chat:write, channels:read, commands, app_mentions:read).
Security: Never expose the Signing Secret or the Bot Token publicly. Treat them as sensitive credentials.

Implementation Examples

Use the sections below depending on the language you choose. Both examples demonstrate a bot that responds to mentions or simple commands.
Node.js Environment Setup
  1. Make sure Node.js is installed.
  2. Initialize a project and install dependencies:
Terminal
npm init -y
npm install @slack/bolt
  1. Create an index.js file with the following content:
index.js
const { App } = require('@slack/bolt');

const app = new App({
  signingSecret: process.env.SLACK_SIGNING_SECRET,
  token: process.env.SLACK_BOT_TOKEN,
});

// Responds when mentioned
app.event('app_mention', async ({ event, say }) => {
  await say(`<@${event.user}> Thanks for mentioning me!`);
});

// Example slash command
app.command('/hello', async ({ ack, respond }) => {
  await ack();
  await respond('Hello from Square Cloud!');
});

(async () => {
  await app.start(process.env.PORT || 3000);
  console.log('⚡️ Slack Bolt app is running!');
})();
Note: on Square Cloud, set the environment variables SLACK_SIGNING_SECRET and SLACK_BOT_TOKEN in the application panel.

Square Cloud Configuration File

Learn about: how to create the configuration file for Square Cloud.

The squarecloud.app file is used to define the name, version, main file and environment variables for your application. Include SLACK_SIGNING_SECRET and SLACK_BOT_TOKEN in the panel or configuration file as needed.

START Field

In general the START field is not required if your app starts from the default file (index.js or app.py) and uses environment variables. Use START only for custom startup scripts.

Uploading the Project to Square Cloud

After preparing the files, compress the project (including package.json or requirements.txt and squarecloud.app) and upload via the Dashboard or CLI.
Access the Square Cloud Dashboard and send the ZIP containing the project files.

Testing the Bot

  1. In the Slack App panel, under “OAuth & Permissions”, install the app to the workspace.
  2. If the bot exposes endpoints (for events or commands), configure the Request URL in “Event Subscriptions” and “Slash Commands” to point to your application’s public URL (Square Cloud provides the domain after deployment).
  3. Test mentions in a channel or the /hello command to validate responses.
Example install link (replace the client_id):
https://slack.com/oauth/v2/authorize?client_id=000000000000.000000000000&scope=commands,chat:write,app_mentions:read

Additional Resources

For further reading, check the official Slack documentation: If you continue facing technical difficulties, our specialized support team is available to assist you. Contact us and we'll be happy to help you resolve any issue.