In the Slack GUI, when listing users of a channel, you are able to see who in the channel is a channel manager.
I am trying to get this same information from the API, but when using the conversations.members method, I only get a flat list of users with no information on who the channel manager(s) are. Is there another method for getting the channel managers?
Related
I am building a slack application.
I added "incoming-webhook" to oauth scopes that let me choose the channel I want the App to post messages. However unless I ping the app in the channel to add it. I get a "channel not found" error.
Is it possible to add the app to a channel when installing app via oauth ? Without adding it manually by #app-name or /invite app-name ?
When you add an incoming-webhookscope to your app, the option to add a channel during authentication is specific to incoming webhooks not bot messages. So any messages you send via the incoming webhook will send to the channel you selected during authentication. Messages sent via [chat.postMessage][1] will require your bot to be a member of the destination channel, via invite. Incoming webhooks can only be linked to a single channel. You will have to create a new webhook for every channel you want to post to using webhooks. For that reason, I'd recommend using chat.postMessage instead. If you request the chat:write.public scope your bot will be able to post into any public channel without invitation.
I have added a slack conversation dropdown and in the response I want to save/show channel name (or conversation name). I'm able to get the public channels information through conversation.info API but for the private channels, I am not able to fetch any details. Can someone help me how I can get the names along with channel id (or conversation id).
This is the response from the slack on selecting a channel
{'values': {'channel_block': {'selected_action_id': {'type': 'conversations_select', 'selected_conversation': 'G0*****JM'}}}}
The token you're using to call conversations.info must have access to the channel in question before you can access it. I'm assuming it doesn't, but without seeing the response from the API I can't be sure.
I am trying to use Microsoft Flow to post a daily message to a Microsoft Teams channel that will notify the users following that channel. When I create the Flow, the message that I write along with dynamic content does not get posted to the channel correctly.
I've since figured out how to have a dynamic date with the guide here:
https://flow.microsoft.com/en-us/blog/working-with-dates-and-times/
The resulting Flow still does not notify the channel when posted.
Here is the resulting post in the channel from before I figured out the date issue:
The message does not notify the channel.
I expect that the #channel mention would notify the channel. However, with Teams, when you type #channel, you need to pick the channel you want to mention. Is there a way to mention the channel in this way?
I need to send the multiple bot replies to the same channel. using this API method: https://api.slack.com/methods/chat.postMessage
But when i am sending multiple messages, The order in which the messages get rendered is not in the correct order, is there anyway to fix this.
I'm working on a new Workspace app for Slack. I have a use case where I need to send notifications to users in Slack, through a direct message (or IM). Since the chat.postMessage endpoint requires a channel ID, I can get the existing IM channels using conversations.list and send them the notification.
However, if the user hasn't yet opened an IM channel from their side, I need to create one. It seems that neither Web API endpoints (conversations.open or im.open) support Workspace tokens. I keep getting not_allowed_token_type error response. I can create a public channel with conversations.create, but that's not what I need.
Is there another to open an IM channel to a user when using a Workspace token?
Took me awhile to figure this out. You need to add/request the conversations.app_home:create scope to your permissions. Then you can just specify the user ID as the channel arg in a chat.postMessage call.