An indirect lookup relationship is a custom relationship between two objects that are linked by an external ID field. The external ID field must be a custom field on the parent object that has the "External ID" attribute enabled. The child object must be a standard or custom object that is on the detail side of a master-detail or lookup relationship.