This documentation supports the 22.1 version of BMC Helix Digital Workplace Basic and BMC Helix Digital Workplace Advanced. Icons distinguish capabilities available only for the Advanced and External license levels. For more information, see License-types-and-features.

Sending broadcasts to individual users


Starting with version 22.1.04, end users can send broadcasts to other individual users via user IDs and email addresses. Broadcasts can be sent to individuals by invoking the BMC Helix Digital Workplace REST API for broadcasts. The API can be called by any script or process.

Information
Scenarios of sending a broadcast to individual users


Scenario 1: Three managers missed training about giving feedback due to vacations. Allen, an administrator, wants to notify these managers about this mandatory training titled Mandatory training - The Art of Giving Feedback. Allen creates a dedicated process with only the three managers' user IDs in BMC Helix Innovation Studio, adds this process to a service inBMC Helix Digital Workplace Catalog, publishes the service, and requests the service in BMC Helix Digital Workplace. Then, the three managers receive the broadcast.

Scenario 2: Apex Global has a tool that sends emails to individual users. Apex Global wants to send broadcasts and notifications via BMC Helix Virtual Agent to Microsoft Teams users to inform them about software usage, incident updates, vulnerability updates, procurement processes, and so on. A BMC Helix Virtual Agent webhook mechanism enables external applications such as BMC Helix Digital Workplace to send messages to BMC Helix Virtual Agent. Allen, the administrator, uses the Broadcast API to create broadcasts to specific end users. He uses the mechanism to push these broadcasts toBMC Helix Virtual Agent. The BMC Helix Virtual Agent chatbot then sends the broadcasts to the targeted Microsoft Teams users.

The following diagram shows the configuration required in four BMC products in scenario 1 (described above) for sending broadcasts to user IDs and emails:

Broadcast to individuals.jpg

Before you begin


Task 1: Configure OAuth 2.0 in BMC Helix SSO

  1. Create a non-native OAuth 2.0 client by adding a client name, enabling the client, and adding a redirect URI; see Configuring OAuth 2.0.

  2. When saving the client, copy and paste the client ID and client secret to any text editor.
  3. Edit the newly created client, and then copy and paste the certificate to any text editor.
  4. Edit a realm to which the administrator who sends broadcasts belongs to; see Adding and configuring realms.

  5. Add the preauthentication authentication type to the realm's existing authentication chain by specifying a user ID claim name and client certificate; see Configuring preauthentication.

  6. Save the changes.


Task 2: Create a Web API connection in BMC Helix Innovation Studio

After OAuth 2.0 is configured, create a Web API connection so that REST API web services of BMC Helix Digital Workplace can be exchanged with BMC Helix Innovation Studio in a codeless way:

  1. On the General tab, specify the parameters as follows:
    • Name—Title of the connection; for example, DWP
    • Host name—Host name of the BMC Helix Digital Workplace server; for example, https://localhost.bmc.com
    • Port name—Port number; for example, 8080
    • Protocol—HTTPS (recommended).
    • Authentication— RSSO.
  2. On the Authentication tab, specify the parameters as follows:
    • Login—Name of the broadcast sender. This user must have the MyIT Admin or MyIT Super Admin permission.
    • Access token URL—Resource of the URL from which access tokens are generated; for example, /rsso/oauth2/token
    • Client ID—Value that you saved while creating an OAuth 2.0 client.
    • Client secret—Value that you saved while creating an OAuth 2.0 client.
    • RSSO server endpoint—Only if the BMC Helix SSO server is different from the one specified as the host name on the General tab; for example, https://servername:port
  3. Save the changes.


Task 3: Create a web service request definition in BMC Helix Innovation Studio

  1. Create a web service request definition for BMC Helix Digital Workplace; see Creating a REST API web service request definition.

  2. On the Settings tab, specify the parameters as follows:

    • Name—Web request name; for example, Send a broadcast
    • Request methodPOST
    • PathURL path on which the method is invoked; for example, dwp/rest/sendbroadcast
    • Scope/Customization Options—Public.

       3. Save the changes.


Task 4: Create documents in BMC Helix Innovation Studio

  1. Create the first document titled Broadcast DTO with the following schema:
{
    "parameters": {
        "title": "",
        "url": "",
        "message": "",
        "targets": {},
        "startTime": "",
        "endTime": "",
        "timeToLive": "",
        "isServerUrl": "",
        "broadcastType": ""
    }
}

        2. Create the second document titled Broadcast Target DTO with the following schema:

