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?
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 adata-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
formyslack55.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 ;)
The answer marked correct here does not work for me, but I may have found an even easier way with test tokens.
Create a test token: https://api.slack.com/docs/oauth-test-tokens
Scroll down to the "try it now!" button. You land on
auth.test
: https://api.slack.com/methods/auth.test/testChoose the team you want to test and click Test Method. You can find your
team_id
(anduser_id
) there.Do the same for
channels.list
. You can click "View Another Method" and search or go to: https://api.slack.com/methods/channels.list/testChoose the team again and Test Method. Cmd+F through the
channels
object looking for whateverchannel_id
s you need.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
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:
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":
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)
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: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:
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.