Search code examples
slack-apislack

How to send message to Slack listening channels?


i am working on a slack app (scope including bot and incoming webhooks). I can send message to a defined channel but i don't know how to stop using the "&channel=" parameter and just send messages to listening channels. By listening i mean, when the app is installed, user is asked where to post (channel or dm has to be chosen).

String postUrl = "https://slack.com/api/chat.postMessage?token=" + botAccessToken + "&as_user=false&channel=%23community&text=testing&username=CommunityQ";

Any hints would be useful.


Solution

  • I think you can't: According to the official Slack API documentation it is not possible to send messages to all/multiple listening channels:

    Incoming webhooks output to a default channel and can only send messages to a single channel at a time. You can override a custom integration's configured channel by specifying the channel field in your JSON payload.

    I interpret this as "there is always exactly one channel your message is sent to"

    Furthermore, Slack restricts this channel override feature for Slack apps:

    You cannot override the default username, icon, or channel for incoming webhooks attached to Slack apps.