Short answer:
Use a Client-side filter when the attribute you need is not supported by Microsoft Graph (OData). It lets you filter users using JavaScript logic after the data is imported.
Client-side filter is used when an attribute (such as companyName) is not supportedthe in Microsoft API (OData filter).
See the list of supported attributes here: View supported OData attributes
Client-side filters can be used together with Server-side (OData) filters for more precise control.
Enable Client-side filtering
Go to:
Preferences → Integration → Azure AD
Then enable:
✔ Enable on Azure AD user Synchronization
Example
This filter returns users where the company is either Company1 or Company2:
$.company == 'Company1' || $.company == 'Company2'

More examples
Email domain filter (e.g. @xink.io)
$.mail != null && $.mail.indexOf('@xink.io') > -1Users with the last name
$.sn != null && $.sn.length > 0


Multiple email domains
$.mail != null && ($.mail.indexOf('@domain1.com') > -1 || $.mail.indexOf('@domain2.com') > -1)Users with a job title
$.title != null && $.title.length > 0
Department filter
$.department == "Marketing" || $.department == "Support Team"
Company filter
$.company == "Company Name"
Custom extension attribute
$.extension_f233e43216f748ee99bbcddf6940c7340_extensionAttribute1 == "B1" || $.extension_f233e220d6f748ee991234fsdfg7340_extensionAttribute1 == "B2"
See: How to sync Entra ID custom attributes
Important note
Check connectivity will not show the number of users matching a Client-side filter.
Syntax
Client-side filters use JavaScript syntax.
Learn more:
Example: Users with postal code 12345
$.postalCode == '12345'
Supported attributes
See Microsoft Graph documentation and search for "Supports $filter" to identify supported properties:
https://docs.microsoft.com/en-us/graph/api/resources/user
