134
votes

We are trying to setup deep linking into slack, as described here:

https://api.slack.com/docs/deep-linking

The document states that to open a specific team, the following URL should be used:

slack://open?team={TEAM_ID}

Open Slack and switch teams to the specified team. The provided TEAM_ID should be a string, like T12345.

Furthermore, to open a channel in a team, the following URL should be used:

slack://channel?team={TEAM_ID}&id={CHANNEL_ID}

Open the channel specified by the CHANNEL_ID provided in the id field, like C024BE91L. You must also specify the team with a TEAM_ID.

My question is simple. Where can I find out what TEAM_ID I need and what CHANNEL_ID I need?

10
Depending on how you're doing it, you should be able to retrieve a POST with all of the info you need: api.slack.com/outgoing-webhooks for examplentgCleaner
The accepted answer no longer works in 2019. Please consider changing the accepted answer to @SamuelDev response, which does work. stackoverflow.com/a/57246565/190298Nic
Thanks @Nic ! Just did it, sorry for the delay.lfboulanger

10 Answers

65
votes

As of July 2019, it seems like the team id and the channel id is already being shown via the web.

enter image description here

As you can see in the screenshot, the 2nd to the last node is the team id (prefixed with "T") and the last node is the channel id (prefixed with "C"). All you have to do is open slack via the web, go to the specific channel, and you can see the url change to something close to the screenshot above.

121
votes

Here is the easiest way to manually find the slack IDs

1. Any channel ID

Open the slack webpage (http://yourteam.slack.com) and then simply open the channel. The channel ID is displayed in the browser URL:

get any channel ID


2. Any user ID

To find a user ID you need to open your browser dev-tools console and inspect the user-link in the sidebar. The user ID can be found in the HTML attribute "data-member-id":

get any user ID

Or in slack: (1) Click on the users name and choose (2) "Show Profile". Then open the "..." menu and you see the option (3) "Copy Member-ID ..." - to get your own user ID via the UI, you have to click the Team-Logo in top-left corner and then choose "Profile & Account" (this is not included in the screenshot)

get team members user ID


3. Team ID

Simply open the dev-tools of your browser, switch to the "Console" tab and enter the text boot_data.team_id into the console. This will display your team ID:

get the team ID

79
votes

Slightly different answer to the existing ones.

Whenever I wanted to just find out quickly what the relevant ids are for a specific team, I just opened the Slack web client and inspected the relevant elements. (Using Chrome Dev Tools)

https://my.slack.com/messages

The <a> tag that links to a user tends to include a data-member-id attribute, the content of which is the user id.

The same holds true for channels. If you inspect any of the channels in the sidebar, you can see they are ordered as <li> list elements each containing the channel id in the class name.

For the team id, you can open the entire source of the slack web client and CTRL-F for your team_domain (e.g. myslack55 for myslack55.slack.com) and that should find you the team id.

Basically, it's all hidden in plain sight. You just need to know where to look ;)

40
votes

The answer marked correct here does not work for me, but I may have found an even easier way with test tokens.

  1. Create a test token: https://api.slack.com/docs/oauth-test-tokens

  2. Scroll down to the "try it now!" button. You land on auth.test: https://api.slack.com/methods/auth.test/test

  3. Choose the team you want to test and click Test Method. You can find your team_id (and user_id) there.

  4. Do the same for channels.list. You can click "View Another Method" and search or go to: https://api.slack.com/methods/channels.list/test

  5. Choose the team again and Test Method. Cmd+F through the channels object looking for whatever channel_ids you need.

28
votes

As of 2017, it looks like slack made it easier to find.

Here is the easiest way to manually find the Team IDs.

Visit your slack room via a web browser. Right Click > "View Source"

And search for Team_id:

13
votes

The easiest way to get the team and channel id and is to add slack developer tool app to your slack, you can can it here.

After adding it all you simply need to do is go to any channel and choose this command

/sdt whoami

It will output a snippet like this one.

There are much more commands and other things you can perform with this slack app, I would highly recommend it if you're building any integrations for slack.

12
votes

You can also simply right-click on the slack channel (or direct message) in the desktop App and select the 'Copy Link' option.

This will give you a URL of the form: https://org.slack.com/messages/[channel-ID]

I attest this works on High Sierra Mac OSX - Slack 3.1.1

9
votes

If you are using the Slack app you can simply right click on the channel name in the left menu and click Copy link, paste it somewhere and you will see the channel id.

3
votes

Team ID

The easiest way to get your team ID is to use the Slack API method auth.test with your access token.

Channel ID

Depends on if you want a public or private channel you can call the respective Slack API method to get a list of all channels incl. their IDs.

Note that you can only see private channels in which the user/bot that belongs to your access token has been invited into.

Accesss Token

To get the access token you can either request a "test token" on the Slack API page under "Test Token" (only recommended for testing purposes by Slack). Or you can create a Slack app and install that app for your Slack team using Oath which will also generate an app specific access token.

0
votes

If you've come here looking for how to access these values via the API for a specific user (like me!) using the @slack/bolt package - here's an example of how to do it.

Team ID & Channel ID & User ID

app.message('hello'),
  async ({ say, body, context, message }) => {
  const teamResponse: any = await app.client.team.info({
    token: context.botToken,
    user: message.id,
  });

  // An object containing the team data that Slack has stored
  const team: SlackGeneratedTeam = teamResponse.team;

  // User ID
  console.log(message.id)

  // Team ID
  console.log(team.id)

  // channel ID
  console.log(message.channel)
})