How to Share a Channel Between Slack Teams

Project Management

Odds are you’re in love with Slack. This new tool is a fantastic way to keep your team on the same page—and cut back on email. Unfortunately, Slack has a limitation: it doesn’t easily connect disparate (e.g. external and intra-company) teams.

For example, in an agency, your team can use Slack to reduce call volume and expedite communication. But, what if the clients you work with have their own Slack, and don’t want to create new accounts? We’ve talked to a number of folks who find such situations a real bother.

Admittedly, this is a notable shortcoming in an otherwise great platform. There are, however, a handful of ways to solve this problem. Curious? Read on:

Option 1: Create a New Slack Team

The most common way to bridge the gap between two teams is to create a new Slack team. This seems like a low-friction solution, and in some ways it is. But, it also comes with a number of challenges and questions.

First off, this approach results in a brand new private chat history with everyone who is also in your main team. This sucks because it adds clutter—and noise.

Similarly, this approach forces you to determine who owns the associated teams, and who pays for them. Worse yet, when you have concurrent conversations in both teams, you’re going to be switching between teams like crazy!

Option 2: Invite the Other Team to Yours as Guests

A variation on this approach is to simply invite the other team to join your Slack as guests. This seems like a sensible approach, but it too has shortcomings. (BTW: If you aren’t paying for Slack, this approach isn’t an option.)

To make this approach work, you have to invite people one-by-one—by entering their email addresses. This is tedious, and a pain in the ass. It’s even worse if the other team is large, because you probably won’t have enough guest accounts available (Slack limits accounts to 5 guests per paying user) to make it viable.

This approach brings problems for your guests, too: In the event that you sever relations with them, all the exchanged data lives (solely) in your Slack. This is sort of unfair. Besides, even something as old-school as email would allow you to run basic forensics on previous correspondence.

Oops—we almost forgot to mention this: If the other team gets busy, they too will be be switching between teams like crazy!

Option 3: Get Your Team Invited

The third option is essentially the same as Option 2, but reversed. You know where we’re heading with this, don’t you? It puts you at risk of losing data. (i.e. If they decide to boot you out, you’ll lose access to the entire dialogue/history.)

All the same—if you need to connect teams in Slack, this is a viable option. Plus, the other party takes on the costs, so perhaps it’s fair that they also get all the data. Personally, though, we’d never go for an agreement like this.

Option 4: Use Sameroom

Sameroom specifically addresses the need to connect teams via chat. It works for Slack users, and also for teams using different services — like HipChat, Campfire, Kato, Flowdoc, IRC, and Gitter.

The service is largely invisible. You invite via URL, meaning there’s no need to paste emails. There’s no risk of data loss, as both sides retain the full dialogue history. Additionally Sameroom works with paid and free Slack plans—and team sizes don’t matter.

The downside? Sameroom’s a little weird. You fill in a couple of fields, click a few buttons, and you’re done. For some folks, this is a bit of a mind-bender. They expect more. What they don’t realize is that Sameroom is sort of like plumbing. (Even if you can’t see it, it sure is nice to have.)

Full disclosure: we’re some of the people working on Sameroom.

Option 5: Use Skype (or an Alternative)

Some will decide that connecting different Slack teams is just too unwieldy. They’ll find the team size limitations, cost requirements, and potential loss of data overly constraining. Plus, they won’t want to run additional “plumbing,” like Sameroom, to let their teams mingle.

Fair enough. In these situations, a platform change is in order. In such an instance, we’d recommend looking at a technology like Skype. This service is free, everyone has an account, and most find the service familiar. Sure, Skype doesn’t have all the features Slack boasts, but on a lot of levels it works quite nicely.



Ropes — Fast Strings

Most of us work with strings one way or another. There’s no way to avoid them — when writing code, you’re doomed to concatinate strings every day, split them into parts and access certain characters by index. We are used to the fact that strings are fixed-length arrays of characters, which leads to certain limitations when working with them. For instance, we cannot quickly concatenate two strings. To do this, we will at first need to allocate the required amount of memory, and then copy there the data from the concatenated strings.