How are you organizing Mattermost channels?

UPDATE: Here’s a new guide to organizing channels. Thanks to everyone on this thread and in our interviews who contributed!

Just curious, how are people organizing your channels in Mattermost?

Our hypothesis is it looks something like this:

a) Team-wide public channels (low volume)
b) Sub-team-specific channels sharing updates (low volume)
b) Channels with automated updates from systems (medium volume)
b) Sub-teams creating private channels to discuss issues in-depth (high volume)

This is an estimate from talking to a small sample of users, plus our own experience.

Wondering what other configurations are out there?

I’m the lead dev at a fairly small company (and for now our Mattermost admin), so while it’s still evolving our current organization is:

  • Public channels for off topic (news, funny videos, etc) and Mattermost administration/help discussions
  • Team specific private channels
  • Private channels for automated updates (only Git currently)
  • Lots of discussion in direct messages

This design mostly arose from our desire to be able to give outside contractors Mattermost accounts, in which case nothing particularly sensitive can be discussed in public channels. We haven’t actually gone through the process with an outside contractor yet, but the idea is we’ll create a new project-specific private channel for discussions with them. All full time employees currently have access to all private channels and we use per-channel notification controls to reduce the noise (though honestly we’re still low enough volume I don’t think many users are really bothered by notification noise yet).

Does Mattermost still have the problem with reusing a channel name? I would think creating your sub-team private channels might eventually run into name clashes after a while… “Build system refactor #3” might be a little tedious?

I’ll be interested to hear what other people’s approach is.


We’re actually using MM not just within our team, but as a part of our (open-source) project in general, publicly as an alternative/upgrade from IRC on freenode. I have matterbridge configured to bridge our IRC channel with a MM channel.

We currently have 4 public channels:

  • OpenNMS Discussion (bridged to IRC, general “talk” channel and configuration Q’s)
  • OpenNMS Development (developer discussion)
  • TestOps (testing mattermost, this is where we’re playing with bots/webhooks/etc)
  • Town Square (off-topic chat)

As a company, we have a core of 8 people in our main office, and then a sprinkling of folks all over the world, and I’ve set up 2 private channels for those:

  • The OpenNMS Group (work discussion that shouldn’t be in one of the public channels)
  • TOG Pittsboro (just the home office, for things like “Hey, where do you want to go to lunch?”)

We’re low-enough volume in general that we’ll probably do team-wide dev talk in “OpenNMS Development” unless there is something customer-specific that shouldn’t be discussed in front of outsiders (which would then go into The OpenNMS Group), and we’ll occasionally go to one-on-one chat for something in particular.