slackapi / bolt-python

A framework to build Slack apps using Python
https://tools.slack.dev/bolt-python/
MIT License
1.06k stars 245 forks source link

How would organizations install the app/bot? #829

Closed smyja closed 1 year ago

smyja commented 1 year ago

The Django example is vaguely written and doesn't explain how the flow for oauth should be. How does another organisation install an app? I can't just DM them the install URL. Also, why was it created when the app can be installed from the slack app store? I've installed my app into the workspace i am using already so I am wondering what the install endpoint is for. Please explain the flow clearly.

seratch commented 1 year ago

Hi @Smyja, thanks for asking the question!

As mentioned in the example app's README, you can use the OAuth flow example to serve the app installation flow (=OAuth flow) for any workspaces/organizations. https://github.com/slackapi/bolt-python/tree/main/examples/django#oauth_app---multiple-workspace-app-example-oauth-flow-supported

The OAuth flow starts at https://{your public domain}/slack/install. Your app installer is redirected to slack.com confirmation page, and then they come back to your https://{your public domain}/slack/oauth_redirect endpoint. This is exactly the same for any workspaces/orgnizations. Once your end-users in a few workspaces/organizations install your app in thier web browser, your app is available for all those workspaces/organizations.

If you're looking for a way to install your app into Enteprise Grid organizations too, you can visit your app's https://api.slack.com/apps admin page (Features > Org Level Apps) and clikc the green "Opt-in" button to turn the additional feature on. On your app code side, you don't need to do anything. bolt-python automatically handles both workspace-level and org-level installations.

I hope this helps.