How to Correctly Configure Pipedream for a Custom Slack App to Ensure Bot Identity and Channel Accuracy?

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:

  1. The Slack app connection is tied only to the bot identity (not my personal user).
  2. 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.

Yea if you want to tie it to your bot and not user, you don’t need to create an OAuth client, you want to use the Bot for Slack app in Pipedream

OK I’ve 100% tried that but just to make sure, I followed your response and I still can’t see the channel in question as before.

I just pinged the team to see if someone can help you debug a bit more

Hi . If you use the Bot for Slack action send-message, does the Channel prop load all the correct channels?

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

amaze - thanks for that! Any idea about timeline for merging?

Michelle, I approved, seems like we should just ship it. can validate once it’s out.

I just merged it!

You’ll need to update that action, Poppy (you should get prompted in the UI), then give it another shot

:tada: woop! success! tysm for for helping me with this and sorting it so quickly - massively appreciate it!