Links

Slack Bot Destination

Configuring Panther's Slack Bot as an alert destination in your Panther Console

Overview

Destinations are integrations that receive alerts from rules, policies, system health notifications, and rule errors. Panther supports configuring a Panther Slack Bot as the destination where you will receive alerts.
Panther's Slack Bot is a Slack application that can send alerts to one or more Slack Channels.
Please note the following:
  • To interact with the alerts, the Slack user email address must match the email address of the user profile defined in Panther.
    • If your email addresses in Slack do not match your Panther Console email addresses, please contact Panther's support team for assistance.

Managing alerts in Slack

Interactions with the Alert within Slack, such as updating the status, setting the assignee, and sending Boomerang messages, will sync back to the Panther Console. In addition, the resolution comment when marking an alert as "Resolved" will sync to Panther's Alert Activity History. Note that this is a one-way sync; changes made to these alerts in the Panther Console will not sync back to Slack.
For more information on managing alerts in Slack, see Managing Alerts in Slack.

Slack Bot setup video walkthrough

Video walkthrough for setting up Panther's Slack Bot alert destination integration.

How to set up Slack Bot alert destinations in Panther

Panther users should have the permissions View Alerts and Manage Alerts to assign alerts and change alert statuses.

Step 1: Creating your first Slack Bot alert destination in Panther

Creating your first Slack Bot alert destination requires the creation of a new Slack Application. Once the initial destination has been created, additional Slack Bot alert destinations will automatically reuse the same Slack Application and its credentials.
  1. 1.
    Log in to the Panther Console.
  2. 2.
    In the left sidebar, click Configure > Alert Destinations.
  3. 3.
    Click +Add your first Destination.
    • If you have already created Destinations, click Create New in the upper right side of the page to add a new Destination.
  4. 4.
    Click Slack Bot.
  5. 5.
    Click Copy to copy the Slack Manifest to your clipboard. You will need this in the next steps.
    In the Panther Console while creating the Slack Bot application, there is a page that contains a text box. In the text box, there is a manifest. There is a "Copy" button in the upper right side of the manifest.
Make sure to keep this browser tab open while you begin the next steps.

Step 2: Configuring the Slack Bot app in Slack

  1. 1.
    In a separate browser tab, log in to Slack using an administrator account.
  2. 2.
    In Slack - Your Apps, click Create New App.
  3. 3.
    In the "Create an app" dialog, select the option From an app manifest.
    The "Create an app" dialog in Slack displays options for "from scratch" and "from an app manifest."
  4. 4.
    In the "Pick a workspace to develop your app" dialog, choose the Slack Workspace to install the Slack Bot into.
    The image shows a popup dialog from Slack named "Pick a workspace to develop your app in" It contains a dropdown field.
    1. 1.
      If your Slack plan is Enterprise Grid, select a Workspace in the Grid that you wish to have the Slack Bot available. The ability to install into other Workspaces in the Grid will come in a later step.
  5. 5.
    Click Next.
  6. 6.
    In the "Enter the app manifest" dialog, click YAML. Paste in the Slack Manifest from the previous steps (replacing the pre-populated Demo App example content).
    The "enter app manifest" dialog in Slack displays YAML code.
  7. 7.
    Click Next.
  8. 8.
    In the "Review summary & create your app" dialog, click Create.
    The dialog is labeled "Review summary and create your app." There is a green "Create" button at the bottom.
  9. 9.
    If you are logged in as a Slack administrator, skip to Step 3: Installing the Slack Bot. Otherwise, continue below.
  10. 10.
    On the Basic Information page, click Request to Install.
    In Slack's Basic Information page, there is a green button labeled "Request to install."
    • In the "Request to install Panther" dialog, add an optional message for your Slack administrator to provide context, then click Submit Request.
    • The Basic Information page should now display Request Submitted under the "Install your app" section.
  11. 11.
    Ask your Slack administrator to approve the install request, but do not install it yet.
    • Once approved, the Request Submitted button will update to Install to Workspace.

Step 3: Installing Slack Bot

