Creating search filters for BMC applications


BMC Helix Knowledge Management by ComAround supports creating filters to narrow down search results in BMC applications based on predefined conditions. These filters use article tags as filtering criteria. A single filter can combine multiple article tags by using the AND, OR, and NOT operators. When users search for knowledge articles in a BMC application that uses a specific filter, the search results return only the articles that include a tag or a combination of tags defined in the filter. 

You can create and use search filters for the following BMC applications:

  • BMC Helix Virtual Agent
  • BMC Helix Digital Workplace Advanced
  • BMC HelixGPT

Important

This functionality is currently not supported for other BMC applications that use BMC Helix Knowledge Management by ComAround as a search provider. 

As an administrator of BMC Helix Innovation Studio, you can create search filters for supported BMC applications. After you create a search filter in BMC Helix Innovation Studio, you must enable it in the BMC application. For more information about enabling search filters for the required chatbot instance in BMC Helix Virtual Agent, see Defining a knowledge search provider for chatbot. Learn how to enable search filters for BMC Helix Digital Workplace Advanced in Configuring search.

The following image shows the benefits of using search filters:

search_filters_benefits.png

Static and dynamic tags

When you create search filters in BMC Helix Innovation Studio, you can use the following types of tags:

Tag type

Definition

Example

Static

Static tags are predefined and fixed descriptive labels or keywords assigned to articles in BMC Helix Knowledge Management by ComAround.

For example, Line of business=HR is a static tag. 

If the search filter uses this tag as filtering criteria, the search results return only the knowledge articles that include the Line of business=HR tag. 

Dynamic

Dynamic tags are constructed on-the-fly based on custom processes that query CTM forms. These processes obtain information specific to a current user from a CTM form and use this information to construct the tag. Dynamic tags are generated for each user, and they have different output for each user. However, the structure of dynamic tags is fixed. Dynamic tags consist of an attribute of the tag and the tag value. For example, Line of business (attribute)=Finance (value).

During the search, the generated dynamic tag is compared with static tags assigned to articles inBMC Helix Knowledge Management by ComAround. Only the articles that contain a static tag identical to the generated dynamic tag are returned in the search. Therefore, static tags must follow the same syntax as dynamic tags for successful tag mapping during the search.  

Note: You can distinguish dynamic tags by the presence of the cogwheel icon next to the tag name get_region_tag.png

A predefined set of dynamic tags is available by default.  However, as an administrator of BMC Helix Innovation Studio, you can create custom dynamic tags. For more information, see (Optional) To create a process that constructs a dynamic tag

For example, Get Region is a dynamic tag. Region is an attribute of the tag, and the tag value is determined dynamically. 

This tag is based on the custom process definition that queries the CTM:People form and determines a region to which a specific user belongs. For example, if a user belongs to the Europe region, the Region=Europe tag is generated in real time. If another user belongs to the US region, the Region=US tag is generated. 

If the search filter uses this tag as filtering criteria, it maps this dynamic tag to static tags added to the knowledge articles and returns only the articles that include the identical static tag.

If you add Region=Europe static tag to articles about vacation policies in Europe and the Region=US tag to articles about vacation policies in the US, the search filter maps the generated dynamic tags to these static tags and returns articles with the Region=Europe tag for the user from Europe and articles with the Region=US tag for the user from the US.

The following table provides information about dynamic tags available by default, and their structure. You can also find information about the formatting patterns that static tags in the knowledge articles must follow for proper mapping with each dynamic tag. 

Dynamic tag

Description

Dynamic tag structure

Required syntax of static tags

Get Company

Obtains information about the company of a current user by using the CTM:People form from BMC Helix ITSM

Company=Company of a current user

Company=Company name

For example, Company=Apex Global

Get Department

Obtains information about the department of a current user by using the CTM:People form from BMC Helix ITSM

Department=Department of a current user

Department=Department name

For example, Department=Payroll

