bluecoconut
bluecoconut2y ago

Slack Resource - Bot vs. User Tokens

I just went to add, on a self hosted instance, the oauth for slack and was hoping to make an easy slack-bot to send messages "as windmill" to my slack. I was able to easily make the slackbot application, and go through the process of getting keys and updating my oauth config, but ran into difficulty after making the resource in windmill. (It worked, but did what i didn't expect) My struggle was trying to figure out what scopes to use // how to get the actions to post as the "bot" vs. "the user" that did the oauth flow. My solution: Specifically, i ended up making 2 resources -> Both were created identically (click on resource -> oauth flow -> approve as user -> save as 2 different named resources) But then once they were created, i went to the second one, and edited the underlying secret variable, to be the "bot token" in order to have a bot-resource. I'm not sure if this was the right way to do this, since it felt like a weird UX path, and wanted to post here to ask.. is this the expected behavior? I found this flow for setting up was non-trivial, i kinda wish that sending as the "bot user" was the standard (and not sending as the user). OR! I might not be using the APIs correctly, and I'm kinda curious, what is the best way to do this? Is what I did seen as an anti-pattern? (I tried using the slack api with flags like as_user=False and this failed (i think since it was a user token, not a bot token)) Regardless, things are working, so this isn't a big issue, just wanted to raise for the conversation / find out what the expected flow / UX experience to be.
3 Replies
rubenf
rubenf2y ago
Hello, there is a second resource type, slack_bot that is meant specifically for slack_bot tokens and that is set when you associate your workspace with slack in the workspace settings. We will clarify this better in the slack resources/api menu.
bluecoconut
bluecoconutOP2y ago
Ahhh, i skipped setting up the workspace with slack thing, thinking that just for /windmill commands which i didn't need yet. Good to know that's how the bot token gets managed~
rubenf
rubenf2y ago
It's pretty confusing and we need to clarify this