Nahua Kang
Nahua Kang

Reputation: 406

How to send user a message and create a channel right after installation of Slack app

As the title suggests, I'm wondering how we could:

right after the user installs the Slack app (distributable app) for the first time in a workspace?

A similar question was asked previously but the answer was too concise, and I wonder if someone could be so kind to give a hint using this sample Django Slack app code? Cheers.

Upvotes: 0

Views: 576

Answers (2)

Nahua Kang
Nahua Kang

Reputation: 406

After reading Suyash's explanations, I carefully examined the sample code provided by bolt-python for Django again and realized:

  1. bolt-python takes care of OAuth flow and we only need to specify the correct URLs (for redirect URLs as well as event subscriptions, interactivity, etc.) in the app panel.
  2. What one could do is perform all these desired installation actions inside DjangoInstallationStore.save method because that's when an installation is finally completed. In my case I created a SlackManager with a specific method which I could use (via local import) to perform post-installation actions.

Upvotes: 0

Suyash Gaur
Suyash Gaur

Reputation: 2861

On the 'OAuth & Permissions' page of your app, there is a section for 'Redirect URLs'

What it does is that when user installs the app, it redirects to the user implemented endpoint.

OAuth Flow

  1. when the user installs the app using 'Add To Slack' button or using https://slack.com/oauth/authorize


    Details here : https://api.slack.com/legacy/oauth#authenticating-users-with-oauth__the-oauth-flow__step-1---sending-users-to-authorize-andor-install

  2. The generated code is redirected to your specified endpoint - "Redirect URL" https://api.slack.com/legacy/oauth#authenticating-users-with-oauth__the-oauth-flow__step-2---users-are-redirected-to-your-server-with-a-verification-code

  3. Solution: Now you need to implement this endpoint to generate access token https://api.slack.com/legacy/oauth#authenticating-users-with-oauth__the-oauth-flow__step-3---exchanging-a-verification-code-for-an-access-token

  • After generating token, you can write your code to :
    1. Create a channel
    2. Send user an initial message

Upvotes: 2

Related Questions