This topic was automatically generated from Slack. You can find the original thread here.
Hey folks, I could use some help I posted here a couple of days ago.
I want to connect my custom Slack app (IT Team Notifier) to Pipedream.
What I’ve done so far:
• Built the Slack app, added the right bot scopes (channels:read, channels:history, chat:write, commands, groups:read, groups:history, im:read, im:write, mpim:read, reactions:read, reactions:write, users.profile:read, users:read), and installed it to the workspace.
• In Pipedream > Accounts > OAuth Clients, I entered the Client ID + Secret, and added the Redirect URI to the Slack app. The Slack OAuth consent works and I can authorise the app (which creates a Connected Account).
• Tested the ‘Bot for Slack’ option by pasting the xoxb- Bot User OAuth Token > test passes, bot ID + workspace details show correctly.
Where I’m stuck:
• The Connected Account that gets created shows under my user identity, not the app/bot. Is going through Connected Account for my OAuth client even needed?
• In the ‘Bot for Slack’ trigger, I can’t see my private channel in the Channel ID dropdown > even though the app is invited to that channel.
• Basically: half of it works, but Pipedream still treats the connection like my Slack user instead of the bot.
Question:
What’s the correct way to configure Pipedream so that:
The Slack app connection is tied only to the bot identity (not my personal user).
The bot’s channels (including private ones it’s a member of) reliably appear when setting up a trigger.
Appreciate any help here as I feel like I’m going in circles on this.
The Slack app file has 2 props that are used for listing channels: channelId (uses conversations.list) and conversation (uses users.conversations). We may need to switch the Slack Bot triggers from using channelId to using conversation.
Hey (cc @U02A06JPKEH) thanks for getting back to me. I set up a simple workflow to test send-message and confirmed the channel does appear in the dropdown.
That confirms your suspicion that the trigger is using channelId (via conversations.list), which defaults to public channels only - so maybe it isn’t explicitly passing the types argument (e.g. public_channel,private_channel). Actions, on the other hand, seem to be using users.conversations, which works as expected.
So the Slack Bot trigger should maybe be updated to use users.conversations for consistency, and so only the channels the bot is actually a member of appear? That feels like the correct behaviour for most use cases.
Saying that though, could there be a scenario where someone might want to list all channels in the workspace (eg auditing/reporting workflows?), in which case conversations.list makes sense (with types).
But imo aligning triggers with actions - and showing only the bot’s channels - would make things much more predictable. Thanks