How to Create a Slack Chat Community with Auto-invites


What Gmail did for email, Slack has done for chat. Basically an overnight success, Slack has quickly become the most popular way for teams to organize and communicate. However, Slack’s usefulness has far transcended that initial intended use for the tool. Slack is now considered the most popular and useful all-around tool for chatting as a whole, regardless of purpose.

Besides private team discussions, Slack has now become a very popular tool for public community discussions, with endless possibilities. Since this is not the primary focus of Slack, until features are added to better accommodate this type of use (which considering how smart the folks at Slack are, can be considered inevitable), we have to come up with workarounds and hacks to allow people to join our Slack groups more quickly and easily, as manually requiring members to request access and then manually approving them one by one, is simply not practical.

While not everyone will consider the following method ideal, it is certainly the easiest free option:

Step 1.

Of course, start by creating a new Slack team if you haven’t already. Depending on whether you want it to be easily discoverable or not, you can create it with an obfuscated, randomly generated slug like jAy8prUz or if it’s meant to be friendly and easy to remember, something simple like your organization’s name abcmoving.

Step 2.

Being logged into your Slack team, go to:, click “Create token”, and copy it down to Notepad or TextEdit for use in a later step.

Step 3.

Go to: and click on the purple “Deploy to Heroku” button, which will prompt you to create a free Heroku account.

Step 4.

After creating, confirming, and logging into your Heroku account, you should now see the final form for creating and deploying your Slack app. Simply add your Slack slug that you assigned in step 1, your API token that you copied down from step 2, and click “Deploy for Free”. Your app is now live at: You can share this link on your website or over social media to invite people to join, hassle-free.

That’s it; you’re done.

If you need a branded solution without users needing to leave your website, continue to the next steps…

Step 5. (Optional)

Create a new page: (or whatever you like) and add the following code (making sure to change the app slug to your own):

<style>#slack-signup-wrapper{position:relative;width:100%;height:300px;overflow:hidden}#slack-signup{position:absolute;top:-175px;left:0;width:100%;height:500px;margin:0;padding:0;border:0}@media all and (max-width:380px){#slack-signup-wrapper{height:250px}#slack-signup{left:-20px;top:-150px;width:120%}}</style>
<div id="slack-signup-wrapper"><iframe src="" id="slack-signup" scrolling="no"></iframe></div>

Recommended: Not all members will be aware that their email address is viewable my all other members. At some point, Slack will likely add a privacy feature to disable this, but until then, it’s a good idea to inform people of this in advance.

Update: As predicted, Slack has now added a privacy feature to hide member email addresses. Be sure to go to and uncheck the “Email Display” option. Then, you won’t need to display a courtesy warning to members.

If your Slack community is intended to be free and open to the public, you’re done.

If you intend for the community to be private, continue to the final step…

Step 6. (Optional)

You’ll want to noindex and nofollow the page:

<meta name="robots" content="noindex, nofollow" />

If you’re using WordPress, you can accomplish this with this plugin.

If access to your Slack community is part of a paid subscription, you can completely hide the page altogether only allowing access after payment, registration, and log in, or simply redirect to a hidden URL from PayPal or Stripe after successful payment.


Naturally, every scenario will probably be unique, so I’ll be available to help in the comments below, but this should be a great start to get you on track.

  • Shadi Al’lababidi

    Hey Brian,

    Thank you for this article.

    I’m curious as to how one may go about sending auto-disable reqs to Slack.

    The model is a paid subscription model, where they lose access if they chargeback or don’t pay the monthly sub. Do you know of any method to handle this on the slack side of things?

    Only idea I’ve had so far is to build a DOM bot that logs itself in using phantomJS or something like this, which then searches for that user by email and disables the account.


    Shadi :)

  • Shadi Al’lababidi

    Also, please may you explain the vuln where members can see other members emails?

  • Regarding auto-disabling accounts, I’m not aware of any graceful way to do this outside of hacking something together as you’re suggesting. If you’re only dealing with a handful of unsubscribers every month, obviously just manually disabling their accounts would be the way to go. But, if that’s not the case, of course, that’s not really a practical solution in terms of scalability.

    On your end, you could create an automated email for unsubscribers that dictates they are no longer allowed access to use Slack. Of course that’s not physically enforceable. In other words, that’s like a law that says you cannot jaywalk. The rule is in place, but of course, people can and probably will still do it anyways.

    However, in an online community that I suspect isn’t very large relatively-speaking, I imagine it would dissuade most from trying to abuse the community. Depending on how tech-savvy the community is too, they may not realize that they could skirt the rules, even if they wanted to.

    Regarding emails being viewable by all members, this is of course an issue concerning the premise of what Slack devs envisioned the tool being used for not yet catching up with the other applications it’s being used for.

    Slack is meant for teams, ergo the assumption is that everyone who joins a specific Slack team, are already co-workers or teammates who already have each others emails and other private info, therefore not a problem.

    Using Slack for communities is a creative way to utilize the tool that was not its intended purpose. I doubt Slack frowns upon it though and instead, I imagine they’ll add additional options to deal with the different ways people can use Slack at some point.

    So, why does it even matter if all members can see a list of all member emails? Mainly, for the spam concern. Say there was a Slack community that discusses all things golf. Now, say someone who sells golf merchandise comes along, who has no genuine or altruistic intentions for joining the community, does so just so that he can scrape the thousands of member emails and then build an email marketing list to then spam all the members.

    Other than that, some people just don’t want their email revealed and may not be aware that it’s exposed in this way, because it’s not standard for other communities they join, and this can surely piss people off if they’re not made aware of it.

  • Use the fork version by Wire something if you don’t have a paid slack account
    Otherwise you will get application error

  • here is the link to the fork

  • Dmitry Yan
  • It’s nice, and I followed all its steps. Once it’s deployed (check attached success log ) and testing the app the page says “Application Error” with the following message…

    An error occurred in the application and your page could not be served. Please try again in a few moments.

    If you are the application owner, check your logs for details.

  • Thanks for this solution!

  • Hi Abinash,

    Looks like you were able to solve this error by using instead?


  • Yep! It solved Thanks :)

  • Good to hear.

  • Here is the link :) check this