Docs
SupportGet Started
  • Get Started
  • Platform
  • Products
  • Tutorials
  • Enterprise
  • Get Started
  • Frontend
    • Angular
    • React
    • Vue
    • Next.js
    • Svelte
    • Static Sites
      • Static HTML
      • HTML5UP Template
      • Bootstrap
  • Backend
    • Python
      • Python
      • Django
      • Flask
      • Python Discord Bot
      • Python Telegram Bot
      • Polling Python Telegram Bot
      • Whatsapp Bot
    • Node.js
      • Express.js
      • Node.js Discord Bot
      • Node.js Telegram Bot
      • Polling Node Telegram Bot
      • Slack Bot
    • Java
    • Go
    • Docker
      • Caddy Docker Site
      • Docker Laravel App
      • Docker PHP App
      • Flask Docker App
  • Database
    • MySQL
      • Django + MySQL
      • Flask + MySQL
      • Java + MySQL
    • MongoDB
      • Django + MongoDB
      • Express + MongoDB
      • Flask + MongoDB
    • Postgres
    • Redis
  • Full Stack
    • Next.js
      • Next.js + Express.js
      • Next.js + MongoDB
      • Static File Share with Flask and Caddy
    • Flask + HTMX
    • MEAN Stack
    • MERN Stack
  • Peristent Storage
  • WordPress
Powered by GitBook

© Copyright Code Capsules. All rights reserved.

On this page
  • Set up
  • Create a Space for your Bot
  • Create the Capsule
  • Register the Bot
  • Add Environment Variables
  • Invite Bot to Channel
  • Chat with the Bot

Was this helpful?

Export as PDF
  1. Backend
  2. Node.js

Slack Bot

A guide to deploying a Slack Bot from GitHub.

PreviousPolling Node Telegram BotNextJava

Last updated 13 days ago

Was this helpful?

Deploy a Node.js Slack Bot and learn how to host backend code on Code Capsules.

Set up

Code Capsules connects to GitHub repositories to deploy applications. To follow this guide, you'll need a account and a account.

To demonstrate how to deploy a Node.js Slack Bot with Code Capsules, we've provided an example bot, which you can find on the .

Sign in to GitHub, and fork the example bot repository by clicking "Fork" at the top-right of your screen and selecting your GitHub account as the destination.

Create a Space for your Bot

Log in to your Code Capsules account and navigate to the "Spaces" tab. Once there, click the yellow + icon on the top right of the screen to add a new Space.

Follow the prompts, choosing your region and giving your Space a name, then click "Create Space".

Example instructions to go with numbered annotations

  1. Choose a Team — you can use a default "personal" Team if you're the only person working on this project, or a named Team if you're collaborating with others

  2. This should remind you of the project, for example, "customer-api" or "notetaking-app"

  3. Choose a country close to where most of your users will be

Create the Capsule

To create a new Capsule for your Space, follow the instructions below:

  1. Choose "Backend Capsule", your Team, and Space.

  2. Choose your payment plan.

  3. Click the GitHub button and give access to the repository you forked at the start of the tutorial.

  4. Choose the GitHub repository you forked.

  5. Press "Next".

  6. Leave "Run Command" blank.

  7. Click "Create Capsule".

Code Capsules will automatically build your application when you've finished creating the Capsule.

Once your application is live, you can view the build log by selecting the "Deploy" tab and clicking the "View build log" link in the "Builds" section.

Register the Bot

  1. On the popup that displays, choose the "From scratch" option, give your app a name, and choose the workspace you want to add it to, then click "Create App".

  2. Click "OAuth & Permissions" on the left panel and scroll down to the Scopes section, and click "Add an OAuth Scope" under the Bot Token Scopes section.

  3. Choose "chat:write" from the options list.

  4. Click on the "Slash Commands" menu item on the left, under Features, then click "Create a new Command".

  5. Give the command the name /stats.

  6. For the Request URL, head over to your Capsule "Details" tab on Code Capsules and copy the URL under the "Public URL" section.

  7. Paste your URL into the Request URL box on Slack, and add /slack/command/stats to the end of it.

  8. Fill in the description with 'Returns key stats from the app'.

  9. Click "Save".

Add Environment Variables

Our bot's logic makes use of environment variables to function securely. You'll need to add the variables to your capsule's "Configure" tab before the bot can send/receive messages from your workspace.

For the first environment variable, SLACK_BOT_TOKEN:

  1. Head over to your app dashboard on Slack, and click on the "OAuth & Permissions" menu item on the left-hand side.

  2. Click the "Install to Workspace" button, followed by the "Allow" button.

  3. Actioning the preceding 2 steps should reveal a newly generated "Bot User OAuth Token". Copy this token.

  4. On your capsule's "Configure" tab, add a new environment variable with the name SLACK_BOT_TOKEN and set its value to the token you copied in the previous step.

  5. Confirm your changes by clicking on "Save".

For the second environment variable, SLACK_CHANNEL_ID:

  1. Open Slack and right-click on the channel name of the channel you want to send messages to.

  2. On the context menu that appears, choose "Copy Link".

  3. Paste the link in a browser tab, but don't press "enter" or "return".

  4. The link should follow the format, https://<workspace-name>.slack.com/archives/C01SZ6Z3TCY. The last part of that URL is the channel ID; in this example case, C01SZ6Z3TCY.

  5. Add the channel ID to the environment variables with the name SLACK_CHANNEL_ID.

  6. Confirm your changes by clicking on "Save".

For the third environment variable, SLACK_SIGNING_SECRET:

  1. Head over to your Slack app dashboard and click on "Basic Information" on the left-hand side.

  2. Scroll down to App Credentials and look for the Signing Secret. Click "Show" and copy the secret.

  3. Add a new environment variable with the name SLACK_SIGNING_SECRET on your capsule's "Config" tab and set its value to the secret you copied in the previous step.

  4. Confirm your changes by clicking on "Save", then restart your Capsule by toggling the radio button in the top right off and on again.

Invite Bot to Channel

You need to invite the bot to the chosen channel so that it'll be able to post there. To do this, send a message mentioning @<bot-name> the bot in the channel you added it to. Click "Invite Them" when Slack prompts you.

Chat with the Bot

The bot can now send messages to the channel every time it starts. You can restart the capsule to see this functionality in action, or alternatively, send a /stats message in the channel to get a report about the bot's status on Code Capsules.

A provides the server for hosting an application on Code Capsules.

You'll need a Slack user account and to log into a workspace before you can create a Slack bot. After you have logged into a workspace, head over to the page and click on "Create an app".

If you’d like to deploy another application in a different language or framework, take a look at our other .

Slack API
deployment guides
Code Capsules
GitHub
Code Capsules GitHub repository
Create a Space
Build Logs
invite bot to channel
Capsule