Get Knowledge Set

Obtains information about the knowledge set of a current user by using the following forms:

  • CTM:People IS Personas Detail form from BMC Helix ITSM
  • com.bmc.dsm.shared-services-lib:Line of Business form from BMC Helix Business Workflows Shared Services Library.
  • com.bmc.dsm.knowledge:Knowledge Set form fromBMC Helix Business Workflows Knowledge Management 

Knowledge Set=Knowledge set of a current user

Knowledge Set=Knowledge Set name

For example, Knowledge Set=Policy

Get Line of Business

Obtains information about the line of business of a current user by using the following forms: 

  • CTM:People IS Personas Detail form from BMC Helix ITSM
  • com.bmc.dsm.shared-services-lib:Line of Business form from BMC Helix Business Workflows Shared Services Library.

Line of business=Line of business of a current user

Line of business=Line of business name

For example, Line of Business=Human Resource

Get Region

Obtains information about the region of a current user by using the CTM:People form from BMC Helix ITSM

Region=Region of a current user

Region=Region name

For example, Region=Europe

Get Site

Obtains information about the site of a current user by using the CTM:People form from BMC Helix ITSM

Site=Site of a current user

Site=Site name 

For example, Site=Tel Hai

Get Support groups

Obtains information about the support group of a current user by using the CTM:Support Group Functional Role People Assoc Join form from BMC Helix ITSM. It is a join form between CTM:SupportGroupFuncRoleLookUp and CTM:People.

Support Group=Support group of a current user

Support Group=Group name

For example, Support Group=BMCOpsMonitoring Support Group1

Important

You can edit the predefined dynamic tags so that their formatting patterns follow the structure of your existing static tags. For more information, see (Optional) To edit the process of a predefined dynamic tag

Logical operators

When you create search filters in BMC Helix Innovation Studio, you can use the following types of operators:

Operator

Description

Example

AND

Returns articles that meet all filtering conditions. 

Line of Business = HR AND Operational Tier 1 = People
ORReturns articles that meet any of the filtering conditions.Line of Business = Office Facilities OR Knowledge Set = Office
NOTExcludes articles that match the specified filtering conditions.NOT (Line of Business = Archived)

Combining operators

You can combine ANDOR, and NOT operators to create advanced search filters that return highly specific results. Use parentheses to group conditions and control the logic flow. The combination helps improve the relevance of search results. The following examples illustrate how to create advanced filters:

  • (Topic = Performance AND Platform = Windows11) AND NOT (Platform = Windows10 OR Platform = MacOS)—Returns articles about performance issues related to Windows 11, excluding those related to Windows 10 or MacOS.
  • (Line of Business = HR OR Line of Business = Finance) AND NOT (Knowledge Set = Archived)—Returns articles from HR or Finance, but excludes any that are archived.

Scenarios for creating search filters 

Scenario for creating a search filter with static tags

The following scenario describes how a company creates and uses a search filter that includes static tags for BMC Helix Digital Workplace Advanced. However, the process of creating and utilizing search filters with static tags is identical for BMC Helix Virtual Agent.

Scenario for creating a search filter with static tags

In BMC Helix Digital Workplace Advanced, Apex Global has created multiple specialized workplace pages for different lines of business. The company wants each workplace page to return only the knowledge articles that relate to a specific line of business. Apex Global uses BMC Helix Knowledge Management by ComAround as a search provider for BMC Helix Digital Workplace Advanced. Therefore, the company can create filters to limit search results in workplaces.

As an administrator at Apex Global, Jordan must create a search filter for the HR workplace page. The HR workplace page must return only HR-related articles from BMC Helix Knowledge Management by ComAround. Jordan creates a search filter in BMC Helix Innovation Studio. He selects the Line of business=HR and the Operational Tier 1=People static tags as fileting criteria. In BMC Helix Digital Workplace Advanced, Jordan enables the created filter for the HR workplace. As a result, when users search for articles in the HR workplace, the system returns only those articles that include both Line of business=HR and Operational Tier 1=People tags. The image shows how Jordan creates and enables this filter for BMC Helix Digital Workplace Advanced.

