Search code examples
pythondjangoslackslack-api

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:

  • Create a channel
  • Send user an initial message

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.


Solution

  • 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.