Photo by Dan Cristian Pădureț on Unsplash

No more losing links in Slack —here’s my React + Python solution

A small project to put Slack links in their (one) place

Ben Scheer
7 min readDec 2, 2022

--

Do you use Slack by chance? Or any messaging app? If so, you might have experienced the following problem: People will post all sorts of interesting links, but as time goes on, it all gets lost in oblivion.

What if you miss out on a mind-blowing YouTube link just because you skipped over a message thread from 2 weeks ago?

Yes, it can be hard to keep up with all the links posted in your Slack channels. Even when you can keep up, sometimes you just don’t have time to explore links. Before you know it, you’re saving random notes for later, setting reminders for yourself, and it can get a little bit crazy.

Even if you’re actively searching for a link that someone posted recently, there’s a noisy mixture of text, comments, and emojis on the screen that make it harder to find what you’re searching for.

It doesn’t need to be this way — I have a solution! It’s a technical one, and it’s not by any means perfect, but it gets the job done. This article shares the story behind the solution, how it works, and even how you can use this yourself so you can keep track of links. Let’s get started:

Solving the problem

First, I wanted to see if anyone had already solved the problem. I googled some more without much luck. The Slack API is powerful but I couldn’t find anything for this problem. Then, I found this Reddit thread that talks about exporting data from Slack channels.

I thought, if we can get the data from any timeframe via manual export, then that means there’s a way to extract links. What’s an appropriate way to accomplish this? And once we get the links, what’s a convenient, sharable, and flexible way to store them? How do you make updates over time and more people post links?

One ideal result that would solve this problem would be some sort of webpage that simply lists all the links (and their thumbnail images if applicable) extracted from Slack. So, the goal was to go from raw, exported data to a Slack links webpage.

--

--