Skip to main content

Users' Record Filters in Indigo

Use Record Filters to further refine what users can see in Indigo

Written by Serena Santamaria

⚠️ Notice: We use hyperlinks and collapsible sections in this article. Click them to access different parts of the article, or resources and media such as related articles, video tutorials, and web pages.

I am a collapsible section. Click me to show my information!

Table Of Contents


Introduction

In a company, not all employees hold the same position or need to see data based on the same criteria. Besides this being a matter of efficiency, there are also ethical and sensitivity concerns to consider. That's why we have Record Filters in Indigo.

Just like a perfectly fitted suit 👔 made to match one person’s unique needs, these filters ensure that users only see the data that’s relevant to them—nothing more, nothing less.

This keeps things clean, secure, and perfectly aligned with each role’s responsibilities, especially in larger organisations where different teams should only view their own data.

Keep reading to learn more.

⚠️ Caution

  • Record Filters affect ALL the Indigo platform. This includes the leave pages, the Employee Portal, and every other module and feature in Indigo.

  • When taking action on behalf of other people, those actions won't be visible for users who aren't assigned the proper filters.


The Record Filters Screen Explained

To access the User Record Filters:

  1. Go to Administration > Users.

  2. Highlight a user in the grid.

  3. Select the Record Filters tab in the top right corner.
    <<replace screenshot>>


Alternatively, click on Edit ✏️ in the User's screen and then click Save ✔️.

At the top of the User Record Filters page, you'll see several details about the specific user, such as First Name, Last Name, Email, if it's Active or Locked, and more.

Right below this section, the Company Selector dropdown shows for which companies you can apply Record Filters for that User.

In the next section is a bar where the filter condition is built, which is split in two parts:

  • Document Type: set to Employee by default.

  • Expression: the workspace in which to compose the filter's conditions by combining fields with operators.​

More on operators 👇below.


The Operators

Before we dive into the fun part—assigning filters and making everyone happy—it’s worth taking a moment to get acquainted with the world of Operators. These are the tools that let you build both simple and complex condition expressions, and play a big role in shaping what you see.

There are two main types of operators:

  • Relational Operators

  • Logical Operators

Relational Operators

Relational operators (such as IsAnyOf, IsEqualTo, IsGreaterThan, etc.) define a condition based on how a field and its values relate to each other.
The system will show the relevant records when the specified condition is met—making the expression TRUE.

TRUE and FALSE expressions are the core for record retrieval, especially when building more complex conditions using logical operators (AND/OR).
You can find out more in the 👇 Logical Operators section of this article.

For example, let's say you want to view all employees who've been working with the company for at least 10 years or more.

Knowing that Mary's been working for the company for 10 years and Mark for 25, here's how you would build your expression:

Expression: Years in service IsGreaterThanOrEqualTo 10
Outcome: Mary and John's records (along with any other employees meeting the condition) will be visible as the expression is TRUE for them.

👈 Expand for the full list of available relational operators.

Relational Operators

Sample Expression

Visibility Outcome Examples

IsEqualTo

IsNotEqualTo

Name IsEqualTo John

Name IsNotEqualTo John.

John Smith, John Meyer etc.

Mary Clarkson, Luke White etc.

IsGreaterThan

Years in service IsGreaterThan 1

All employees working for the company for MORE THAN one year.

IsLessThan

IsLessThanOrEqualTo

Years in service IsLessThan 10

Years in service IsLessThanOrEqualTo 10

All employees working for LESS THAN 10 years.

All employees working UP TO 10 years.

IsBetween

IsNotBetween

Code IsBetween [002,010]

Code IsNotBetween [002,010]

Mary (003), up to Brian (009).

John (001), Katy (011), Celine (012), and the other codes above 010.

Contains

DoesNotContain

Occupation Contains Warehouse

Occupation DoesNotContain Warehouse

Mary (Warehouse associate), Will (Warehouse manager), etc.

Carl (Head of Department) etc.

BeginsWith


EndsWith

Occupation BeginsWith Account

Occupation EndsWith Director

Neil (Account Manager), Claire (Account Director), etc.

James (Chief Director) etc.

IsLike


IsNotLike

Default cost centre code IsLike COST

Default cost centre code IsNotLike COST

John (COST 2), Karen (MAINCOST) etc.