{
"MYIT_BROADCAST_USER_IDS":[],
"MYIT_BROADCAST_USER_EMAILS":[]
}

       3. In the Scope/Customization Options field, set the scope to Public.

For information about how to create a document, see Defining a document schema.


Task 5: Create processes in BMC Helix Innovation Studio

Warning

Important

Create separate processes for broadcasts sent to user IDs and emails.

  1. Create a process to send broadcasts to individual user IDs; see Defining processes to accomplish business goals.

       2. On the General tab, add a process name (for example, Send broadcasts to user IDs) and the following variables:

Variable

Description

startTime

Corresponds to the start date in the Date range field in the BMC Helix Digital Workplace administrator console (UNIX timestamp).

endTime

Corresponds to the end date in the Date range field in the BMC Helix Digital Workplace administrator console (UNIX timestamp).

timeToLive

Can be set instead of the end date. Example: "Tue Jan 19, 2023 @ 12:16 PM +05:30"

message

Corresponds to the Additional information field in the BMC Helix Digital Workplace administrator console.

title

Corresponds to the Title field in the BMC Helix Digital Workplace administrator console.

URL

Corresponds to the Turn the title into a URL field in the BMC Helix Digital Workplace administrator console.

isServerUrl

Corresponds to the fields in the Server-side and Client-side options in the BMC Helix Digital Workplace administrator console. True is for Server-side; false is for Client-side.

broadcastType

Corresponds to the INFORMATION, SUCCESS, WARNING, or CRITICAL statuses in the BMC Helix Digital Workplace administrator console.

userEmails

Displays a list of broadcast recipients' emails. Cannot be used in one process with userEmails. The maximum number of emails is 100.

userIds 

Displays a list of broadcast recipients' login IDs. Cannot be used in one process with userIds. The maximum number of user IDs is 100.

Information
Sending broadcasts to different companies

Broadcasts are sent to all users and emails irrespective of the company. For example, Allen, an administrator at Apex Global, sends an individual broadcast to Mary from Apex Global and Bob from Centari. Both of them start receiving the broadcast.

Information
Sending broadcasts to self-registered users

With the DWP external users icon.pngBMC Helix Digital Workplace Advanced - Self-Registered User license, you can send broadcasts to user IDs and emails of users self-registered in external companies. For more information, see Portal-for-external-users.

    3. Add the first Create Document element and add the following parameters: 

  • LabelCreate Target
  • Input mapBroadcast Target DTO
  • Add a document nodeMYIT_BROADCAST_USER_IDS

Process1.png

     4. Add the second Create Document element and add the following parameters:

  • LabelCreate Broadcast
  • Input mapBroadcast DTO
  • Add a document node—Select all the parameters.

Process2.png

     5. Add a Web Request element and add the following parameters:

  • LabelBroadcast
  • Connection—Select the Web API connection (DWP)
  • Web API—Select the service request definition (DWP Web API)
  • Request—Select the web request name (Send a broadcast)
  • Output—Select input of Create Broadcast 

Process3.png

     6. On the General tab, set the Scope/Customization Options field to Public, and in Permissions, add Public.


Task 6: Perform Web API mapping in BMC Helix Innovation Studio

After the process is added, map the DWP Web API alias with DWP connection; see Mapping the REST API web service request alias to an appropriate connection.


Task 7: Add the process to a service in BMC Helix Digital Workplace Catalog

After the mapping is set up, navigate to BMC Helix Digital Workplace Catalog, and use the process in the workflow of the BMC Helix Digital Workplace Catalog service that will send a broadcast. 

For an example workflow of such a service, see Calling-external-workflows.


Troubleshooting

A general troubleshooting rule for broadcasts is to check BMC Helix Digital Workplace, BMC Helix Digital Workplace CatalogBMC Helix Innovation Studio, and BMC Helix SSO logs. However, the following table describes the workaround for specific issues:

Issue description

Workaround

The following exception is displayed:

Web API execution error:; PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.

  1. Export a BMC Helix Digital Workplace certificate from the browser.
  2. Import the certificate to Java cacerts in BMC Helix Innovation Studio:

keytool -import -alias *alias* -keystore cacerts -file *cert.cer*

  3. Restart BMC Helix Innovation Studio.

A broadcast is not sent, and its status in BMC Helix Digital Workplace is Fault.

Check the following scenarios:

  • Whether a user ID or email exists.
  • Whether a user ID or email are added to the recipient list (it should not be empty).

Where to go from here

Action

Reference

You want to send broadcasts to groups, servers, and locations.

You want to understand how other notifications work.

 

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

BMC Helix Digital Workplace 22.1