Static tag

Scenario for creating a search filter with a dynamic tag

The following scenario describes how a company creates and uses a search filter that includes a dynamic tag for BMC Helix Virtual Agent. However, the process of creating and utilizing search filters with dynamic tags is identical for BMC Helix Digital Workplace Advanced.

Scenario for creating a search filter with a dynamic tag

Apex Global uses BMC Helix Knowledge Management by ComAround as a search provider for BMC Helix Virtual Agent. In BMC Helix Virtual Agent, Apex Global has created a single chatbot to address queries of employees from different organizations. The company wants this chatbot to return only the knowledge articles that relate to a user's organization. Therefore, the company can create filters to limit search results in this chatbot.

As an administrator at Apex Global, Jordan must create a search filter for the Organization chatbot. Jordan creates a custom process to construct the Get Organization dynamic tag. This custom process determines the organization to which a specific user belongs, and constructs the tag in real time. Then, Jordan creates a search filter in BMC Helix Innovation Studio. He selects the Get Organization dynamic tag as a filtering criterion. In BMC Helix Virtual Agent, Jordan enables the created filter for the Organization chatbot. As a result, when users from the Support organization search for articles in the Organization chatbot, it returns only those articles that include the Organization=Support tag. Similarly, when users from the IT organization search for articles in this chatbot, the system returns only those articles that include the Organization=IT tag.

The image shows how Jordan creates and enables this filter for BMC Helix Virtual Agent.

Dynamic tag

Scenario for creating a search filter with a combination of AND, OR, and NOT operators

The following scenario explains how a company creates and uses advanced search filters in BMC Helix Virtual Agent, incorporating a combination of logical operators. However, the process of creating and using advanced search filters is the same for BMC Helix Digital Workplace Advanced.

Scenario for creating a search filter with a combination of AND, OR, and NOT operators

At Apex Global, the IT support team frequently handles performance-related issues across multiple operating systems. To streamline troubleshooting, the company wants to ensure that agents investigating Windows 11 related performance problems aren’t overwhelmed by irrelevant content.

Administrator Jordan uses the enhanced search filter capability in BMC Helix Innovation Studio to create a filter with the following logic:
(Performance AND Windows11) AND NOT (Windows10 OR MacOS)

Because Apex Global uses BMC Helix Knowledge Management by ComAround as a search provider for BMC Helix Virtual Agent, Jordan enables this search filter for BMC Helix Virtual Agent.

Jim, the service desk agent, encounters a ticket related to performance issues with Windows 11. Due to the enabled filter, when Jim searches for performance issues, the BMC Virtual Chat returns only articles relevant to Windows 11, and not for other versions, helping him resolve the ticket more quickly and accurately.

Operators

 

(Optional) To create a process that constructs a dynamic tag

As an administrator of BMC Helix Innovation Studio, you can create a process to construct a dynamic tag. 

