Creating Custom Unleash Slack Bots
  • 10 Apr 2025
  • 5 Minutes to read
  • Contributors
  • Dark
    Light

Creating Custom Unleash Slack Bots

  • Dark
    Light

Article summary

To customize your own Unleash Slack bot you will need to create a Slack App using a manifest.

  1. Navigate to https://api.slack.com/apps and click on Create New App.

  1. Select the From a Manifest option and select the workspace you want to develop your app in.

  1. Prepare the following JSON based on the template below:

    1. Edit display_information section with your preference.

    2. Edit bot_user.display_name to control the name of the bot.

    3. Select the shortcuts you want to expose (remove unwanted).

    4. Edit slash_commands:

      1. Remove unwanted or customize the command trigger.

      2. Replace in all commands the URL with the URL you got from your Unleash representative.

    5. With the URL you got from your Unleash representative:

      1. Edit settings.event_subscriptions.request_url .

      2. Edit settings.interactivity.request_url .

{
  "display_information": {
      "name": "Unleash",
      "description": "Search across your company's apps, share resources with your teammates",
      "background_color": "#000000",
      "long_description": "Unleash is the Google for your organization, offering a unified search engine that makes it easy to access the data stored across various locations, such as your cloud and desktop. With its user-friendly and efficient search capabilities, Unleash eliminates the need for time wasting searches with quick results to your questions and search queries.\\nConnect the Unleash App for Slack to get the powerful Unleash Search Engine anywhere and get full access to the Unleash Answers feature in Slack!\\n• Use the command /invite @Unleash to invite the Answers Bot to any channel and get instant answers from across your knowledge bases when you ask a question in Slack.\\n• Transform Slack questions into Wiki Cards, facilitating quick access to answers for future inquiries and fostering the growth of your company's knowledge base within Unleash.\\n• From any channel, type /u followed by your query to swiftly find a specific resource and share search results within your chats or channels, eliminating the hassle of switching between applications.\\nSo while your work is stored across multiple apps and you chat with your colleagues in Slack, you can now increase your productivity and efficiency by searching and sharing resources without losing your place."
  },
  "features": {
      "app_home": {
          "home_tab_enabled": true,
          "messages_tab_enabled": true,
          "messages_tab_read_only_enabled": false
      },
      "bot_user": {
          "display_name": "Unleash",
          "always_online": true
      },
      "shortcuts": [
          {
              "name": "Create Card",
              "type": "message",
              "callback_id": "create_card",
              "description": "Create a new Wiki card"
          },
          {
              "name": "Search",
              "type": "message",
              "callback_id": "search",
              "description": "Perform a search query"
          },
          {
              "name": "Report Issue",
              "type": "message",
              "callback_id": "report_issue",
              "description": "Report an issue"
          },
          {
              "name": "Answer",
              "type": "message",
              "callback_id": "answer_message",
              "description": "Answer the selected message"
          }
      ],
      "slash_commands": [
          {
              "command": "/u",
              "url": "https://<bot_url>/slack/events",
              "description": "Search within Unleash",
              "should_escape": false
          },
          {
              "command": "/um",
              "url": "https://<bot_url>/slack/events",
              "description": "Search within Unleash on mobile",
              "should_escape": false
          },
          {
              "command": "/go",
              "url": "https://<bot_url>/slack/events",
              "description": "Share an Unleash GoLink",
              "should_escape": false
          },
          {
              "command": "/ask",
              "url": "https://<bot_url>/slack/events",
              "description": "Ask a question on Unleash",
              "should_escape": false
          },
          {
              "command": "/find",
              "url": "https://<bot_url>/slack/events",
              "description": "Search within Unleash",
              "should_escape": false
          },
          {
              "command": "/recap",
              "url": "https://<bot_url>/slack/events",
              "description": "Summarize With Unleash",
              "should_escape": false
          }
      ]
  },
  "oauth_config": {
      "redirect_urls": [            
        "https://api.app.unleash.so/slack/install/redirect"
      ],
      "scopes": {
          "user": [
              "email",
              "openid",
              "profile"
          ],
          "bot": [
              "chat:write",
              "channels:history",
              "channels:read",
              "commands",
              "files:read",
              "groups:history",
              "groups:read",
              "im:history",
              "users:read",
              "users:read.email",
              "reactions:write",
              "reactions:read"
          ]
      }
  },
  "settings": {
      "event_subscriptions": {
          "request_url": "https://<bot_url>/slack/events",
          "bot_events": [
              "app_home_opened",
              "member_joined_channel",
              "member_left_channel",
              "channel_rename",
              "group_rename",
              "channel_left",
              "group_left",
              "channel_deleted",
              "group_deleted",
              "message.channels",
              "message.groups",
              "reaction_added",
              "message.im"
          ]
      },
      "interactivity": {
          "is_enabled": true,
          "request_url": "https://<bot_url>/slack/events"
      },
      "org_deploy_enabled": true,
      "socket_mode_enabled": false,
      "token_rotation_enabled": false
  }
}
  1. Paste your App JSON to create the app.

  1. Confirm and click Create.

  1. Generate App Level Token by clicking Generate Token and Scopes.

  1. Share the following with your Unleash representative:

    1. Team ID

    2. Your updated JSON manifest file from step #3

    3. Keys from the Basic Information Screen:

      1. Signing Secret

      2. Client Id

      3. Client Secret

      4. App Token


Was this article helpful?