Slack doesn't provide an easy way to extract custom emoji from a team. (Especially teams with thousands of custom emoji) This Gist walks you through a relatively simple approach to get your emoji out.
If you're an admin of your own team, you can get the list of emoji directly using this API: https://api.slack.com/methods/emoji.list. Once you have it, skip to Step 3
HOWEVER! This gist is intended for people who don't have admin access, nor access tokens for using that list.
Follow along...
Open your Slack team on your browser (I used FireFox in this example)
Next, Open your developer tools, and go to the network tab. Look for a POST request on /emoji.list
Right Click on the request, and choose to open it in a new tab.
This will cause the browser to replay the request, yielding a JSON file with all your emoji information.
Save this file somewhere as emoji.json
Run download.sh on the file. (Make sure you chmod +x
it to make it executable. Details on the download.sh
file.
./download.sh emoji.json
Sit back and wait. This will create a folder called output
and will save all your emoji to it.
To bulk upload your emoji into a new team, use this chrome extension: https://chrome.google.com/webstore/detail/neutral-face-emoji-tools/anchoacphlfbdomdlomnbbfhcmcdmjej
1- This downloads files sequentially, one at a time. I didn't want to incurr Slack's rage by hammering their edge server with concurrent downloads. 2- This will duplicate aliased emoji
Might request that there is another noted added to
Optional Step 4
as slack now limits the rate of uploading emoji and at the time of posting this comment,Neutral Face Emoji Tools
does not indicate any errors occur.Reading the comments of that tool you can see people's suggestions of rate limiting their browser just for a successful upload.
As the tool is outside the scope of the instructions here and listed as "Optional", this is a 'nice to have' heads up for people finding this page.