Destination Filter (Experimental)

Destination Filter (Experimental)

Destination Filter is a new feature designed by Pio Software (version 4.26.0+; current version: 6.35.0). You can find the filters under Admin > Connection Settings > Filters.

 

image-20250210-114623.png

 

Filter String Format

The filter string should consist of conditions and logical operators (and, or).

Conditions

A condition specifies:

  1. Field: The name of the field in the dataset you want to filter.

  2. Operator: The comparison or matching operator (e.g., eq, gt, contains).

  3. Value: The value you want to compare, enclosed in single (') or double (") quotes.

Example Condition:

displayName startsWith 'John'

Logical Operators

  1. and: Combines multiple conditions where all conditions must be true.

  2. or: Combines multiple conditions where at least one condition must be true.

Note: You can use either and or or in a single filter but not both at the same time.

Supported Operators

Operator

Description

Example

Operator

Description

Example

eq

Field is equal to the value

country eq 'US'

ne

Field is not equal to the value

status ne 'inactive'

gt

Field is greater than the value

createdAt gt '2024-01-01T00:00:00Z'

lt

Field is less than the value

age lt 30

ge

Field is greater than or equal to the value

age ge 18

le

Field is less than or equal to the value

age le 65

contains

Field contains the value (for strings)

displayName contains 'Admin'

notContains

Field does not contain the value (for strings)

displayName notContains 'Admin'

startsWith

Field starts with the value (for strings)

displayName startsWith 'John'

notStartsWith

Field does not start with the value (for strings)

displayName notStartsWith 'John'

endsWith

Field ends with the value (for strings)

mail endsWith '@example.com'

notEndsWith

Field does not end with the value (for strings)

mail notEndsWith '@example.com'

isEmpty

Field is empty (null, undefined, or empty string)

mail isEmpty

isNotEmpty

Field is not empty

mail isNotEmpty

 

employeeId isNotEmpty


Examples

Find Users Whose Display Name Starts with "John":

displayName startsWith 'John'

Find Active Users in the US:

status eq 'active' and country eq 'US'

Find Users Created After a Specific Date:

createdAt gt '2024-01-01T00:00:00Z'

Find Users in the UK or with a Display Name Containing "Jane":

country eq 'UK' or displayName contains 'Jane'

Key Rules

  1. Case Sensitivity:

    • Field names and string comparisons are case-sensitive. Ensure your field names and values match the case in the dataset.

  2. Quotes:

    • Use single (') or double (") quotes to enclose values.

  3. Logical Operators:

    • You cannot mix and and or in the same filter.

  4. Empty Filter String:

    • If the filter string is empty or null, the function returns the original dataset.


Users Scope Groups Filter (Beta)

This filter is in Beta and available from version 6.35.0. It is under Admin > Connection Settings > Filters, below Merge User and Group Filters.

When Merge User and Group Filters is on, only users who are direct members of certain groups are imported. By default these are the groups that match the Groups Filter, so one filter decides both which Group objects are imported and which users are imported. The Users Scope Groups Filter separates the two:

  • Groups Filter: decides which Group objects are imported to Assets, and which groups users are linked to.

  • Users Scope Groups Filter: decides which users are imported. Only direct members of the groups that match this filter are imported.

This lets you import more Group objects without importing more users. Leave the filter empty to keep the previous behaviour, where the Groups Filter decides both.

It uses the same format and operators as the other filters, and the same attributes as the Groups Filter: displayName, classification, createdDateTime, deletedDateTime, description, expirationDateTime, id, mail, renewedDateTime, groupTypes, owners_id.

Example: import every group whose name starts with "Team" as a Group object, but only import users who are members of a "Staff" group:

Groups Filter: displayName startsWith 'Team' Users Scope Groups Filter: displayName startsWith 'Staff'

Users are linked to the "Team" groups they are a direct member of.

How it works with other settings

Setting or situation

Behaviour

Setting or situation

Behaviour

Merge User and Group Filters is off

No effect. The filter is only used by Merge.

Groups object type is disabled

No effect. Groups are not read, so Merge is not applied either.

Group filter on the Source page

Both the Groups Filter and the Users Scope Groups Filter only see groups that match the Source page group filter.

Skip groups without members

Applies to the Group objects (Groups Filter result) only. Only users count as members.

A users scope group is not imported as a Group object

Its members are imported, but they are not linked to that group.

The filter matches no groups

Merge is not applied, and users are imported as if Merge were off (other filters still apply).

Very large tenants (at most 20 groups linked per user)

Merge User and Group Filters, and so this filter, is not applied. See the Limitations section on the Introduction tab.

Test Import

Only the first 100 groups are read, so the users scope may be incomplete.

Users Filter

Applied after Merge, as before.

Reset Application

Clears this filter together with the Users, Groups and Devices filters.