Let's say we are in a private conversation and we have a public channel (#public) and a private channel (#private). If I type in

Hey, this is a #public channel.

the "#public" is linked to the appropriated channel. If I type in however

Hey, this is a #private channel

the "#private" is not linked to the appropriated channel.

Can I achieve this? And if no, is there a reason why not?

  • 2
    My guess would be that it would reveal whether the channel exists.
    – user1686
    Jul 29 '16 at 9:09
  • 6
    @grawity Good point! But you could just restrict the linkable private channels to those the user is able to see.
    – OddDev
    Jul 29 '16 at 9:58
  • You could, but consider that the place where you place this cross-reference might be public, or even if private, might not also be able to restrict visibility to people who are members of both private channels. I would have thought that merely mentioning "#private" would be revelatory anyway, so this is needless optimization, but I guess the Slack folk thought that someone just mentioning #private isn't quite the same as the system proving it's there by a link/mention. Aug 3 '17 at 14:52
  • Sending <#nonexistingroup> via API returns #deleted-channel on screen (even if it was never created) so you could potentially detect which groups exist or not.
    – kursus
    Sep 3 '17 at 22:00

Slack now allows referencing private channels the same way you're used to do with public ones: by preceding the channel name with #. The channel name will be formatted in the final message to include a lock icon indicating it is private.

picture showing how slack formats links to private channels with a preceding lock icon to indicate the channel visibility If one does not have access to the private channel its name is hidden:picture showing slack omitting the channel name and just showing a "private channel" placeholder instead

I did not find any mentions to when this feature was introduced in the Official Slack Changelog.

  1. In the sidebar, you can right click on the #private channel you want to reference, and select the option to copy the link:

Slack channel copy link

  1. Then in your message where you want to reference the private channel (and make it look just like when you reference a public channel), type a hashtag and the channel name (e.g. #private) and then select that text:

Slack select channel name text

  1. Now click the hyperlink button or press Ctrl + Shift + U, to make a link of the text you just selected, and paste that link you copied as the URL and click the [Save] button:

Slack insert link dialog

Now your private channel is linked just like if it was a public channel. Hooray!

Slack message with private channel linked


Linking private channels like you can do with public channels is not supported in Slack.

My guess is it has to do with the security architecture of Slack, where private channels are completely invisible to all users (including admins and owners), which are not a member of that channel. Being able to post a direct link to a private channel would violate that security feature.

  • 5
    It's frustrating that even in messages to users in the channel you can't reference said channel. :( Apr 9 '20 at 17:54
  • 1
    @DavidRoundy Yes, Slack's "features" are beyond frustrating.
    – jrw32982
    Nov 9 '20 at 21:45

Yes. there does not seem to be a simple and easy way to reference private channels in slack.

Perhaps they can use other character notations like $private or %private as a way to indicate the private channels.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.