Adding Slack as a communication channel


 

An administrator can add Slack as a communication channel in BMC HelixGPT to make it easier for users to get help without switching applications. This integration reduces response times and lets users send and receive messages directly in Slack.

Information

 

Scenario

Apex Global, a large retail company, uses Slack as its primary collaboration platform. Employees often face technical issues such as application access problems or password errors. To resolve these issues, they usually need to open a support portal and create a ticket, which slows down the process and increases the workload for the IT support team.

Jonnie, the IT Administrator, integrates BMC HelixGPT with Slack​​​​​​ so that employees can interact with BMC HelixGPT directly from Slack. Now, employees like Laura can simply message BMC HelixGPT on Slack to ask questions such as how to reset a password or request access to an application.

BMC HelixGPTinstantly provides answers, troubleshooting steps, or links to request services. This helps employees resolve issues faster, reduces the number of support tickets, and improves overall productivity.

However, the Slack channel has the following limitations:

  • Supports only plain text input and output.
  • Cards are not supported. The agent cannot display rich layouts that combine text, images, or structured elements.
  • Does not support interactive UI actions, such as buttons, visual multi‑select lists, or calendar selections.
  • Interactions that require complex user selections, such as navigating detailed service request catalogs, do not display fully in plain text.
  • Feedback actions, such as thumbs up or thumbs down, are not supported.
  • Does not support image upload, image output, and image analysis.

Process overview

To add Slack as a communication channel in BMC HelixGPT, administrators must perform the following tasks:

Process overview

Before you begin

You must have an active Slack account with permission to create and install apps in a Slack workspace.

To create an application and set the application scope in Slack

  1. Create a Slack workspace and an application.
    1. Configure a bot user for your Slack application as specified in Creating a bot user.

  2. Perform the following steps to set the OAuth permissions:

    1. Navigate to the application that you created in Slack.
    2. Select OAuth & Permissions.
    3. Select Scopes > Bot Token Scopes and select the following OAuth scopes:
      • channels:history
      • chat:write
      • files:read
      • files:write
      • users:read
      • im:history

    The following image shows the Bot Token Scopes that you must select:
    Bot token scopes

     

  3. On the OAuth & Permissions page, in the OAuth Tokens & Redirect URL section, click Install App to Workspace
  4. Copy the Slack application credentials.
    1. On the OAuth & Permissions page, in the Tokens for Your Workspace section, copy the Bot User OAuth Access Token.
    2. In the left pane, under the Settings menu, select Basic Information.
    3. Copy the following credentials:

      • App ID
      • Verification Token

      The following image shows the Slack application credentials that you must copy:

      Application credentials

To add Slack as a communication channel in HelixGPT Agent Studio

Perform the following steps in HelixGPT Agent Studio:

  1. From the Skills tab, select an application from the Application list.
  2. Select an appropriate skill for the application you select.
  3. Click the Channels tab.
  4. Click Add Channel.
    The Add Channel dialog box is displayed.
  5. Select Custom Webhook from the Channel list and click Add.​Data URI image
  6. On the Add Channel dialog box, enter the values for the following fields:

    Important: Copy the values for the fields marked with an asterisk (*) exactly as shown in the code snippets in their descriptions.

    FieldDescription
    ChannelCustom channel name
    NameName of the custom channel
    DescriptionCustom channel description
    Webhook URLThis field is populated automatically. It is the Request URL that you provide when configuring the webhook in Slack.
    Custom Bot IDThe App ID that you copied earlier in step 4c.
    Custom App PasswordEnter the Verification Token that you copied earlier in step 4c.
    Configuration*

    Defines core logic, OAuth config, stream behavior, and alias values. Copy the value as provided here.

    Click here to view the configuration value

    {
      "authorizationUrl": "https://slack.com/api/oauth.v2.access",
      "staticServiceUrl": "https://slack.com/api/chat.postMessage",
      "verifyAccountChatIdMapping": "conversationId",
      "isGroup": false,
      "enableCache": false,
      "authType": "customAppPassword",
      "contentType": "json",
      "appendConversationPathToEndpoint": false,
      "streamChunkInitialThreshold": 10,
      "streamChunkFirstMultiplier": 5,
      "streamChunkSubsequentMultiplier": 3,
      "messageTypeAlias": "app_mention",
      "typingTypeAlias": "",
      "streamEntityTypeAlias": "streamInfo",
      "streamTypeStreamingAlias": "streaming",
      "streamTypeInfoAlias": "informative",
      "streamTypeFinalAlias": "final",
      "atMentionStartTag": "<@",
      "atMentionEndTag": ">"
    }

    Data URI image

     

    Incoming Payload Mapping*

    Imports channel webhook data into BMC HelixGPTData URI image. Copy the value as provided here.

    Click here to view the incoming payload mapping value

    {
      "text": "event.text",
      "type": "event.type",
      "timestamp": "event.ts",
      "id": "event_id",
      "conversationId": "event.channel",
      "channelId": "event.channel",
      "fromId": "event.user",
      "recipientId": "authorizations[0].user_id",
      "platform": "team_id",
      "fromName": "event.user",
      "aadObjectId": "event.user"
    }

    Data URI image

     

    Outgoing OAuth Payload Mapping*

    Generates access token requests. Copy the value as provided here.

    Click here to view the outgoing OAuth payload mapping value

    {}

    Data URI image

     

    Outgoing Payload Mapping*

    Structures the message sent to the channel. Copy the value as provided here.

    Click here to view the outgoing payload mapping value

    {
      "channelId": "channel",
      "text": "text"
    }

    Data URI image

     

    User Identity Mapping*

    Identifies and resolves the user for personalized conversations. Copy the value as provided here.

    Click here to view the user identity mapping value

    {
      "platform": "platform",
      "channelId": "channelId",
      "conversationId": "conversationId",
      "fromId": "userId",
      "fromId": "chatUserId",
      "fromName": "userName",
      "recipientId": "recipientId",
      "aadObjectId": "aadObjectId"
    }

    Data URI image

     

  7. Click Save.

Data URI imageTo subscribe to the Slack events

Perform the following steps to subscribe to the Slack events. 

  1. Navigate to the application that you created in Slack.
  2. In the left pane, under the Features menu, select Event Subscriptions.

    Event subscriptions
     
  3. In the Enable Events section, select the Enable Events toggle button.
  4. In Request URL, enter the webhook URL that you got when you added Slack as a communication channel.
  5. Click Subscribe to bot events and add message.im.
  6. In Subscribe to events on behalf of users, ensure that you have not added any Workspace event.

The following image shows the bot event that you must subscribe:

Bot events

Result

The following image shows successful configuration of Slack to work with BMC HelixGPT.

Result1.png

Data URI image

Related topics

Adding Google Chat as a communication channel

Adding WhatsApp as a communication channel

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC HelixGPT 26.2