Access Cross-Object Owner Fields in Flow

Some fields have relationships to more than one object. We call these relationships polymorphic. For example, if you have queues enabled for cases, a case owner can be either a user or queue. If you’re traversing from a case to its owner ID, add special syntax to identify which object you mean when you say “Owner”.
To reference a field on a related record, use this syntax.
{!sObjectVariable.polymorphicObjectName1:specificObjectName2.fieldName}
where:
  • sObjectVariable is the unique name for the sObject variable that you want to start from.
  • polymorphicObject is the API name for a polymorphic relationship for sObjectVariable's object type.
  • specificObjectName is the API name for the object that you want to select from the polymorphic relationship.
  • fieldName is the name for the field that you want to reference on the last object in the expression. All custom field API names end in __c.

Supported Relationships

Not every relationship is polymorphic, so we recommend using the polymorphic syntax only when you know that the field can link to multiple objects. The following relationships are supported.
  • Case.Source
  • FeedItem.CreatedBy
  • Object.Owner

    Where Object lets you set Owner to either a user or a queue. Group.Owner and Queue.Owner aren’t supported.

Example

{!sObj_Case.Owner:User.Id} references the ID of the user who owns the case, while {!sObj_Case.Owner:Queue.Id} references the ID of the queue who owns the case. You can always add the polymorphic reference after several traversals ({!sObj_Case.Account.Owner:User.Id}) or in the middle of a reference ({!sObj_Case.Owner:User.Manager.Id}).