# Slack Integration

# Overview

GROWI provides two methods of Slack integration: 1. GROWI bots and 2. Incoming Webhook.

# 1. GROWI bots

GROWI bots are Slack Apps developed by the GROWI development team. By installing it in Slack workspaces, you can not only receive notifications from GROWI, but also execute full-text searches from chats, summarize conversations, and use various other functions. There are three types of GROWI bots available.

# Official bot 【Recommended】

The official bot is a free GROWI bot provided and operated by the GROWI development team. It is available at the slack app directory (opens new window) and anyone can use this service.

【Diagram】

diagram-for-official-bot

# Custom bot without proxy

The custom bot without proxy allows you to create a Slack bot by yourself and link it to your GROWI. So that you can use some of GROWI's features from Slack.

【Diagram】

diagram-for-custom-bot-without-proxy

# Custom bot with proxy

The custom bot with proxy allows you to create a Slack bot by yourself. Set up and configure a proxy server and use some of GROWI's features in the same way as the official bot.

【Diagram】

diagram-for-custom-bot-with-proxy

# 2. Incoming Webhook

Incoming Webhook integration was a recommended feature up to the v4.2 series. But from the v4.3 series onwards, GROWI bot integration is recommended.

Incoming Webhook is another way to do Slack integration. Unlike GROWI bots, it is focused on notifications to Slack. Although it doesn't have many features like GROWI's bots such as full-text search in chat, it is easier to set up. For more information, please click link below:

# How to set up various types of bots

# Official bot

Click here to see how to set it up.

# Custom bot without proxy

Click here to see how to set it up.

# Custom bot with proxy

Click here to see how to set it up.

# Icon

Feel free to use the following image for the custom bot.

growikun-icon-2000_2000

# Incoming Webhook settings

Set up a Slack workspace for notifications.

  1. Access the security settings page (/admin/notification) on the Management page.
  2. Input the required information for the Slack Incoming Webhook setting, and click the Update button.

# Check if the settings are reflected

After the above settings are done, a Slack notification form will be added to the edit mode screen of the page.

slack1

When a page is saved or updated, a notification will be sent to the Slack channel you inputted.
This notification function is called User Trigger Notification in GROWI.

For details on how to configure User Trigger Notification, please refer here.

# Error logs for connectivity test

  1. Channel_not_found
    If you haven't invited GROWI-Bot to the Slack channel or inputted the wrong channel. The Channel_not_found error will be displayed in the logs. Please make sure that GROWI-Bot has been invited to the Slack channel, and that the channel name has been inputted correctly.

    slack-bot-test-channel-not-found
  2. Proxy URL is not registered
    The Proxy URL hasn't been set yet, please input the Proxy URL.

    slack-bot-errors-proxy-url-is-not-registered
  3. Request failed with status code 400
    You may have clicked the Test button in the Slack workspace without registering information to the Proxy with /growi register. Please run /growi register in the Slack workspace and register the necessary information to the Proxy.

    slack-bot-errors-400
  4. Request failed with status code 500
    You may have already registered an Access Token and reissued the Access Token to run the test. Check the connected GROWI to check which GROWI App(s) you are currently connected to. Once you have confirmed this, click Unregister the Slack workspace from the GROWI App(s), and then unregister the GROWI App(s). And if you are able to unregister, please repeat the registration.

    slack-bot-errors-500
  5. The scopes are not appropriate
    You may not set correct Scopes when you create the Slack App. Please check the Scopes from OAuth & Permissions of the Slack App you created. The required Scopes are team:read, chat:write, and command.

    slack-bot-errors-scopes-not-appropriate
  6. Cannot read property 'includes' of undefined
    You may not registered the information of Signing Secret and Bot User OAuth Token. Please register the correct values.

    slack-bot-errors-includes-of-undefined
  7. invalid_auth
    You may registered incorrect Signing Secret or Bot User OAuth Token. Please check and register the correct values.

    slack-bot-errors-invalid-auth

# What you can do with a Slack bot?

See the Users Guide for the features of the Slack bot.