Field filtering on NERM

We are implenting the NERM(Non-Employee Risk Management) in our client, and on of our requests is have fields that are directly connected.

For example if a user selects the value Company A on companyName field and the value Subsudiary on companyType, in the field contracts should only appear the contracts that are from that specific company and specific type, and when the user selects the contract it should load the value on the contractStartDate field.

1 User selects companyName and companyType on form
2 User selects contract on contracts
3 contractStartDate and contractEndDate is loaded into fields with the read only option

We tried to achieve this using Profiles and ProfileSearch field type.

Does anyone have a suggestion on this?

Hi Lucas,

I’m not a NERM expert, but I went through your post, checked the docs, & looked at a few similar setups. Sharing what I found in case it helps narrow this down.

  1. The main limitation here is how Profile Search / Profile Select filtering works. It supports only a single filtering attribute per field. So contracts can be filtered using one linked attribute (for example, companyName), but you can’t apply multiple conditions like companyName AND companyType in the same field.

Because of that, trying to drive the contract filter from both companyName & companyType as separate inputs won’t behave the way you expect.

The cleaner way to model this is to push companyType into the Company profile itself instead of keeping it as a separate user input. Once the user selects companyName, the type is already known, so you don’t need a second filter.

A simpler structure would be:

  • Company profile with companyType as an attribute

  • Contract profile with a Profile Select (e.g., contract_company) linking back to Company

  • On the form:

    • companyName → Profile Select (Company)

    • contracts → Profile Select (Contract), Filter ON

      • Filtering attribute = companyName

      • Filter = contract_company

  1. For contractStartDate and contractEndDate, the Profile Search field won’t auto-populate those. There’s no attribute mapping at the form level.

To handle that, you’ll need a workflow step after the form (Set Attribute Values), using “Set as → another profile’s value”, pulling from the selected contract profile (repeat for both start and end dates).

  1. For read-only behavior, set those date attributes to View instead of Edit in the permissions.

One thing to keep in mind: this population happens when the workflow runs, not when the user selects the contract. NERM forms aren’t reactive, so you won’t see those values update live on selection. If real-time population is a hard requirement, that would need a custom UI built on top of the NERM APIs.

Docs I went through while looking into this:

This is just based on what I could validate from docs & patterns I have seen, but hopefully it points you in the right direction.

Hope this helps. Plz let me know how it goes

Hi Lucas,

Welcome to the SailPoint Developer Community!

This is an interesting use case. From what I understand, you’re trying to create dependent fields where the selection in one field filters the options in another and also auto-populates related data.

Using Profiles and ProfileSearch is a good starting point, but it can be a bit limited for handling multi-field dependency like this.

One approach you could explore is using a custom form logic or rule to dynamically filter the contract list based on companyName and companyType. Then, once a contract is selected, the same logic could be used to populate the start and end date fields as read-only.

Thanks!