Slack

Configure a Slack channel and webhook to receive procurement opportunity notifications as they are collated by POB.

Last Updated: 27 May 2022 • Page Author: Jillur Quddus

Overview

Slack is an instant messaging platform designed primarily for businesses and the workplace. This page provides instructions on how to create a Slack channel and configure a Slack webhook in order to receive procurement opportunity notifications from POB.

For further information regarding Slack, including how to create a new workspace and how to install the Slack desktop app, please visit https://slack.com.

Setup

Workspace

Please either create a new Slack workspace or ensure that you are a member of an existing Slack workspace with permission to create and configure Slack apps.

Channel

After signing in to your chosen Slack workspace, either create a new Slack channel or select an existing one in order to receive procurement opportunity notifications from POB. For the purposes of these instructions, we shall assume that your chosen Slack channel is named pob.

App

In order for Slack to receive procurement opportunity notifications from POB, we must first create a new Slack app. Please follow the instructions below assuming that you have the permission to create and configure Slack apps in your chosen workspace (if you do not have permission, then please contact your chosen Slack workspace owner to create the new app for you):

  1. Select "Create New App".

  2. Select "From scratch" in the resultant popup dialog.

  3. Under "App Name", enter a name for your app (for the purposes of these instructions, we shall call the app pob) and then select your chosen Slack workspace in which the new app will be installed.

  4. Select "Create App".

Webhook

Next we must activate incoming webhooks for your newly created app. Please follow the instructions below assuming that you have the permission to configure Slack apps in your chosen workspace:

  1. Select your newly created app (for example pob).

  2. Select "Incoming Webhooks" from the menu.

  3. Turn on the option named "Activate Incoming Webhooks".

  4. Once enabled, scroll down and press the "Add New Webhook to Workspace" button.

  5. Select your chosen Slack channel (for example pob) that procurement opportunity notifications will be sent to, and then select "Allow".

  6. Scroll down to "Webhook URLs for your Workspace" and make a note of the newly created Webhook URL. This will be similar to https://hooks.slack.com/services/TSW123/B123/abc.

Integration

The final step is to update POB's Application Configuration with the name of your chosen Slack channel and the newly created Webhook URL. To do this, create the relevant secrets in your chosen secrets management service (for example HashiCorp Vault, AWS Secrets Manager or Azure Key Vault). Then open src/main/resources/application.yml in the pob-configuration Maven module in your preferred text editor or IDE, enable the native Slack publisher and finally enter placeholder variables corresponding to the name of your secrets, as follows:

publishers:
    - id: slack
      enabled: true
      publisherClass: ai.hyperlearning.pob.data.publishers.slack.SlackPublisher
      properties:
        channel: ${slack-channel}
        webhook: ${slack-webhook}

Do NOT enter the Webhook URL directly in application.yml as plaintext as this could expose your Slack workspace and channel to unwanted or malicious communications.

Deployment

You are now ready to deploy POB to your chosen target environment (for example a self-managed environment, or to the Amazon Web Services (AWS) or Microsoft Azure cloud computing platforms respectively). Once successfully deployed, your chosen Slack channel will now automatically receive procurement opportunity notifications from POB as illustrated in the following screenshot:

Last updated