Background: I have an object 'Request' that can have different SObjectTypes as its Parent. For eg. The Request can have an Opportunity as its Parent, OR it can have a Case as its Parent and so on.

  • To achieve that I have created lookup fields on the Request object to the respective SObject Parents, lets say ParentOpportunity__c and ParentCase__c.

  • I have also created a formula field ParentId__c on the Request object to dynamically determine the Parent Id:

    IF(ParentOpportunity__c != null, ParentOpportunity__c, 
       IF(ParentCase__c != null, ParentCase__c,''))
  • I have a Screen Flow where I am using the Get Record Flow Element to query for Request records based on the ParentId.

  • What I have observed is that if I use ParentId__c = inputId, I dont get a Record, but if I modify the criteria to use ParentCase__c = inputId, the record is found

Is there any limitation on the Get Record Flow Element if the filter includes a Formula Field ?

  • 1
    I'd look at whether the formula field on the Request__c resolves to 15 or 18 character ID and compare that to the value of inputId
    – cropredy
    May 4 at 17:15
  • Thanks @cropredy, the issue was indeed due to the formula field resolving to a 15 digit Id value and the recordPage passing in an 18 digit Id. I used caseSafeId() in the formula field to convert the formula to 18 digits and the get Record was able to find the record
    – Nevds
    May 5 at 10:34
  • I would like to mark your answer as the best answer, but unsure how to mark
    – Nevds
    May 5 at 10:35

1 Answer 1


The likely cause of this is 15 versus 18 character Id values

  • The formula resolves to a 15 character ID
  • The flow input variable is an 18 character ID

Change the formula to use the CASESAFEID() function that will give you an 18 character Id

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .