UPDATED list, with a script to retrieve all non-triggerable objects on demand.
Run this and check the debug log to find out which standard objects are not triggerable:
Map<String, Schema.SObjectType> gd = Schema.getGlobalDescribe();
List<Schema.DescribeSObjectResult> standardObjDescs = new List<Schema.DescribeSObjectResult>();
for (Schema.SObjectType sobj : gd.values()) {
Schema.DescribeSObjectResult sobjDesc = sobj.getDescribe();
if (!sobjDesc.isCustom()) {
standardObjDescs.add(sobjDesc);
}
}
List<String> triggerableList = new List<String>();
List<String> NOTtriggerableList = new List<String>();
for (Schema.DescribeSObjectResult schemaDesc : standardObjDescs) {
String sobjStruct = JSON.serialize(schemaDesc);
DescribeSobjectResultJSON sobjProps = (DescribeSobjectResultJSON)JSON.deserialize(sobjStruct, DescribeSobjectResultJSON.class);
if (sobjProps.triggerable) {
triggerableList.add(sobjProps.name);
} else {
NOTtriggerableList.add(sobjProps.name);
}
}
NOTtriggerableList.sort();
for (String notTrigble : NOTtriggerableList) {
System.debug(notTrigble);
}
public class DescribeSobjectResultJSON {
public String name {get;set;}
public Boolean triggerable {get;set;}
}
(I remembered that you can expose private object properties that the API doesn't expose via getters by serializing and deserializing, so you can run the following script that uses the triggerable property on Schema.DescribeSObjectResult to get the list.)
Add to @Santanu Boral 's helpful list:
- AggregateResult
- ApexEmailNotification
- ApexPageInfo
- AssetHistory
- AuraDefinitionBundleInfo
- AuraDefinitionInfo
- Community
- CustomObjectUserLicenseMetrics
- DataStatistics
- DataType
- DatacloudAddress
- EntityDefinition
- EntityParticle
- FieldDefinition
- ForecastingCategoryMapping
- ForecastingTypeToCategory
- GrantedByLicense
- InstalledMobileApp
- Knowledge__DataCategorySelection
- Knowledge__ViewStat
- Knowledge__VoteStat
- MacroShare
- OrderShare
- OwnerChangeOptionInfo
- PicklistValueInfo
- PlatformCachePartition
- PlatformCachePartitionType
- Publisher
- QuoteTemplateRichTextData
- RelationshipDomain
- RelationshipInfo
- SearchLayout
- SecureAgentPlugin
- SecureAgentPluginProperty
- SiteFeed
- StreamingChannelShare
- TenantUsageEntitlement
- Territory2ModelFeed
- TodayGoal
- TodayGoalShare
- TopicLocalization
- UserEntityAccess
- UserFieldAccess
- UserListView
- UserListViewCriterion
Though seeing how long this list is, it might make more sense to do a search than reference a comprehensive list...