I've been trying to get a list of all "groups" in my Slack team. However, even with admin privs, groups.list
only provides the groups that the token owner's account belongs to.
The closest solution I've seen in my research involves getting a bot to sit in the channel. The bot's membership allows it to report on the channel, but then there's the logistical problem of getting the bot into every private channel, despite the fact that we can't list them programmatically.
The code I've used to dig up private channel listings:
import requests
import json
token = '...'
r = requests.post('https://slack.com/api/groups.list', data={'token': token, 'exclude_archived': 1})
if r.ok:
privatechannels = { c['id']: c['name'] for c in json.loads(r.text)['groups'] }
print(privatechannels)
If you really need to monitor all private channels (and DMs) on your Slack workspace in real time there is another approach:
conversations.list
conversations.history
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With