function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Sushant RaoSushant Rao 

Lookup(User,Queue) using integration.

This is an integration topic, but I had no better place to put it. 


When using Cast Iron, it appears a Custom Objects standard owner field cannot be populated using the external id on User. After some investigation, we found that custom objects have a lookup field that can either be a reference to a User or Queue - Lookup(User,Queue). 


Does anybody know of a way to either convert this to a regular lookup - Lookup (User) or solve this some other way. 




What do you mean by regular lookup ? 


Yes, you cannot assign external ID field to owner lookup as the ID you are passing throught the external ID field may not exist in SFDC. You can create an external ID field which will store the unique ID from the external system. You can also create a lookup to User object from your custom Object, which can act as Owner field.


But if you are trying to pass the User Name from the external system then you may want to create a before insert/update trigger which will find the ID of the user name you are sending from the external system and once there is an existing record is found get the User ID and assign it to the standard owner field.


If the answer was too confusing , I may not be getting the exact requirement. Please ignore or suggest anything else..

Sushant RaoSushant Rao

Unfortunately the need is to use the standard Owner field. 


If you go to a Custom object, one of the standard fields you get is Owner which can accept either a Queue or User or Lookup(User, Queue). If I create a Lookup to the User Object, i.e Lookup(User), a.k.a regular lookup :)  ... Cast Iron, seems to need a regular User lookup to map it to an external ID. 


Is there a way to get from Lookup(User, Queue) -> Lookup(User). 




You cannot map External ID to the User Lookup. You have to have a User ID from the User Object , so that you can assign that ID to the Owner 


It allows for all standard object, i have MSFT CRM GUID for the user and i stamp it on the user record in Salesforce.
Using that i map the record owners. it works perfectly fine for standard objects.

I am at the same situation, i am trying to use Informatica. we have an external ID (custom) field on User object. I am trying to map the record owner using this external id field. but i dont get the Owner field in the lookup.


Did you handle it any other way ?


This situation is causing a different type of issue for me.  I guess for custom objects that don't have standard object parents the owner field is polymorphic - Lookup(User, Queue).  I want to write a relational query in SOQL that pulls a custom field from the user object.  It is not working becuase of the Polymorphic data type.  A queue would never own this object so I'd like to change the data type of owner to just Lookup(User) instead of Lookup(User,Queue).  Would be interested to hear how folks are working around this.