Adding Google Chat as a communication channel


Administrators can integrate Google Chat with BMC HelixGPT to enable users to interact with Helix application AI agents directly from Google Chat. By using Google Chat as a communication channel, users can ask questions or perform actions in Helix applications without switching to other interfaces. This capability makes BMC Helix available where users already collaborate.
Use this integration if your organization uses Google Chat for daily communication and wants to give users a simple way to interact with BMC Helix applications through AI.

Information
Scenario

An IT administrator at Apex Global integrates Google Chat with BMC HelixGPT.
During an ongoing conversation in Google Chat, a user asks a question:
"@HelixGPT how do I reset my corporate password?"
HelixGPT responds in the same chat space with step-by-step instructions and a link to the password reset process, as provided by Employee Navigator, the AI agent for BMC Helix Digital Workplace.
Later, the user needs visibility into their assigned incidents, and asks:
"@HelixGPT show the list of incidents assigned to me."
HelixGPT processes the request using the Service Collaborator AI agent for BMC Helix ITSM application, applies appropriate filters, retrieves the relevant record, and shows a list of incidents assigned to the user in the Google Chat space itself.

Limitations

The Google Chat integration has the following limitations:

  • Does not support attachments, image output, image analysis, and complex service catalogs; supports only plain text input and output.
  • Does not support adaptive cards. Google Chat 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.
  • Does not support feedback actions, such as thumbs up or thumbs down.

Before you begin

Make sure you have access to the Google Cloud Console with permission to create projects and credentials.

Process overview

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

Process overview

To create an application

  1. Log in to the Google Cloud Console.
  2. To create a project, select New project from the project selector located at the top header.
    Use the search option to look for your existing project.

    Project selector


    Create new project or search existing
     
  3. Enter a descriptive project name and click Create.

To set up Google Chat API

  1. Navigate to APIs & Services and select Library.

    APIs and services
     
  2. Search for Google Chat API and click Enable.

    Enable Google Chat API
     
  3. Select APIs & Services > Enabled APIs & Services > Google Chat API.

    1776419933900-586.png
  4. Click the Configuration tab.
  5. In the Application info section, enter an app name, such as HelixGPT Assistant, and specify an avatar URL.
    An avatar URL is a direct web link (URL) that points to an image file used for a profile picture.

    When providing the Avatar URL, make sure that it meets the following requirements:

    • Uses HTTPS.
    • Is publicly accessible, and no authentication is required.
    • Points to a square image (1:1 aspect ratio).
    • Has an image format PNG or JPG.
    • Has the recommended image size of 256 × 256 pixels.
    • In the Interactive features section, make sure that Enable interactive features is enabled.
    • In the Connection settings section, paste the webhook URL that you copied from HelixGPT Agent Studio into the HTTP Endpoint URL field.
      1776754776277-751.png
  6. To create OAuth credentials, go to APIs & Services > Credentials.
  7. Click Create credentials > Service account.
    Create credentials
  8. Follow the prompts to name the service account, and then click Done.
  9. Click Create credentials > OAuth client ID.
  10. Select the Application type, enter the name for OAuth client, and click Create.
    Use the Client ID and Client secret to generate the OAuth tokens.

Client ID page showing client ID and client secret

To generate OAuth tokens

  1. Open oauthplayground.
  2. Click the gear icon and select Use your own OAuth credentials.
  3. Enter your Client ID and Client Secret, and click Close.

    OAuth configuration
     
  4. In Step 1, enter the scope https://www.googleapis.com/auth/chat.messages.create
    or
    https://www.googleapis.com/auth/chat.spaces.readonly to list the spaces, and click Authorize APIs.

    Authorize the APIs
     
  5. Follow the instructions on the screen.
  6. In Step 2, click Exchange authorization code for tokens.
    Exchange authorization code for tokens
  7. Copy the Refresh token.
    Use it in the HelixGPT Configuration JSON and OAuth Payload Mapping while adding Google Chat as a communication channel.

To add Google Chat as a communication channel in HelixGPT Agent Studio

  1. From the Skills tab, select an application from the Application list.
  2. Select an appropriate skill for the application that you selected.
  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:

     

    FieldDescription
    ChannelGoogle Chat
    NameName of the Google Chat channel
    DescriptionGoogle Chat channel description
    Webhook URLThis field is populated automatically. It is the endpoint URL that you provide when configuring the webhook in a custom channel.
    Custom Bot IDProject ID for the project that you got after you created an application.
    Custom App PasswordEnter the verification token.
    Configuration*

    Defines core logic, OAuth config, stream behavior, and alias values.

    Click here to view the configuration value

    {
      "authorizationUrl": "https://oauth2.googleapis.com/token",
      "staticServiceUrl": "https://chat.googleapis.com/v1/{conversationId}/messages",
      "verifyAccountChatIdMapping": "conversationId",
      "isGroup": false,
      "enableCache": false,
      "authType": "bearer",
      "contentType": "json",
      "appendConversationPathToEndpoint": true,
      "streamChunkInitialThreshold": 10,
      "streamChunkFirstMultiplier": 5,
      "streamChunkSubsequentMultiplier": 3,
      "messageTypeAlias": "MESSAGE",
      "typingTypeAlias": "",
      "streamEntityTypeAlias": "",
      "streamTypeStreamingAlias": "",
      "streamTypeInfoAlias": "",
      "streamTypeFinalAlias": "",
      "atMentionStartTag": "<users/",
      "atMentionEndTag": ">",
      "refresh_token":"104#....",
      "grant_type":"refresh_token"
    }

    Use the refresh token that you copied in step 7 of generating OAuth tokens.

    Incoming Payload Mapping*

    Imports channel webhook data into BMC HelixGPT.

    Click here to view the configuration value

    {
      "text": "message.argumentText",
      "type": "type",
      "timestamp": "message.createTime",
      "id": "message.name",
      "conversationId": "message.space.name",
      "channelId": "space.name",
      "fromId": "user.name",
      "recipientId": "space.name",
      "platform": "space.spaceType",
      "fromName": "user.displayName",
      "aadObjectId": "user.name",
      "threadName": "thread.name"
    }

    Outgoing OAuth Payload Mapping*

    Generates access token requests.

    Click here to view the configuration value

    {
      "clientKey": "client_id",
      "clientSecretKey": "client_secret",
      "refresh_token": "refresh_token",
      "grant_type": "grant_type"
    }

    Use the client ID and client secret that you got in step 10 of setting up Google Chat API.  

    Outgoing Payload Mapping*

    Structures the message sent to the channel.

    Click here to view the configuration value

    {
      "text": "text",
      "threadName": "thread.name"
    }

    User Identity Mapping*

    Identifies and resolves the user for personalized conversations.

    Click here to view the configuration value

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

  7. Click Save.
     

Result

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

1776919753005-261.png

 

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

BMC HelixGPT 26.1