I have a few systems where I would like to take some data and post it to arbitrary channels in our Slack instance. I would like to not have to create a separate webhook URL for every channel because I don't know beforehand where those messages might need to go. There appears to be conflicting documentation on Slack's web site. There is an example of: curl -X POST \
--data-urlencode 'payload={"text": "This is posted to #general and comes from *monkey-bot*.", "channel": "#general", "link_names": 1, "username": "monkey-bot", "icon_emoji": ":monkey_face:"}' \
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
which contains a "channel" key, but then above that it says You cannot override the default username, icon, or channel for incoming webhooks attached to Slack apps. Instead, these values will stubbornly inherit from the associated Slack app configuration.
I believe that the incoming Webhook approach is what should be taken, particularly since I want the enhanced formatting capabilities that that provides, but I'll admit, I'm a little confused on all of the different programmatic ways to interact with Slack.
Am I missing something? Is there another way to approach this?