Best practice
The search filter compares a dynamic tag with static tags that have been added to the knowledge articles. Therefore, the dynamic tag must adhere to the same format as the static tag to which it is mapped during the search. Before you create a process to construct a new dynamic tag, we recommend that you check the format of the static tags that are added to knowledge articles and define a process that will output the dynamic tag in the same format. For example, if knowledge articles include tags for different organizations that have the Organization=IT, you must create a process that returns the dynamic tag with the same structure. 

  1. Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
  2. Click the application for which you want to create a dynamic tag:
    1. To create a dynamic tag for BMC Helix Virtual Agent, click BMC Chatbot.
    2. To create a dynamic tag for BMC Helix Digital Workplace Advanced, click Digital Workplace
  3. Click the Processes tab and click New
  4. On the Process Properties pane, specify the following fields:
    1. Name—enter a name for the process.

      Important

      The name must start with CONTENT TAG to filter out processes that create dynamic tags. For example, CONTENT TAG Get Organization. Otherwise, the created dynamic tag won't be displayed in the list of tags available for selection. 

    2. Run as—Select Administrator
  5. On the Process Properties pane, add the Output process variable required for the workflow.
    1. In the VARIABLES section, click Add/ Remove Variables
    2. Click Add Variable.
    3. In the Name field, enter tag.
    4. In Variable type field, select Output.
    5. From the Data Type list, select Text.
    6. Click Save.
      variable.png
  6. In Workflow designer, drag and drop the Get Records by Query element on to the canvas and map the required process input variables: 
    1. On the Settings icon.PNG GENERAL tab, in the INPUT MAP section, from the Record Definition Name list, select the CTM form you want to query. For example, select People.
    2. In the INPUT MAP section, click Click to build an expression and build the following expression that queries the selected CTM form: 
      expression.png
      This expression queries the selected CTM form for the current user. 
    3.  In the OUTPUT MAP section, to add the process output parameter, click Add and specify the following output parameters:
      1. From the Name field, select tag.
      2. Click Click to build an expression for the Source parameter. 
      3. In the expression builder, construct an expression that will be returned as a tag. Enter the attribute of the tag as text and select the tag value from the list of available form values. See the following image for the example structure of the dynamic tag: 
        org_new_tag.png

        Important

        • You must create a single output parameter. If multiple parameters are added, the system returns only the tag parameter.
        • You must construct the entire string that will be returned as a tag. 
      4. Click Ok.
  7. Click Save

The new dynamic tag is created. You can select it from the list of tags while creating a search filter. 

(Optional) To edit the process of a predefined dynamic tag

As an administrator of BMC Helix Innovation Studio, you can edit processes that define dynamic tags provided by default.

Best practice
You can edit the predefined dynamic tags so that their formatting patterns follow the structure of your existing static tags. For example, if you have static tags that follow the Reg:Region name structure, you can edit the Get Region dynamic tag so that its structure is Reg:Region of a current user instead of Region=Region of a current user

However, we recommend that you don't edit the predefined dynamic tags and create new dynamic tags instead. 

  1. Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
  2. Click the BMC Chatbot application to edit the following predefined dynamic tags:
    1. Get Company
    2. Get Department
    3. Get Region
    4. Get Site
    5. Get Support groups
  3. Click the Shared Services application to edit Get Knowledge Set and Get Line of Business dynamic tags. 
  4. Click the Processes tab and select the process of the predefined dynamic tag that you want to edit. For example, select CONTENT TAG Get Region.

    Note

    For dynamic tags, the process names start with CONTENT TAG

  5. On the canvas, click the Get Records by Query element.
  6. On the Settings icon.PNG GENERAL tab, in the OUTPUT MAP section, to add the process output parameter, click Click to build an expression for the Source parameter.
  7. In the expression builder, edit the defined expression that is returned as a tag. See the following image for the example edited structure of the dynamic tag:  
    reg_edited.png
  8. Click Save

To create a search filter

  1. Log in to BMC Helix Innovation Studio and click Administration
  2. Select Knowledge Management > Search filters
  3. On the Search filters pageclick New search filter. 
  4. Enter the name for a search filter in the Name field.
    Create filters UI
  5. To define the Filter criteria, click Click to build an expression.
    The expression builder is opened in a new window.
    Screenshot_ Expression builder
  6. Write an expression with tags by using either of the following options based on your needs:
    • To create a simple filter that doesn't combine tags by using operators: Click  Add to add and select one or multiple article tags from the list of available tags to create a simple filter that doesn't combine tags by using operators. With this search filters, only articles that include the selected tag will be returned.
    • To create a complex filter: Select one or more logical operators, such as ANDOR, or NOT, and build a logical expression for the filter criteria by using selected tags.
      To build an advanced search filter, use parentheses to combine the operators and tags. The following examples illustrate the combinations:
      • Single operator to return articles related to HR and specifically about benefits:
        Line of Business = HR AND Category = Benefits.

      • Multiple operators to return articles for Finance users in the US, excluding archived content: 
        (Line of Business = Finance AND Region = US) AND NOT (Knowledge Set = Archived)

  7. Click OK to save the expression.
    The following image shows a sample search filter:
    Expression builder UI 1

  8. Click Save.
    You have created the search filter, which is displayed on the Search filters page. To modify a created search filter, open the filter by clicking its name, and click the expression.search filter