If your Slack plan is Enterprise Grid, please see the Enterprise Grid tab below. For all other Slack plans, please see the Non-Enterprise Slack tab below.
Non-Enterprise Slack
Enterprise Grid

Installing the Slack Bot to your Workspace

  1. 1.
    On the Basic Information page in Slack, click Install to Workspace.
    The Basic Information page in Slack shows a button labeled "Install to Workspace."
    • You will be redirected to the Slack OAuth Authorization page.
      The authorization page in Slack shows that Panther is requesting authorization to the Slack workspace.
  2. 2.
    Click Allow to authorize access to your new app.
    • You will be redirected back to the Basic Information page in Slack.

Installing the Slack Bot on Enterprise Grid

  1. 1.
    On the Basic information page in Slack, expand Manage Distribution and click Distribute App.
    In Slack, the Basic Information link in the left sidebar is highlighted. At the bottom of the page, there is a button labeled Distribute App.
  2. 2.
    Click Opt into Org Level Apps to enable Org-Wide Installation.
    The page in Slack is labeled "Share your app with other WorkSpaces on your Grid." At the bottom there is a button labeled "Opt into org-wide apps."
  3. 3.
    Click Opt-in.
    In the left sidebar in Slack, "Org level apps" is highlighted. There is a button labeled "Opt in" in the center of the screen.
  4. 4.
    Click the checkbox, then click Yes, Opt-in.
    A pop-over dialog is labeled "Opt in to org apps." There is a checkbox next to a statement that says "I understand that opting out of this feature cannot be easily done. Opting out will require submitting a request into Slack Help Center." Below that, there is a button labeled "Yes, Opt-in."
  5. 5.
    Navigate back to Settings > Install App, then click Install to Organization.
    In the left sidebar of Slack, "Install App" is selected. There is a button in the center of the page labeled "Install to organization."
  6. 6.
    Click Allow to authorize access to your new app.
    The page says "Panther is requesting permission to access the Slack organization." At the bottom of the page, there is a button labeled "Allow."
  7. 7.
    In Slack, you will receive a message indicating the installation was successful. Click the linked text add it to some of your workspaces.
    Slack Bot sent a message in Slack to confirm that the installation was successful.
  8. 8.
    Select the Workspaces you wish to have the Slack Bot installed to. Optionally, you can also select whether you want to automatically add it to future Workspaces:
    In Slack, there is a list of workspaces. You can click on the workspaces to select them as locations where you will use the Slack Bot.
  9. 9.
    Click Next and follow the series of on-screen prompts.
Once the installation to the Workspace(s) is complete, you will receive a confirmation message in Slack:
In Slack, Slackbot sends a message to confirm that it has been installed in your workspace.
When you are finished, proceed to Step 4 - Configuring Panther Slack App.

Step 4: Configuring Panther Slack App

  1. 1.
    Download the Panther App Icon image to your computer.
  2. 2.
    Navigate back to Settings > Basic Information in your Slack App.
  3. 3.
    Scroll down to the "Display Information" section and click +Add App Icon:
    The "Display Information" section in Slack shows you an option to add an app icon.
    • Select the Panther App Icon you downloaded in the prior step.
  4. 4.
    Scroll down to App Credentials section of the Basic Information page. Keep this page open, as you will need this information in the next steps when you finish the configuration in Panther:
    The App Credentials page in Slack displays the App ID, Client ID, date of app creation, client secret, and signing secret.

