I had a look at the API. It looks like we can’t specifically request messages that are/aren’t part of a thread. As you have noticed, messages are simply loaded in chronological order regardless of what thread they’re in. This can lead to a lot of mess!
When we retrieve messages, we are told whether they are part of a thread. So that means it’s definitely possible to filter them out on the discourse end, meaning that the transcript would only contain messages that are part of the “main” conversation. We would need to be careful to include those messages that are “broadcast” out of a thread into the main channel.
As for posting a transcript of a thread - as far as I can see, custom slash commands aren’t supported in threads… So that’s not a great start! This is the only mention of the issue I can find.
So to go back to your list:
I don’t think this is possible, because slash commands don’t work in threads ![]()
I think we can do this fairly easily ![]()
This would be cool. How long do your threads tend to last? If the first post of a thread is more than 500 messages in the past then we might have an issue… And that 500 includes all posts in all threads that are part of a channel.
Tl;dr: Threads in Slack seem like a bit of an afterthought as far as the API is concerned!