Considerations and limitations for creating search filters

  • Only existing static and dynamic tags are shown in the Available Values listThe list is organized into two sections: Tags and Dynamic Tags.
    1751290027812-188.png
  • You can combine static and dynamic tags in a search filter along with the operators. ​​​​​​ However, you can add new static tags to the articles or create custom dynamic tags. The tags must be between 3 and 256 characters. They can not start with white space characters, and can not consist only of white space characters. Tags do not support single quotes or double quotes characters. For instructions on how to create a dynamic tag, see (Optional) To create a dynamic tag
  • ​​You can add up to a maximum of 20 tags when creating a combined search query.
  • If the expression for the filter criteria is invalid, an error message appears when saving the filter.
  • When you edit existing filters, the Save button becomes available only after you make any changes to the filter. ​​​​​​

Upgrade scenario

The upgrade from version 25.2 to 25.3 or later ensures that existing filters are preserved and transitioned to the new format without data loss, provided the data meets the required conditions. In version 25.3 and later, the existing fields, such as TagsDynamic tags, and Operator are retained. No data is deleted. A new field, Query expression, is added to the record definition. For a smooth upgrade, consider the following guidelines:

  • All tags should be listed in the correct syntax, such as comma-separated format, and enclosed in double quotes.
  • The total number of tags used in a filter should not exceed 20.
  • Avoid manually editing the old fields after the upgrade, as doing so might interfere with the automatic population of the new field.
  • If data isn't fetched or errors occur, the upgrade may fail. Verify data and contact BMC Support if needed.

Upgrade behavior for search filters across applications

In case of BMC Helix Virtual Agent, during the upgrade from version 25.2 to 25.3 or later, the data is retrieved and populated the first time you open a search filter via Administration > Knowledge Management > Search filters. To verify the populated data, navigate to Workspace > Applications > BMC Chatbot > Records > ComAround Search Filter. You will see the fetched records in the list.

Important

For BMC HelixGPT and BMC Helix Digital Workplace applications, the upgrade process automatically fetches and populates the filter data, and no manual action is required.

​​​

Troubleshooting

IssueCause and resolution
When you try to save a filter, the following error message appears:
Invalid expression
The filter criteria expression is invalid. Review and correct the syntax and logic of the expression before attempting to save it again.
When the number of tags in your query exceeds 20, error message appears:
HKM 20 tag error
A maximum of 20 tags can be used in a combined search query. Edit the expression to ensure that it includes no more than 20 tags.

Filter creation fails when the query expression exceeds the specified limit of the field value.

Error

You can modify the default settings by following these steps:

  1. Log in to BMC Helix Innovation Studio.
  2. Click 1753200984997-411.png and select Base mode.​​​​​​
  3. Select Workspace > Applications > BMC Chatbot > Records > ComAround Search Filter.
  4. Select Query Expression. 
  5. Select Details and click  Gear icon
  6. Clear the existing value in the Length field. 
  7. Click Save.

Query expression

Where to go from here

After you create a search filter, you must enable it for your BMC application.

Action

Reference

To enable the search filter for BMC Helix Virtual Agent

To enable the search filter for BMC Helix Digital Workplace Advanced

To enable the search settings in BMC HelixGPT to search and filter across multiple knowledge search providers 

 

 

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