GitHub-Slack Integrations without giving Slack write permission

Slack has a great integration with GitHub, allowing you to have a bot post all kinds of GitHub activity into your slack channels. However, the default settings for this require you to give Slack write-permissions on all your public/private repos. Depending on your level of paranoia, this may not ideal. Fortunately, there is a relatively easy way around this!

First, add an integration to your channel like you normally would (I go into the channel, find the gear icon, and click "Add an app or integration"). Search the integrations for "github", and select the GitHub integration.

Next, click "Add Configuration" to add a new Github->Slack channel integration, and select the channel you want notifications in.

Now for the important part! Instead of clicking the big green button that your eye and mouse are inevitably drawn to, read the fine print above it, and click the link to "switch to unauthed mode".

Slack now gives you a WebHook URL that you can take to GitHub and add manually. Copy that URL, update/customize the names and icons and other settings in Slack as you see fit, then pop over to GitHub. For each repository that you wish to integrate with that channel, go to the repository’s settings, and add a webhook integration (not a service integration). Paste in the URL, select the radio button for "Let me select individual events", and check the events that you wish to send to Slack.

Now it’s time to click the big green button. Voila, you’re integrated!

Spread the word

twitter icon facebook icon linkedin icon