{"id":15898673,"url":"https://github.com/botmasterai/botmaster-slack","last_synced_at":"2026-02-02T01:31:48.025Z","repository":{"id":71333360,"uuid":"83429227","full_name":"botmasterai/botmaster-slack","owner":"botmasterai","description":"The Slack Botmaster integration","archived":false,"fork":false,"pushed_at":"2017-04-04T21:28:18.000Z","size":683,"stargazers_count":3,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-11-02T18:16:17.003Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/botmasterai.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-28T12:23:22.000Z","updated_at":"2018-03-14T00:09:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"467b37e3-605f-4786-8c58-4bb465a41be2","html_url":"https://github.com/botmasterai/botmaster-slack","commit_stats":{"total_commits":12,"total_committers":1,"mean_commits":12.0,"dds":0.0,"last_synced_commit":"2c01af2eed83ed69f278233ac7e40965a9b0ef06"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/botmasterai/botmaster-slack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botmasterai%2Fbotmaster-slack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botmasterai%2Fbotmaster-slack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botmasterai%2Fbotmaster-slack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botmasterai%2Fbotmaster-slack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/botmasterai","download_url":"https://codeload.github.com/botmasterai/botmaster-slack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/botmasterai%2Fbotmaster-slack/sbom","scorecard":{"id":248856,"data":{"date":"2025-08-11","repo":{"name":"github.com/botmasterai/botmaster-slack","commit":"2c01af2eed83ed69f278233ac7e40965a9b0ef06"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/12 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"93 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-832h-xg76-4gv6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-cwfw-4gq5-mrqx","Warn: Project is vulnerable to: GHSA-g95f-p29q-9xw4","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-9vvw-cc9w-f27h","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-hr2v-3952-633q","Warn: Project is vulnerable to: GHSA-h6ch-v84p-w6p9","Warn: Project is vulnerable to: GHSA-ff7x-qrg7-qggm","Warn: Project is vulnerable to: GHSA-4gmj-3p3h-gm8h","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-qrmc-fj45-qfc2","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-mpcf-4gmh-23w8","Warn: Project is vulnerable to: GHSA-9qj9-36jm-prpv","Warn: Project is vulnerable to: GHSA-8r6j-v8pm-fqw3","Warn: Project is vulnerable to: MAL-2023-462","Warn: Project is vulnerable to: GHSA-xf7w-r453-m56c","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-q42p-pg8m-cqh6","Warn: Project is vulnerable to: GHSA-w457-6q6x-cgp9","Warn: Project is vulnerable to: GHSA-62gr-4qp9-h98f","Warn: Project is vulnerable to: GHSA-f52g-6jhx-586p","Warn: Project is vulnerable to: GHSA-2cf5-4w76-r9qv","Warn: Project is vulnerable to: GHSA-3cqr-58rm-57f8","Warn: Project is vulnerable to: GHSA-g9r4-xpmj-mj65","Warn: Project is vulnerable to: GHSA-q2c6-c6pm-g3gh","Warn: Project is vulnerable to: GHSA-765h-qjxv-5f44","Warn: Project is vulnerable to: GHSA-f2jv-r9rf-7988","Warn: Project is vulnerable to: GHSA-44pw-h2cw-w3vq","Warn: Project is vulnerable to: GHSA-jp4x-w63m-7wgm","Warn: Project is vulnerable to: GHSA-c429-5p7v-vgjp","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-4hpf-3wq7-5rpr","Warn: Project is vulnerable to: GHSA-f522-ffg8-j8r6","Warn: Project is vulnerable to: GHSA-p9w8-2mpq-49h9","Warn: Project is vulnerable to: GHSA-2pr6-76vf-7546","Warn: Project is vulnerable to: GHSA-8j8c-7jfh-h6hx","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-282f-qqgm-c34q","Warn: Project is vulnerable to: GHSA-fvqr-27wr-82fm","Warn: Project is vulnerable to: GHSA-4xc9-xhrj-v574","Warn: Project is vulnerable to: GHSA-x5rq-j2xg-h7qm","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-7px7-7xjx-hxm8","Warn: Project is vulnerable to: GHSA-x5pg-88wf-qq4p","Warn: Project is vulnerable to: GHSA-p9wx-2529-fp83","Warn: Project is vulnerable to: GHSA-5v2h-r2cx-5xgj","Warn: Project is vulnerable to: GHSA-rrrm-qjm4-v8hf","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-wrvr-8mpx-r7pp","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-w9mr-4mfr-499f","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-6g33-f262-xjp4","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-4rq4-32rv-6wp6","Warn: Project is vulnerable to: GHSA-64g7-mvw6-v9qj","Warn: Project is vulnerable to: GHSA-2m39-62fm-q8r3","Warn: Project is vulnerable to: GHSA-mf6x-7mm4-x2g7","Warn: Project is vulnerable to: GHSA-mxhp-79qh-mcx6","Warn: Project is vulnerable to: GHSA-j44m-qm6p-hp7m","Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9","Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-g7q5-pjjr-gqvp","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-xc7v-wxcw-j472","Warn: Project is vulnerable to: GHSA-332q-7ff2-57h2","Warn: Project is vulnerable to: GHSA-cf4h-3jhx-xvhq","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T08:06:11.906Z","repository_id":71333360,"created_at":"2025-08-17T08:06:11.906Z","updated_at":"2025-08-17T08:06:11.906Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28999598,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T23:10:54.274Z","status":"ssl_error","status_checked_at":"2026-02-01T23:10:47.298Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-06T10:07:20.066Z","updated_at":"2026-02-02T01:31:48.008Z","avatar_url":"https://github.com/botmasterai.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Botmaster-slack\n\n[![Build Status](https://travis-ci.org/botmasterai/botmaster-slack.svg?branch=master)](https://travis-ci.org/botmasterai/botmaster-slack)\n[![Coverage Status](https://coveralls.io/repos/github/botmasterai/botmaster-slack/badge.svg?branch=master)](https://coveralls.io/github/botmasterai/botmaster-slack?branch=master)\n[![npm-version](https://img.shields.io/npm/v/botmaster-slack.svg)](https://www.npmjs.com/package/botmaster-slack)\n[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](LICENSE)\n\nThis is the Slack integration for botmaster. It allows you to use your \nbotmaster bot on Slack\n\nBotmaster is a lightweight chatbot framework. Its purpose is to integrate your existing chatbot \ninto a variety of messaging channels - Facebook Messenger, Slack, Twitter DM,  Telegram etc...\n\n## Documentation\n\nFind the whole documentation for the framework on: http://botmasterai.com/\n\n## Installing\n\n```bash\nyarn add botmaster-slack\n```\n\nor\n\n```bash\nnpm install --save botmaster-slack\n```\n\n## The Botmaster Slack bot\n\nBecause Slack works slightly differently from the other platforms provided as packages, I will briefly explain here what your botmaster Slack bot will be exactly.\n\nAs you surely know, Slack is a product that enables team members to communicate easily with one another. because of that, one team member can't just \"add\" a bot for herself in the same way one would in Facebook Messenger or Telegram or other.\n\nTeams can either build a bot that will only live within their own slack team. Or they can package a bot in a Slack app that \"packages\" the bot.\nAdmin team members can add support for a bot (by installing an App that packages said bot) and then team members can start communicating with it as they would with another team member. At this point, they would be communicating with what is known as, in Slack semantics, a **bot user**.\n\nAll the information required by Slack concerning this is setup in the `slackSettings` object within Botmaster. This will allow us to create a Slack Bot object that communicates to end users via this **bot user** that needs to be set up on Slack's end. Because this whole setup and gathering the proper credentials is not as trivial as one might want and quite unclear on their website, here's a mini-tutorial to get you started with Botmaster * Slack.\n\n## Botmaster Slack bot mini-tutorial\n\nFollowing these steps, you will have a fully functional Slack bot using Botmaster that can then be edited as wanted. This mini-tutorial uses localtunnel to expose one of your ports to the world. see why you might want to use this and how to install and setup localtunnel [here](/getting-started/webhooks#localtunnel) for your local botmaster project. You can use ngrok or any other service you know or find suitable and achieve the same result.\n\n#### Create an app\n\nNavigate to: https://api.slack.com/apps and make sure you are signed in. If you aren't you will be redirected to your team's slack once logged in and will need to go back to the mentioned link.\n\nClick the **create new App** button and enter any App Name you want. This won't be the name of the **bot user**. However, the name should ideally be related to your bot user so as not to confuse your users. For instance, if your bot user will be called *my_super_bot*, calling the app something like *My Super Bot App* would make sense.\n\n#### Get your first credentials\n\nOn this page you were redirected to, you will find an *App credentials* section. Both your Client ID (`clientId` in Botmaster) and your Client Secret (`clientSecret` in Botmaster) are here. Take note of them.\n\n#### Setup Your App's OAuth Webhook\n\nYou don't need to know anything about OAuth to complete this step. Just know that this URL will be called when people are installing/authorizing your app.\n\nIn the left panel, click on the **OAuth \u0026 Permissions** tab and enter your webhook in the **Redirect URL(s)** field as shown here:\n    ![Slack Setup 1](images/slack_setup_1.png)\nThis URL has to be of the form: **https://\\\u003cyour_base_url\\\u003e/slack/\\\u003cwebhookEndpoint\\\u003e**. For example, **if** I am using localtunnel to test the bot locally, and started localtunnel by running the following:\n ```bash\n  lt -p 3000 -s botmastersubdomain\n ```\nI would set my Redirect URL(s) to: `https://botmastersubdomain.localtunnel.me/slack/webhookd24sr34se` (based on the `webhookEnpoint` set in my `slackSettings` in the \"Start your Botmaster App Locally\" section). Click on **Save Changes**.\n\n#### Add a Bot User\n\nGo to **Bot Users** and click on the **Add a Bot User** button. Select a name for your bot (e.g. my_super_bot) and click the **Add Bot User** button.\n\n#### Get the rest of your credentials\n\nNavigate to the **Event Subscriptions** tab and click on the toggle button in the to right corner to **on**. Then in the **Request URL** field that pops up, enter the same URL as in the OAuth \u0026 Permissions tab. **You will get an error**. This is normal and is due to two reasons. Firstly, we don't actually have an app started and listening at the mentioned URL and secondly because even if we did, we don't have our App's verification Token. Let's fix this!\n\nNavigate back to **Basic Information** and note that you now have a **Verification Token** in the App Credentials box. Take note of it.\n\n#### Start your Botmaster App Locally\n\nStart your botmaster app in any project folder you might want (see [here](/getting-started/installation) if you haven't installed botmaster yet). To start the botmaster project, you'll want to create an `app.js` file with the following contents:\n\n```js\nconst Botmaster = require('botmaster');\nconst SlackBot = require('botmaster-slack');\nconst botmaster = new Botmaster();\n\nconst slackSettings = {\n  credentials: {\n    clientId: 'YOUR app client ID',\n    clientSecret: 'YOUR app client secret',\n    verificationToken: 'YOUR app verification Token'\n  },\n  webhookEndpoint: 'webhookd24sr34se',\n  storeTeamInfoInFile: true,\n};\n\nconst slackBot = new SlackBot(slackSettings);\nbotmaster.addBot(slackBot);\n\nbotmaster.use({\n  type: 'incoming',\n  name: 'slack-incoming-middleware',\n  controller: (bot, update) =\u003e {\n    return bot.reply(update, 'Hello world!');\n  }\n});\n```\nand place it at the root of your project folder. Replace the credentials with the ones you have gathered. Run `node app.js` to start the app. Let's now expose our bot to the world.\n\nFor the webhook to work locally, you'll now need to make sure you've started localtunnel. If you are doing all of that from a server that already has a Domain Name, you won't need to do this. But I am assuming most people are doing this from their local computer. so in the command line, run something like this:\n```bash\nlt -p 3000 -s \u003cwanted_base_url_for_your_bot\u003e\n```\n\n#### Setup Your App's Events and Events Webhook\n\nGo back to the **Event subscription** page and enter your webhook url again. This should now work and look something like this: ![Slack Setup 2](images/slack_setup_2.png) Scroll down and click on **Add Bot User Events**. At the minimum, add the following events:\n    * message.ipm\n    * message.channels\n    * message.im\n    * message.groups\nClick **Save Changes**\n\n#### Install your Slack App\n\nWe're almost done here. We need a way to install our app to test it out. This is done via what is called a **Slack button**. because botmaster manages all the nitty-gritty parts of this process, all you need to do is create a `views` folder in your project folder and create an `index.html` file in this views folder with the following contents\n```html\n\u003ca href=\"https://slack.com/oauth/authorize?scope=bot\u0026client_id=YOUR_APP_CLIENT_ID\"\u003e\n  \u003cimg alt=\"Add to Slack\" height=\"40\" width=\"139\"\n  src=\"https://platform.slack-edge.com/img/add_to_slack.png\"\n  srcset=\"https://platform.slack-edge.com/img/add_to_slack.png 1x,\n          https://platform.slack-edge.com/img/add_to_slack@2x.png 2x\" /\u003e\n\u003c/a\u003e\n```\nNote that you'll need to replace **YOUR_APP_CLIENT_ID** in the href with your own. You definitely don't want to put in your client secret here!\n\n#### Try out your bot!\n\nAssuming your botmaster app and localtunnel are still running, open your `index.html` file (not in a text editor, but actually in a browser) by double clicking on it. Authorize your newly created app to add it to your team. You should now be redirected to your teams slack and be able to chat to your bot.\n\n#### Make your Bot Available to the World\n\nYou might actually want to allow others to install your app by using the Slack Button. However, to do so you will need to host it somewhere. We'll use an express app and use the same server for both express and botmaster. We update our app.js file to look like this:\n\n```js\nconst express = require('express'); // added\nconst Botmaster = require('botmaster');\nconst SlackBot = require('botmaster-slack');\n\nconst app = express(); // added\nconst myServer = app.listen(3000, '0.0.0.0'); // added\nconst botmaster = new Botmaster({\n  server: myServer, // added\n});\n.\n.\n.\napp.use(express.static(__dirname + '/views')); //added\n// or if you don't want it at the root of your app, add this:\napp.use('/slack', express.static(__dirname + '/views')); // added\n\nbotmaster.use({\n  type: 'incoming',\n  name: 'slack-incoming-middleware',\n  controller: (bot, update) =\u003e {\n    return bot.reply(update, 'Hello world!');\n  }\n});\n```\nMake sure to add either one of the `app.use...` lines.\nIf you pick the first one, navigate to your URL (`https://botmastersubdomain.localtunnel.me/` for this example) and you will see the button.\nIf your pick the second one, navigate to your sub URL (`https://botmastersubdomain.localtunnel.me/slack` for this example) to see the Slack button.\n\n## Webhooks\n\nNow as with any other platform using Webhooks, you'll need to update these to your production Domain Name once you deploy your code to production. And in a more general sense, if you are still unsure how webhooks work within the botmaster framework, go [here](/getting-started/webhooks.md)\n\n\n## License\n\nThis library is licensed under the MIT [license](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbotmasterai%2Fbotmaster-slack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbotmasterai%2Fbotmaster-slack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbotmasterai%2Fbotmaster-slack/lists"}