---
title: "Customizing the Omni Search for Advancement"
slug: "customizing-the-omni-search"
description: "Optimize the Omni Search tool by customizing searchable data points to improve efficiency in advancement tasks."
tags: ["Advancement"]
updated: 2026-03-09T19:26:45Z
published: 2026-03-09T19:26:45Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://knowledge.technolutions.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Customizing the Omni Search for Advancement

The Omni Search provides a partial word search across multiple database sections, including records, datasets, queries, forms, and imports. Customizing the searchable items appearing in your database's Omni Search tool can provide improved efficiency.

By default, the data points searched in person records are the record name, email address, phone number, social security number, and the Slate Reference ID. The default data points that appear in the search results with the record name are the Slate Reference ID and Date of Birth.

For dataset records, the default data points searched are name and key. There are no default data points for displaying dataset records other than the name.

[![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/17608194007451.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/17608194007451.png)

## Configuring Omni Search person record search

You can customize the rules that dictate which records are selected by the Omni Search.

### Creating rules

Rules are used to customize the search criteria for a person record.

> [!WARNING]
> 📝 New search criteria are added to the default ones.

1. Select **Database** on the Slate navigation menu. The **Database** page appears.
2. In the **Automations** section, select **Rules**. The **Rules** page appears. [![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/17608186363803.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/17608186363803.png)
3. Select **New Rule**. [![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/17608194017947.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/17608194017947.png)
4. Provide the following configuration values:
  - **Name**: Provide an appropriate and recognizable name for the rule.
  - **Type**: Select **Configurable Joins**.
  - **Category**: Select **Records**.
  - **Base**: Select **Person**. A **Rule Type** field appears.
  - **Rule Type**: Select **Person Index**.
  - **Folder**: Select an existing folder, or select **Other** and enter a new folder name. (This step is optional but recommended.)
  - **Non-deterministic**: Leave the value at **Rule is deterministic and has an exclusive priority**.
  - **Priority**: Enter a numeric value. For example, enter "1" if this is your only Person Index rule.
  - **Status**: Set to **Preview**.

![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/EditDetails.png)
5. Select **Save**. The **Edit Rule** page appears.
6. In the **Filters** section of the **Edit Rule** page, use filters to limit the searchable records for the new criteria. ***If the rule will apply to all person records, leave the filter section blank.***

![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/RuleFilters.png)

### Adding search criteria

To add search criteria:

1. In the **Action** section for the rule, add any new searchable criteria.
2. For the **Action** value, select **Replace Values from Formula**. Two additional sections appear: **Exports** and **Formula**.

#### Adding a single search criterion

When only one searchable criterion will be added, add the export for that criterion as follows:

1. In the **Action** section for the rule, locate the **Exports** line and select **Export**. An **Insert Query Part** popup appears. [![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/18387706178587.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/18387706178587.png)
2. Select the desired export. For this example, select **Legacy ID**in the **Person**group.

![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/ExportQueryPart.png)
3. Select **Continue**. The **Person Legacy ID**export appears in the **Exports** section.
4. In the **Formula** section, enter the export, prepended with an @ symbol. As you enter the @ symbol, a list of available exports appears. Select the export that was just created in the previous steps. ![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/Export_Formula.png)
5. Select **Save**.

#### Adding multiple search criteria

Using a subquery export can combine multiple search values and simply formula creation. Typically, when combining multiple values in a concatenate SQL statement, if any of the values is null (blank), the result of the concatenation will also be null. A subquery export will account for this, so you do not have to code this into your formula.

1. From the **Action** section of the **Edit Rule** page, select the subquery export button. An **Edit Part** popup appears. [![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/17620161013787.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/17620161013787.png)
2. Provide the following configuration:
  - **Name**: Give the subquery export an appropriate and meaningful name, but make sure the name is SQL-friendly (lowercase, with no spaces or special characters other than underscores).
  - **Output**: Set to **Concatenate**.
  - **Exports**:
    - Select **Export** and select the desired exports for the searchable data criteria. Since these exports are contained in the subquery export, their export names can have blank spaces.
    - Select the **Literal** icon to add a comma literal value between each export. The comma tells Slate to treat the searchable values separately. If you omit the commas, Slate treats the entire term as one value, and the individual exports are not searched independently. [![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/18387706210075.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/18387706210075.png)
3. After all desired subquery exports have been defined, select **Save** to return to the **Edit Rule** page.
4. In the **Formula** section, enter the export you created, starting with an @ symbol. As you enter the @ symbol, a list of available exports appears. Select the export that was just created in the previous steps. [![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/18387706225307.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/18387706225307.png)

### Applying the search criteria to person records

Rules only process updated person records, so for the new search criteria to apply, you must use a query and a **Retroactive Refresh**to update the records and direct the rule to run for them. Note that rules are queued, and completing them might be delayed. The more records that are updated simultaneously, the longer it will take for the rules to process.

A query can be run directly from the person index rule you have created, or a query can be created in the query tool.

- To run the query from the rule, select **New Query**on the right side of the rule summary page. The Quick Query summary page appears.
- To run the query from the query tool, select **Queries / Reports**on the main Slate navigation bar. On the Queries page, select **Quick Query**. A Quick Query popup appears. For Base, select **Person**and select **Build Query**. The Quick Query summary page appears.

To build the query and update the records:

1. Select **Export** and select at least one export. (The exports you choose here are unimportant; at least one export is required to run any query.)
2. If you want to limit which records are selected with the query, add a filter in the **Filters** section. Otherwise, do not add filters to select all matching records.
3. Select **Run Query**. The query results appear.

![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/QuickQuery.png)
4. From the **Output** list, under **Batch Management**, select **Retroactive Refresh**.
5. Select **Export**. A **Retroactive Refresh** popup appears, indicating the number of records that will be affected.
6. Select **Submit**. Select **OK** on the confirmation popup that appears. [![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/18387728586395.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/18387728586395.png)

## Configuring how person records appear in the Omni Search

Person header rules in Slate are used to customize the default information displayed with the name in the search results for person records. When thinking through the information to display, remember that space is limited. It is best to display only the information necessary to differentiate records that might have the same name.

> [!WARNING]
> 📝 Note
> 
> When a new custom rule is created, and a record meets the rule criteria, the default information of Slate Reference ID and Date of Birth will not appear, and the new custom rule criteria will replace it. If a person's record does not meet the criteria, then the default information of Slate Reference ID and Date of Birth will appear.

1. Select **Database** on the Slate navigation bar, and in the **Automations** area, select **Rules**.
2. Select **New Rule**.
3. Enter a value for **Name**.
4. For **Base**, select **Person**.
5. For **Type**, select **Person Header**.
6. Select an existing **Folder**, if desired, or select **Other** and enter a new folder name.
7. Provide a **Priority** value such as "1" if this is your only Person Index rule.
8. Set **Status** to **Preview**.
9. Select **Save.**

![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/image-RZFCI9LH.png)

In the **Filter** section of the rule, filters can be applied to tell the rule which person records can display the new custom information. If the rule will apply to all person records, leave the filter section blank.

The **Action** section is where any new display information will be added. With the **Action** of **Replace Values from Formula** selected, two additional sections appear: **Exports** and **Formula**.

> [!WARNING]
> 📝 Note
> 
> When combining string values in a formula, remember that if any of the values is null (blank), the result of the concatenation will also be null. Using subquery exports will account for null values; otherwise, the SQL *isnull* function must be used in the formula.

The following examples include techniques for using subquery exports or using the *isnull* operator in a formula to display a customer Constituent ID field and a Class Year field.

### Subquery exports

Using a [subquery export](/v1/docs/subquery-exports-outputs), additional exports can be added with filters applied to display the different aspects of the information when that information exists on the record.

[![additional exports can be added with filters](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7782990977691.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7782990977691.png)

For the Constituent ID, a subquery export, one layer deep, is used to build all the components around what should appear in the Omni Search for a record with a Constituent ID. In the subquery export for Constituent ID, a literal of "ID:" is added for formatting, and the export for the Constituent ID field is added.

[![a subquery export a layer deep is used](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7765155369883.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7765155369883.png)

A filter is added that uses the **Aggregate** value of **Exists**, followed by the export for the Constituent ID. With this configuration, the Constituent ID values will not appear if the record does not have a Constituent ID.

[![A filter is added that us using the Aggregate of Exists](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7783049829147.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7783049829147.png)

The same is repeated for the class year and the pipe delimiter (`|`). For the pipe delimiter, the filter existence is for both a Constituent ID and class year because the pipe would not matter if only one of those values existed on the record.

[![the pipe delimiter](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7783071846427.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7783071846427.png)

With the exports created this way, if a record would include both a Constituent ID and class year, the displayed information would be `ID: 123456789 | Class Year: 1997`.

### Formula SQL

Similar to the subquery option, the exports for Constituent ID and class year are added, making sure to edit the export names to be SQL friendly (blank space removed and replaced with an underscore). The `isnull` SQL function will ensure the ID: will not display if there is no value in the `Constituent_ID` export.

```plainText
isnull('ID: ' + @Constituent_ID , '') + isnull('Class Year: ' + @Class_Year , '')
```

[![the exports for Constituent ID and class year are added](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7783221372187.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7783221372187.png)

## Customizing Omni Search for dataset records

Rules can customize the search criteria for a dataset record.

> [!WARNING]
> 📝 Note
> 
> Any new search criteria will be in addition to the default search criteria of name and key.

Unlike person records, the dataset index and header rules are each a single rule. This means any value set up as a header would also be searchable and vice versa.

A database can have multiple datasets, each with its own Index and Header rule. When the base is selected for the rule, the base will determine which dataset the Index and Header rule will be first.

1. Select **Database** on the Slate navigation bar, and in the **Automations** area, select **Rules**.
2. Select **New Rule**.
3. Provide a value for **Name**.
4. For **Base**, select the option that corresponds to the dataset you are building the rule for.
5. Select the "Configurable Joins - . . ." option for the **Base** setting that corresponds to the dataset you are building the rule for.
6. For **Rule Type**, select **Index/Header**.
7. Select an existing **Folder**, if desired, or select **Other** and enter a new folder name.
8. Enter a value for **Priority**, such as 1 if this is your only Person Index rule.
9. Set **Status** to **Preview**.
10. Select **Save**.

![](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/image-74PTVQEN.png)

In the **Filter** section of the rule, filters can be applied to tell the rule which dataset records can be searched on and display the new custom information. If the rule will apply to all dataset records, leave the filter section blank.

The **Action** section is where any new display information will be added. With the **Action** of **Replace Values from Formula** selected, two sections appear: **Exports** and **Formula**.

**Note:** When combining string values in a formula, it is important to know that if any one of the values is null (blank), the result of the concatenation will also be null. The use of subquery exports will take the null values into account. Otherwise, the SQL *isnull* function must be used in the formula.

In the following two examples, one uses subquery exports, and the other uses *isnull*, in a formula to display a general ledger number of the fund and the fund restriction status.

### Subquery exports

Using a subquery export, additional exports can be added with filters applied to display the different aspects of the information when that information exists on the record.

Create a subquery export **Name** that is SQL-friendly. Add the exports that you want to be both searchable and displayed. **Note:** Any formatting applied will be searchable. In the example below, the literal **GL Number** is searchable.

Add the export values to be displayed and searchable. In the following example, a literal **GL Number:** is added for formatting, and the export for the **Fund GL Number** field is added. A literal of a pipe character is used as a delimiter, followed by the export for the **Fund Restriction** field.

[![Add the export values](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7792878992027.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7792878992027.png)

### Formula SQL

Similar to the subquery option, the exports for fund GL number and restriction status are added, making sure to edit the export names to be SQL friendly (blank space removed and replaced with an underscore). The `isnull` SQL function will ensure the GL Number: will not appear if there is no value in the `Fund_GL_Number` export.

```plainText
isnull('GL Number: ' + @Fund_GL_Number , '') + isnull(@Fund_Restriction , '')
```

[![exports for fund GL number and restriction status are added](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7793043231003.png)](https://cdn.us.document360.io/cd8ea7a6-07f3-4846-a554-627ac016d3e3/Images/Documentation/7793043231003.png)
