Hi @John Condon
The most reliable way to control Custom Action visibility based on Portfolio association is to use a Custom Field (relation summary type) on the Project object that pulls in the Portfolio ID. You can then reference this field in your Custom Action’s visibility rules.
This approach is recommended because:
- Portfolio details aren’t directly accessible from the Project object in the current architecture
- A custom field provides a stable and maintainable way to reference the Portfolio
- It ensures consistent behavior and is easier to troubleshoot
- It works well for both visibility logic and reporting/KPIs
Just to clarify: using GetLink('PortfolioProjectLink').Portfolio.ID won’t work in the Project module to filter by Portfolio. That method isn’t supported for visibility rules in this context, which is why the custom field approach is preferred.
Hi @John Condon
Not sure if you managed to resolve this, but I’m posting here in case anybody else comes across a similar issue and would like an alternative to the other options mentioned.
You were nearly there with your syntax - the entity type referenced by the formula needs to be passed as a string, and not a field name.
You can use the following as the evaluation criteria for the Custom Action:
Not(IsNull(GetLink('PortfolioProjectLink','PFO-101',CurrentObject())))