Adding Twilio WhatsApp API as a communication channel


An administrator can integrate Twilio WhatsApp API with BMC HelixGPTData URI image to make the BMC Helix application support easier for users. This integration helps reduce response times and lets users get help without switching applications.
It supports secure two-way messaging between WhatsApp and BMC HelixGPT by using a webhook, so users can communicate with their BMC Helix application through WhatsApp.
Watch the following video (1:56) showing how to add a communication channel to connect WhatsApp with BMC HelixGPT by using Twilio:

https://youtu.be/Gb2s_Yp9g20 

Information
Scenario

Apex Global, a large retail company, faces high call volumes and slow customer support.
Jonnie, the IT Administrator, adds a channel to connect WhatsApp with BMC HelixGPT by using the custom webhook. Customers like Laura can ask about their orders on WhatsApp and get instant automated replies. This reduces the call center workload, speeds up responses, and improves customer satisfaction.

Supported content

  • Knowledge services: These are the knowledge sources like BMC Helix Knowledge Management by ComAround and BMC Helix ITSM: Knowledge ManagementData URI image.
  • Service requests
  • Live chat conversations

Unsupported content

  • Attachments
  • Service lookup questions
  • Images
  • Voice recordings
  • Thumbs up/down feedback

Before you begin

  • Make sure you have an active Twilio WhatsApp API account with a verified phone number.
  • Make sure you create and configure the Twilio Messaging Service to send and receive WhatsApp messages.

Process overview

TaskWhere to perform an actionAction
1Mid TierAdd Twilio WhatsApp API account verified mobile number in Mid Tier
2HelixGPT Agent StudioAdd Twilio WhatsApp API as a custom webhook channel
3TwilioConfigure the webhook

Data URI imageTask 1: To add Twilio WhatsApp API account verified mobile number in Mid Tier

Perform the following steps in Mid TierData URI image:

  1. Click the Applications widget and navigate to Administrator console > Application Administration console.
  2. Click the Custom Configuration tab to see the Application Settings list.
  3. Select Foundation > People > People, and then click Open
  4. On the People form, from Login/Access Details > Login ID and Password, click New search, enter the admin user's Login ID or Login Name and click Search to find the user record.
    loginaccess details tab_midtier.pngData URI image

     
  5. Select the person and update the Twilio WhatsApp API account verified mobile number to the user record at the following locations:
    • General > Contact Information > Business+ > Phone Number.

      Generaltab_midtier.pngData URI image

       
    • More Details > Additional Contact Information > Mobile Phone+ > Phone Number.

      moredetails tab_midtier.pngData URI image

       
  6. Click Save.

Data URI imageTask 2: To add Twilio WhatsApp API as a custom webhook channel

Perform the following steps in HelixGPT Agent StudioData URI image:

  1. 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.
    Custom webhook select.pngData 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 a messaging service in Twilio.
    Custom Bot IDAccount SID (Security Identifier) value. Use the Account SID from the Twilio account info page.
    Custom App PasswordAuth Token value. Use the Auth Token from the Twilio account info page.
    Configuration*

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

    Click here to view the configuration value

     ​{

    "authType": "basic",
    "contentType": "form-urlencoded",
    "staticServiceUrl": "https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json",
    "appendConversationPathToEndpoint": false,
    "messageTypeAlias": "text",
    "isGroup": false,
    "enableCache": false,
    "atMentionStartTag": "",
    "atMentionEndTag": ""
    }​

    Data URI image

     

    Incoming Payload Mapping*

    Imports channel webhook data into BMC HelixGPTData URI image.

    Click here to view the incoming payload mapping value

     ​
    {
    "text": "Body",
    "id": "SmsSid",

    "aadObjectId": "From",
    "fromId": "From",
    "recipientId": "To",
    "platform": "twilio"
    }

    Data URI image

     

    Outgoing OAuth Payload Mapping*

    Generates access token requests.

    Click here to view the outgoing OAuth payload mapping value

     ​{
    "clientKey": "AccountSid",
    "clientSecretKey": "authToken"
    }​

    Data URI image

     

    Outgoing Payload Mapping*

    Structures the message sent to the channel.

    Click here to view the outgoing payload mapping value

     ​{
    "recipientId": "From",
    "fromId": "To",
    "text": "Body"
    }​

    Data URI image

     

    User Identity Mapping*

    Identifies and resolves the user for personalized conversations.

    Click here to view the user identity mapping value

     ​{
      "channelId": "chatClient.channel",
      "platform": "chatClient.platform",
      "serviceUrl": "serviceUrl",
      "fromId": "from.id",
      "fromName": "from.name",
      "aadObjectId": "from.aadObjectId",
      "conversationId": "conversation.id",
      "conversationType": "conversation.conversationType",
      "tenantId": "conversation.tenantId",
      "recipientId": "recipient.id",
      "recipientName": "recipient.name",
      "group": "conversation.group",
      "isGroup": "conversation.isGroup",
      "locale": "entities[0].locale",
    "conversationId": "chatId",
    "aadObjectId": "chatUserId"
    }​

    Data URI image

     

  7. Click Save.

Data URI imageTask 3: To configure the webhook

From your Twilio account, perform the following steps:

  1. Navigate to Messaging Service > Integration Settings and select the Send a webhook option.
  2. Enter the webhook URL as the Endpoint URL.
  3. Append the channel-specific path to the base URL based on your deployment:
    • For HTTPS (secured): https:///wsapi/scheme/https/server
    • For HTTP (not secured): https:///wsapi/scheme/http/server
  4. Copy the Webhook URL of your channel from HelixGPT Agent StudioData URI image and paste it in the <Host URL>.
    Requested URL format:
    https://<your-domain>/wsapi/scheme/https/server/<Host URL>

    Data URI imageExample:

    twilio url format_1.pngData URI image

  5. Click Save.

Data URI image

Related topic

Adding Microsoft Teams as a communication channel

 

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

BMC HelixGPT 26.1