
2025-04-24: Published
2025-06-09: Added “Specifying Channels” and “Sample Code”
Questetra BPM Suite Version 17.0 introduces a significant update to Open Chat, rebranding it as Collab Chat. Along with this rebranding, important behavioral changes have been made, especially affecting how messages are posted via script tasks. Additionally, these changes impact add-on Auto Steps, which rely on scripting for their operations. As a result, it is critical for system administrators and business application developers to understand and adapt to these modifications.
Notes Regarding Specification Changes
The Posting Channel Must Be Specified
In Ver. 17.0, you must explicitly specify the channel to which you want to post. Specify the channel using one of the following methods of the FeedServiceWrapper.FeedMessageWrapper class.
- setShareQgroup(QgroupView groupId)
- setChannel(String channelId) new!
If you do not specify a channel, or if you specify a channel that does not exist, a processing error will occur, so a method to create a channel has been added to the FeedServiceWrapper class.
- createPublicChannel(String) new!
Reference: R2300: Java Classes available in Script Task [1-16. Class for controlling posting to Open Chat]
1 Message = 1 Channel
A single post message can only be posted to one channel. If you want to post to multiple channels at the same time, you will need to post the same content multiple times.
Changes to How Hashtags and Mentions are Handled
- A hashtag (e.g. #CompanyAProject) is simply a link to a channel. It does not automatically post to that channel.
- User mentions are only notified to channel participants and will be ignored by users outside the channel.
- Organization mentions are only valid in Organization Channels and only notify the target organization or its sub-organizations in that channel.
Changes to Chat Functionality
The chat feature itself has undergone some reorganization and restrictions, including:
- All organizations and topics are integrated into “channels”
- All posts can only be posted to a single channel.
- You can’t post to a channel that doesn’t exist
- Hashtags in the text will simply be displayed as links
- Mentions within this channel are only effective for its members, target organizations, and any subordinate organizations
For details about changes to the chat feature, please see Ver.17.0 Open Chat will be revamped (April 2025) .
Main Differences from Ver. 16.2
| Function | Ver. 16.2 | Ver. 17.0 |
|---|---|---|
| Linking to a process | ・Topic #p{process ID} is automatically assigned | ・Specify explicitly using setChannel(“{ProcessID}”) |
| Hashtags in the post | ・Hashtags give topics | ・Link to the channel |
| Mentions in posts | ・Notified and shared with users/organizations | ・Notifications are limited to channel participants/channel-targeted organizations |
| setShareQgroup(QgroupView) | ・The specified organization will be set as the sharing scope | ・Specify an organization channel ・Incompatible with setChannel(String) |
| setChannel(String) | ・Associate with the specified topic regardless of hashtags in the post ・When you associate a process, the topic #p{process ID} is not automatically assigned to it | ・Specify the channel to post to ・Incompatible with setShareQgroup(QgroupView) ・Either setShareQgroup(QgroupView) or setChannel(“g{organization ID}”) will specify the organization channel. |
| createPublicChannel(String) | ・Do nothing | ・Create a channel with the specified name |
Specifying Channels
Each channel should be specified as follows:
- Organization channel: Organization ID (e.g., setChannel(“g18”))
- App channel: App ID (e.g., setChannel(“m2398”))
- Process channel: Process ID (e.g., setChannel(‘p10392’))
- User-created channel: Channel name (e.g., setChannel(“Business App Suggestions”))
Sample Code
For scripts that specify channels, set message bodies, and post messages, please refer to the sample code below.
// Retrieve values from the data-item for the meessage body, q_msgBody.
const msgBody = engine.findDataByVarName("q_msgBody");
// Create a message.
let chatMsg1 = feedService.begin();
// Set the message body to the message
chatMsg1 = chatMsg1.setMessage(msgBody);
// Post to an Organization Channel.
chatMsg1 = chatMsg1.setChannel("g18");
chatMsg1.post();
// To post to multiple channels, create a message for each channel.
let chatMsg2 = feedService.begin();
chatMsg2 = chatMsg2.setMessage(msgBody);
chatMsg2 = chatMsg2.setChannel("Business App Suggestions");
chatMsg2.post();For ways to get data from data items, please refer to “R2301: Retrieving/Updating Data in Script Tasks.” For ways to attach files or insert links, please refer to the script of the add-on auto-processing task “#Collab-Chat: Post.”
How do you respond to changes to channel-based posting and mention specifications?
Chat notifications and sharing ranges need to be reviewed to match the new specifications.
Solutions for each pattern
- Only sharing without notifications ⇒ Manually repost the same message to each required channel
- Notifications by mention are required ⇒ Select and organize the target channels carefully
- Notifications are required across many channels ⇒ Consider using other methods of notification such as email
Summary
Version 17.0’s updated chat includes clearer posting controls, but this change carries a risk of errors and overlooked notifications if settings are incorrectly configured.
For Workflow Apps that posted to Open Chat using script tasks, it is important to correctly understand these changes and review your posting policy and scripts.
When designing a channel you want to link, always consider its purpose (organization/process/other), and the intended recipient (who/which organization) to ensure efficient posting and notifications.
