How to Create a Slack Chat Community with Auto-invites

Slack

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: https://api.slack.com/web, click “Create token”, and copy it down to Notepad or TextEdit for use in a later step.

Step 3.

Go to: https://github.com/rauchg/slackin (update: people are reporting to have more success with the https://github.com/Wiredcraft/slackin fork) 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: https://yourslug.herokuapp.com/. 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: yourwebsite.com/chat (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="https://yourslug.herokuapp.com/" 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 https://yourslug.slack.com/admin/settings 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.

Conclusion

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.