Step 5: Continuing configuration in Panther

  1. 1.
    Open the browser tab where you began configuring the Slack Bot alert destination in the Panther Console.
    • If that tab was closed, or if you are not a Slack admin and you submitted a request to install the app, you will need to follow the previous steps to get back to the Slack Bot destination setup process in the Panther Console. You will also need to update the manifest of your Slack Bot app to match the latest version from the Panther Console.
  2. 2.
    From the "Create your Slack Bot app" page in the Panther Console where your manifest is displayed, click Continue.
  3. 3.
    Fill out the form to configure the Destination:
    • Display Name: Enter a descriptive name for the Alert Destination.
      • Note: This is the display name of the Alert Destination in the Panther Console, not the name of the Bot in Slack.
    • Channel ID or Channel Name: Enter the Slack Channel Name (e.g. #hello-world) or Slack Channel ID where you want to receive your alerts.
      • Note: If using Slack Enterprise Grid, you must provide the Slack Channel ID. To find the Channel ID, click on the Channel Name in Slack, then scroll to the bottom of the modal:
        In Slack, after you click the channel name, a pop-over dialog appears. At the bottom of that dialog, you will see the Channel ID.
    • Client ID: Enter the Client ID value from the App Credentials section of your Slack Bot app.
    • Client Secret: Enter the Client Secret value from the App Credentials section of your Slack Bot app.
    • Signing Secret: Enter the Signing Secret value from the App Credentials section of your Slack Bot app.
    • Bot OAuth Token: Enter the Bot User OAuth Token value from the OAuth & Permissions section of your Slack Bot app:
      In the left sidebar in Slack, "OAuth and Permissions" is highlighted. The page displays the value for the Bot User OAuth Token.
    • Severity: Select the severity level of alerts to send to this Destination.
    • Alert Types: Select the alert types to send to this Destination.
    • Log Types: By default, we will send alerts from all log types. Specify log types here if you want to only send alerts from specific log types.
    • Timezone: Select the timezone to use for the messages sent to this Destination.
Keep this browser tab open for the next steps.

Step 6: Invite the Panther Slack Bot to your Slack channel

  1. 1.
    Open your Slack application and navigate to the channel you configured to use with Panther.
  2. 2.
    In the Slack channel, type and send the following message: /invite @Panther
Once the Panther Slack Bot has been invited to your Slack channel, you will see a confirmation message in Slack and can return to the Panther Console to finalize setup.
Panther has been invited to the Slack channel. Slackbot sent a message in the channel that says "Ok! I invited @Panther to this channel."

Step 7: Finish setup in the Panther Console

  1. 1.
    Navigate back to the Panther Console.
  2. 2.
    On the "Create your Slack Bot Application" page, click Add Destination.
    The "Create your Slack Bot Application" page in Panther shows a form to fill out to configure the app. At the bottom, there is a button labeled "Add Destination."
  3. 3.
    On the final page, optionally click Send Welcome Message to test the integration. This will send a message to the Slack channel you've elected to receive alerts.
  4. 4.
    When you are finished, click Finish Setup.
For information on how to view or manage alerts sent to Slack by your new Slack Bot Alert Destination, see Triaging Alerts - Slack Bot.

Step 8 (Optional): Creating additional Slack Bot destinations

It's recommended to avoid a Slack Bot alert destination configuration that sends messages for any given alert to more than one channel. For more information, see Managing Alerts in Slack.
To create an additional Slack Bot alert destination, you don't need to create a new application in your Slack workspace.
  1. 1.
    In the left sidebar, click Configure > Alert Destinations.
  2. 2.
    Click Create New in the upper right side of the page to add a new Destination.
  3. 3.
    Click Slack Bot.
  4. 4.
    Complete the form, indicating a Display Name and Channel ID or Channel Name.
    • The Client ID, Client Secret, Signing Secret, and Bot OAuth Token are pre-filled based on your existing Slack Bot alert destination.
    • Remember to invite the Panther Bot to the specified channel using /invite @Panther.
      The Slack Bot destination configuration form in the Panther Console shows empty fields "Display Name" and "Channel ID or Channel Name." Other fields in the form, like Client ID, Client Secret, Signing Secret, and Bot OAuth Token, are greyed out. There is a note near the top of the form that says, "The credentials from your existing Slack Bot Alert Destination have been pre-filled for your convenience. Reminder: Invite the @Panther bot to the specified Slack channel if you have not already."
  5. 5.
    Click Add Destination.

Additional Information on Destinations

For more information on alert routing order, modifying or deleting destinations, and workflow automation, please see the Panther docs: Destinations.