Seth (SALE 1), Ally (ADMIN 2), etc.

IsBlank


IsNotBlank

Request Overtime IsBlank

Can apply for leave IsNotBlank

All the employees having the Request Overtime checkbox unticked.

All the employees having the Can apply for leave checkbox ticked.

IsAnyOf


IsNoneOf

Academic Level IsAnyOf Diploma Level,Graduate

Academic Level NoneOf Doctorate Level,Never attended School

Alan (Diploma Level), Damian (Graduate), etc.

Pam (Diploma Level), Sue (Graduate), etc.

Logical Operators

Logical operators help you combine multiple conditions into a single expression. Depending on the operator—like AND or OR—records will appear if all conditions are met, or if just one is enough.
When one ore more conditions are met (depending on the logical operator) they are considered ✅ TRUE.

  • AND: requires that both connected conditions are TRUE to show records.

    • TRUE + TRUE = TRUE ✅

    • TRUE + FALSE = FALSE ❌

  • OR: requires that at least one OR both the connected conditions are TRUE to show records.

    • TRUE + TRUE = TRUE ✅

    • TRUE + FALSE = FALSE ✅

    • FALSE + TRUE = TRUE ✅

    • FALSE + FALSE = FALSE ❌

Whether the conditions are joined by AND or OR, the system evaluates each one to determine if it is TRUE or FALSE. It then combines the results based on the specified logical operator and displays the data accordingly.

👈 Expand to better understand how logical operators behave in Indigo.

Let's see a couple of examples in the the table below, where ✅ = TRUE and = FALSE.

Logical Operators

Sample Expression

Examples

Scanning Process

Outcome

AND

Department IsAnyOf [Department 1,Department 2] AND Age IsGreaterThan 45

  1. Mary works in 'Department 2' and is 60 years old.

  2. John works in 'Department 1' and is 45 years old.

  1. Is Mary's department any of Department 1 and 2? ✅
    Is Mary older than 45? ✅

  2. Is John's department any of Department 1 and 2? ✅
    Is John older than 45? ❌

  1. Mary IS visible.





  2. John ISN'T visible.

OR

Department IsEqualTo Department 1 OR Location IsAnyOf [New York,Rome]

  1. John works in 'Department 1' in New York.



  2. Mary works in 'Department 1' in Berlin.



  3. Sophie works in 'Department 2' in Berlin.

  1. Is John's department Department 1? ✅
    Is the location any of New York and Rome?✅

  2. Is Mary's department Department 1? ✅
    Is the location any of New York and Rome? ❌

  3. Is Sophie's department Department 1? ❌
    Is the location any of New York and Rome? ❌

  1. John IS visible.






  2. Mary IS visible.






  3. Sophie ISN'T visible.


Assigning Record Filters

Now that you know the basics, you're ready to create and assign Record Filters.
To do that, you need to build the expression that will reflect your 🎯goal.

  1. Select one of the companies the user is assigned to from the Company Selector dropdown. (Choose 'All Companies' if the filter has to apply to all of them.)

  2. Start typing or click once in the Expression field to see a list of selectable fields.

    • Let's say you select 'Location'.

  3. At this stage, hit the space bar key on your keyboard to display the list of relational operators.

    • Suppose you select IsAnyOf.


  4. Type the Location's values in the squared brackets, divided by a comma.

    • Make sure to spell them exactly as they are recorded in Indigo.

    🗒️ Note: For checkboxes, the value can only be true (ticked) or false (unticked).

  5. Hit the space bar again. Two logical operators (AND, OR) are available for selection. Let's pick 'AND' to proceed with this sample expression.

  6. Select another value (e.g. Department) and an operator (e.g. IsEqualTo) to build a more complex expression (if needed).


  7. Pick a value to pair with the operator. (e.g. SALES)

  8. Click on the Save Filter ✔️ button on the far right of the Expression field.

Result

😃 Congratulations! You successfully created a Record Filter for the selected company and Users.


The filter you've just created will show records where the Location AND the Department are respectively New York (or Rio) and SALES.

🗒️ Note

It is possible to create dedicated Record Filters for each company assigned to the same user. Once you save the expression for the selected company, just choose another one from the Company Selector dropdown. Now, simply repeat the above process according to your needs.


Related Articles

Did this answer your question?