Share post

Share post

Share post

Blog: Product

Product Update: Improved row-level filtering

Product Update: Improved row-level filtering

Salesforce |

New features

By: Chris Chandler

17 April 2023

Governing data access is a critical requirement for customers connecting Salesforce to their data warehouse. Typically, access models already exist in Salesforce that govern who can see what accounts and customers. However, Salesforce Connect has no native ability to dynamically filter outbound queries. External objects can only be restricted at the object level, out-of-the-box.

Omnata for Salesforce has always supported row-level filtering, however, we have made incremental improvements based on customer feedback. Originally, row-level filtering simply supported ‘Salesforce value’ = ‘Database value’. A single Salesforce field must match a single column in the database table. However, more complex or tiered access levels are difficult to represent with a single value.


Compare arrays

We decided the best way to handle more complex access rules was to add support for array data types on the Salesforce and data warehouse side.

This means that instead of a one-to-one relationship, users can create many-to-many relationships between attributes. Now, arrays of values on both sides can be compared to filter results of Omnata live-queries. If you have tiers of users, or users with access to multiple sets of records, you can utilise this access logic whichever side of the integration it lives.


Boolean operators

In other cases, there will be a TRUE/FALSE flags in Salesforce that determine access to a database row. Salesforce concepts like a user being a member of a public group or given a particular permission set can now be supported with boolean operators AND, OR, XAND, XOR, NAND or NOR.
Visit our docs for a full breakdown.


Try it out

For a free 30-day trial, visit the Salesforce AppExchange or get in touch.

Governing data access is a critical requirement for customers connecting Salesforce to their data warehouse. Typically, access models already exist in Salesforce that govern who can see what accounts and customers. However, Salesforce Connect has no native ability to dynamically filter outbound queries. External objects can only be restricted at the object level, out-of-the-box.

Omnata for Salesforce has always supported row-level filtering, however, we have made incremental improvements based on customer feedback. Originally, row-level filtering simply supported ‘Salesforce value’ = ‘Database value’. A single Salesforce field must match a single column in the database table. However, more complex or tiered access levels are difficult to represent with a single value.


Compare arrays

We decided the best way to handle more complex access rules was to add support for array data types on the Salesforce and data warehouse side.

This means that instead of a one-to-one relationship, users can create many-to-many relationships between attributes. Now, arrays of values on both sides can be compared to filter results of Omnata live-queries. If you have tiers of users, or users with access to multiple sets of records, you can utilise this access logic whichever side of the integration it lives.


Boolean operators

In other cases, there will be a TRUE/FALSE flags in Salesforce that determine access to a database row. Salesforce concepts like a user being a member of a public group or given a particular permission set can now be supported with boolean operators AND, OR, XAND, XOR, NAND or NOR.
Visit our docs for a full breakdown.


Try it out

For a free 30-day trial, visit the Salesforce AppExchange or get in touch.

Governing data access is a critical requirement for customers connecting Salesforce to their data warehouse. Typically, access models already exist in Salesforce that govern who can see what accounts and customers. However, Salesforce Connect has no native ability to dynamically filter outbound queries. External objects can only be restricted at the object level, out-of-the-box.

Omnata for Salesforce has always supported row-level filtering, however, we have made incremental improvements based on customer feedback. Originally, row-level filtering simply supported ‘Salesforce value’ = ‘Database value’. A single Salesforce field must match a single column in the database table. However, more complex or tiered access levels are difficult to represent with a single value.


Compare arrays

We decided the best way to handle more complex access rules was to add support for array data types on the Salesforce and data warehouse side.

This means that instead of a one-to-one relationship, users can create many-to-many relationships between attributes. Now, arrays of values on both sides can be compared to filter results of Omnata live-queries. If you have tiers of users, or users with access to multiple sets of records, you can utilise this access logic whichever side of the integration it lives.


Boolean operators

In other cases, there will be a TRUE/FALSE flags in Salesforce that determine access to a database row. Salesforce concepts like a user being a member of a public group or given a particular permission set can now be supported with boolean operators AND, OR, XAND, XOR, NAND or NOR.
Visit our docs for a full breakdown.


Try it out

For a free 30-day trial, visit the Salesforce AppExchange or get in touch.

subscribe

Deliver the goods to your inbox

subscribe

Deliver the goods to your inbox

subscribe

Deliver the goods to your inbox