I am trying to access the Recordtype field on the Call object but when I run that field through a query (in this case the getPicklistValueLabels method) I receive the following error:

getPicklistValueLabels called with field that cannot be accessed: RecordType

Does anyone know why this might be happening? We are able to access other Salesforce Standard fields.

2 Answers 2


You should use either SObjectType.getDescribe().getRecordTypeInfos() (see DescribeSObjectResult) or query the RecordType object.

for(RecordTypeInfo info: Call.SObjectType.getDescribe().getRecordTypeInfos()) {
  options.add(new SelectOption(info.getRecordTypeId(), info.getName());

Record Type is different than other fields it's not really a picklist so your method would not work.

In all my happenings every time I needed to get information about the record type I had to query for it.


List<RecordType> recordTypeAcc = [SELECT Id FROM RecordType WHERE SobjectType = 'Account' AND DeveloperName = 'Dan_Account'];

You must log in to answer this question.

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