To create one dynamic URL column that points to the correct Salesforce record depending on which ID is available, you can use a calculated field with conditional logic. This is needed because each record may store the related ID in a different field.
Resolution / Correct Approach
Use a calculated field that:
Prepends your Salesforce domain (sandbox or production)
Checks the three fields in priority order
Appends the first available record ID
Working Formula Example for sandbox:
"https://Orgname--lobodev.sandbox.my.salesforce.com/" +
(
({!STEPNAME.Opportunity.Account}
? {!STEPNAME.Opportunity.Account}
: ({!STEPNAMEt.Opportunity.Constituent}
? {!STEPNAME.Opportunity.Constituent}
: ({!STEPNAME.Opportunity.Source Constituent}
? {!STEPNAME.Opportunity.Source Constituent}
: "")))
)
What this formula does
If Account exists → generates link to Account
If not, checks Constituent
If that’s empty, checks Source Constituent
Builds a complete URL that users can click directly in the MSR