6

When architecting a solution, I often find myself wanting to know which (of the less-used) standard objects support triggers.

Does anyone know of a single compiled list of standard objects that are not triggerable, for quick reference?

The emphasis here is on quick reference.

8

Following Standard objects don't support trigger, I have gathered so far as of Spring' 17 release.

  • AcceptedEventRelation
  • AccountContactRelation
  • AccountCleanInfo
  • AccountContactRole
  • AccountFeed
  • AccountHistory
  • AccountOwnerSharingRule
  • AccountPartner
  • AccountShare
  • AccountTag
  • AccountTeamMember
  • AccountTerritoryAssignmentRule
  • AccountTerritoryAssignmentRuleItem
  • AccountTerritorySharingRule
  • ActionLinkGroupTemplate
  • ActionLinkTemplate
  • ActivityHistory
  • AdditionalNumber
  • AllowedEmailDomain
  • Announcement
  • ApexClass
  • ApexComponent
  • ApexLog
  • ApexPage
  • ApexTestQueueItem
  • ApexTestResult
  • ApexTestResultLimits
  • ApexTestRunResult
  • ApexTestSuite
  • ApexTrigger
  • AppMenuItem
  • Approval
  • Article Type__DataCategorySelection
  • Article Type__Feed
  • AssetFeed
  • AssetOwnerSharingRule
  • AssetShare
  • AssetTag
  • AssignedResource
  • AssignmentRule
  • AsyncApexJob
  • AttachedContentDocument
  • AttachedContentNote
  • AuraDefinition
  • AuraDefinitionBundle
  • AuthConfig
  • AuthConfigProviders
  • AuthProvider
  • AuthSession
  • BackgroundOperation
  • BackgroundOperationResult
  • Bookmark
  • BrandTemplate
  • BusinessHours
  • BusinessProcess
  • CallCenter
  • CampaignFeed
  • CampaignInfluence
  • CampaignInfluenceModel
  • CampaignMemberStatus
  • CampaignOwnerSharingRule
  • CampaignShare
  • CampaignTag
  • CaseArticle
  • CaseContactRole
  • CaseFeed
  • CaseHistory
  • CaseMilestone
  • CaseOwnerSharingRule
  • CaseShare
  • CaseSolution
  • CaseStatus
  • CaseTag
  • CaseTeamMember
  • CaseTeamRole
  • CaseTeamTemplate
  • CaseTeamTemplateMember
  • CaseTeamTemplateRecord
  • CategoryData
  • CategoryNode
  • CategoryNodeLocalization
  • ChatterActivity
  • ChatterAnswersReputationLevel
  • ChatterConversation
  • ChatterConversationMember
  • ChatterMessage
  • ClientBrowser
  • CollaborationGroupFeed
  • CollaborationGroupMemberRequest
  • CollaborationGroupRecord
  • CollaborationInvitation
  • CombinedAttachment
  • Community (Zone)
  • ConnectedApplication
  • ContactCleanInfo
  • ContactFeed
  • ContactHistory
  • ContactOwnerSharingRule
  • ContactShare
  • ContactTag
  • ContentAsset
  • ContentDistributionView
  • ContentDocumentFeed
  • ContentDocumentHistory
  • ContentFolder
  • ContentFolderItem
  • ContentFolderLink
  • ContentFolderMember
  • ContentHubItem
  • ContentHubRepository
  • ContentNote
  • ContentVersionHistory
  • ContentWorkspace
  • ContentWorkspaceDoc
  • ContractContactRole
  • ContractFeed
  • ContractHistory
  • ContractHistory
  • ContractLineItemHistory
  • ContractStatus
  • ContractTag
  • CorsWhitelistEntry
  • CronJobDetail
  • CronTrigger
  • CurrencyType
  • CustomBrand
  • CustomBrandAsset
  • Custom Object__Feed
  • CustomPermission
  • CustomPermissionDependency
  • DandBCompany
  • Dashboard
  • DashboardComponent
  • DashboardComponentFeed
  • DashboardFeed
  • DashboardTag
  • DataAssessmentFieldMetric
  • DataAssessmentMetric
  • DataAssessmentValueMetric
  • DatacloudCompany
  • DatacloudContact
  • DatacloudDandBCompany
  • DatacloudOwnedEntity
  • DatacloudPurchaseUsage
  • DatacloudSocialHandle
  • DatedConversionRate
  • DcSocialProfile
  • DcSocialProfileHandle
  • DeclinedEventRelation
  • Division
  • DivisionLocalization
  • Document
  • DocumentAttachmentMap
  • DocumentTag
  • Domain
  • DomainSite
  • DuplicateRule
  • EmailDomainKey
  • EmailMessageRelation
  • EmailServicesAddress
  • EmailServicesFunction
  • EmailStatus
  • EmailTemplate
  • EmbeddedServiceDetail
  • EntitlementFeed
  • EntitlementHistory
  • EntitlementTemplate
  • EntityHistory
  • EntityMilestone
  • EntitySubscription
  • EnvironmentHubMember
  • EventFeed
  • EventLogFile
  • Lightning Error Event Type
  • Lightning Interaction Event Type
  • Lightning Page View Event Type
  • Lightning Performance Event Type
  • Login Event Type — LOGIN_STATUS Values
  • EventRelation
  • EventTag
  • EventWhoRelation
  • ExternalDataSource
  • ExternalDataUserAuth
  • FeedAttachment
  • FeedLike
  • FeedPollChoice
  • FeedPollVote
  • FeedPost
  • FeedRevision
  • FeedTrackedChange
  • FieldHistoryArchive
  • FieldPermissions
  • FiscalYearSettings
  • FlexQueueItem
  • FlowInterview
  • FlowInterviewOwnerSharingRule
  • FlowInterviewShare
  • Folder
  • FolderedContentDocument
  • ForecastingAdjustment
  • ForecastingFact
  • ForecastingItem
  • ForecastingOwnerAdjustment
  • ForecastingQuota
  • ForecastingType
  • ForecastingUserPreference
  • ForecastShare
  • Goal
  • GoalFeed
  • GoalHistory
  • GoalLink
  • GoalShare
  • GoogleDoc
  • Group
  • GroupMember
  • HashtagDefinition
  • Holiday
  • IdeaReputation
  • IdeaReputationLevel
  • IdeaTheme
  • KnowledgeableUser
  • KnowledgeArticle
  • KnowledgeArticleVersion
  • KnowledgeArticleVersionHistory
  • KnowledgeArticleViewStat
  • KnowledgeArticleVoteStat
  • LeadCleanInfo
  • LeadFeed
  • LeadHistory
  • LeadOwnerSharingRule
  • LeadShare
  • LeadStatus
  • LeadTag
  • LimitAllocationPerApp
  • LineitemOverride
  • LinkedArticleFeed
  • LinkedArticleHistory
  • ListView
  • ListViewChart
  • ListViewChartInstance
  • LiveAgentSessionHistory
  • LiveAgentSessionOwnerSharingRule
  • LiveAgentSessionShare
  • LiveChatBlockingRule
  • LiveChatButton
  • LiveChatButtonDeployment
  • LiveChatButtonSkill
  • LiveChatDeployment
  • LiveChatSensitiveDataRule
  • LiveChatTranscriptHistory
  • LiveChatTranscriptOwnerSharingRule
  • LiveChatTranscriptShare
  • LiveChatTranscriptSkill
  • LiveChatUserConfig
  • LiveChatUserConfigProfile
  • LiveChatUserConfigUser
  • LoginEvent
  • LoginGeo
  • LoginHistory
  • LoginIp
  • LookedUpFromActivity
  • MacroInstruction
  • MailmergeTemplate
  • MatchingRule
  • MatchingRuleItem
  • MetadataPackage
  • MetadataPackageVersion
  • Metric
  • MetricDataLink
  • MetricDataLinkHistory
  • MetricFeed
  • MetricHistory
  • MetricsDataFile
  • MetricShare
  • MilestoneType
  • Name
  • NamedCredential
  • NavigationLinkSet
  • NavigationMenuItem
  • NavigationMenuItemLocalization
  • Network
  • NetworkActivityAudit
  • NetworkMember
  • NetworkMemberGroup
  • NetworkModeration
  • NetworkPageOverride
  • NetworkSelfRegistration
  • NewsFeed
  • OauthToken
  • NoteAndAttachment
  • NoteTag
  • ObjectPermissions
  • ObjectTerritory2AssignmentRule
  • ObjectTerritory2AssignmentRuleItem
  • ObjectTerritory2Association
  • OpenActivity
  • OperatingHours
  • OperatingHoursFeed
  • OperatingHoursHistory
  • OpportunityCompetitor
  • OpportunityContactRole
  • OpportunityFeed
  • OpportunityFieldHistory
  • OpportunityHistory
  • OpportunityLineItemSchedule
  • OpportunityOverride
  • OpportunityOwnerSharingRule
  • OpportunityPartner
  • OpportunityShare
  • OpportunitySplitType
  • OpportunityStage
  • OpportunityTag
  • OrderFeed
  • OrderHistory
  • OrderItemFeed
  • OrderItemHistory
  • OrderOwnerSharingRule
  • Organization
  • OrgWideEmailAddress
  • OwnedContentDocument
  • PackageLicense
  • PackagePushError
  • PackagePushJob
  • PackagePushRequest
  • PackageSubscriber
  • PartnerNetworkConnection
  • PartnerNetworkRecordConnection
  • PartnerNetworkSyncLog
  • PartnerRole
  • Period
  • PermissionSet
  • PermissionSetAssignment
  • PermissionSetLicense
  • PermissionSetLicenseAssign
  • PlatformAction
  • PresenceUserConfig
  • PresenceUserConfigProfile
  • PresenceUserConfigUser
  • Pricebook2History
  • PricebookEntry
  • ProcessDefinition
  • ProcessInstance
  • ProcessInstanceHistory
  • ProcessInstanceStep
  • ProcessInstanceNode
  • ProcessInstanceWorkitem
  • ProcessNode
  • Product2Feed
  • ProductEntitlementTemplate
  • Profile
  • ProfileSkillEndorsementFeed
  • ProfileSkillEndorsementHistory
  • ProfileSkillFeed
  • ProfileSkillHistory
  • ProfileSkillShare
  • ProfileSkillUserFeed
  • ProfileSkillUserHistory
  • PushTopic
  • QuantityForecast
  • QuantityForecastHistory
  • QueueRoutingConfig
  • QuestionDataCategorySelection
  • QuestionReportAbuse
  • QuestionSubscription
  • QueueSobject
  • QuickTextHistory
  • QuickTextOwnerSharingRule
  • QuickTextShare
  • QuoteDocument
  • QuoteFeed
  • RecentlyViewed
  • RecordType
  • RecordTypeLocalization
  • ReplyReportAbuse
  • Report
  • ReportFeed
  • ReportTag
  • ReputationLevel
  • ReputationLevelLocalization
  • ReputationPointsRule
  • ResourceAbsence
  • ResourceAbsenceFeed
  • ResourceAbsenceHistory
  • RevenueForecast
  • RevenueForecastHistory
  • RuleTerritory2Association
  • SamlSsoConfig
  • Scontrol
  • ScontrolLocalization
  • SearchPromotionRule
  • SecureAgent
  • SecureAgentsCluster
  • SecurityCustomBaseline (Beta)
  • SelfServiceUser
  • ServiceAppointment
  • ServiceAppointmentFeed
  • ServiceAppointmentHistory
  • ServiceAppointmentOwnerSharingRule
  • ServiceAppointmentShare
  • ServiceChannel
  • ServiceChannelStatus
  • ServiceContractFeed
  • ServiceContractHistory
  • ServiceContractOwnerSharingRule
  • ServiceContractShare
  • ServicePresenceStatus
  • ServiceResource
  • ServiceResourceCapacity
  • ServiceResourceCapacityFeed
  • ServiceResourceCapacityHistory
  • ServiceResourceFeed
  • ServiceResourceHistory
  • ServiceResourceOwnerSharingRule
  • ServiceResourceShare
  • ServiceResourceSkill
  • ServiceResourceSkillFeed
  • ServiceResourceSkillHistory
  • ServiceTerritory
  • ServiceTerritoryFeed
  • ServiceTerritoryHistory
  • ServiceTerritoryMember
  • ServiceTerritoryMemberFeed
  • ServiceTerritoryMemberHistory
  • SessionPermSetActivation
  • SetupAuditTrail
  • SetupEntityAccess
  • SignupRequest
  • Site
  • SiteDomain
  • SiteHistory
  • Skill
  • SkillProfile
  • SkillRequirement
  • SkillRequirementFeed
  • SkillRequirementHistory
  • SkillUser
  • SlaProcess
  • SolutionFeed
  • SolutionHistory
  • SolutionStatus
  • SolutionTag
  • SOSDeployment
  • SOSSession
  • SOSSessionActivity
  • SOSSessionHistory
  • SOSSessionOwnerSharingRule
  • SOSSessionShare
  • Stamp
  • StampAssignment
  • StaticResource
  • TagDefinition
  • TaskFeed
  • TaskPriority
  • TaskRelation
  • TaskStatus
  • TaskTag
  • TaskWhoRelation
  • TenantSecret
  • Territory2Model
  • Territory2ModelHistory
  • Territory2Type
  • TestSuiteMembership
  • ThirdPartyAccountLink
  • TimeSlot
  • TimeSlotHistory
  • TopicFeed
  • TopicLocalization—Beta
  • TwoFactorInfo
  • TwoFactorMethodsInfo
  • TwoFactorTempCode
  • UndecidedEventRelation
  • UserAccountTeamMember
  • UserAppInfo
  • UserAppMenuCustomization
  • UserAppMenuCustomizationShare
  • UserAppMenuItem
  • UserConfigTransferButton
  • UserConfigTransferSkill
  • UserCustomBadge
  • UserCustomBadgeLocalization
  • UserFeed
  • UserLicense
  • UserLogin
  • UserMembershipSharingRule
  • UserPackageLicense
  • UserPreference
  • UserProfile
  • UserProfileFeed
  • UserProvisioningConfig
  • UserProvisioningRequestOwnerSharingRule
  • UserProvisioningRequestShare
  • UserRecordAccess
  • UserRole
  • UserShare
  • UserTeamMember
  • UserTerritory
  • VerificationHistory
  • VoiceCall
  • VoiceCallList
  • VoiceCallListItem
  • VoiceCallListShare
  • VoiceCallShare
  • VoiceMailContent
  • VoiceMailContentShare
  • VoiceUserLine
  • VoiceUserLineShare
  • VoiceVendorInfo
  • VoiceVendorLine
  • VoiceVendorLineShare
  • Vote
  • WebLink
  • WebLinkLocalization
  • WorkAccess
  • WorkAccessShare
  • WorkBadgeDefinitionHistory
  • WorkBadgeDefinitionShare
  • WorkCoaching
  • WorkCoachingFeed
  • WorkCoachingHistory
  • WorkCoachingShare
  • WorkFeedback
  • WorkFeedbackHistory
  • WorkFeedbackQuestion
  • WorkFeedbackQuestionHistory
  • WorkFeedbackQuestionSet
  • WorkFeedbackQuestionSetHistory
  • WorkFeedbackQuestionSetShare
  • WorkFeedbackQuestionShare
  • WorkFeedbackRequest
  • WorkFeedbackRequestFeed
  • WorkFeedbackRequestHistory
  • WorkFeedbackRequestShare
  • WorkFeedbackShare
  • WorkGoal
  • WorkGoalCollaborator
  • WorkGoalCollaboratorHistory
  • WorkGoalFeed
  • WorkGoalHistory
  • WorkGoalLink
  • WorkGoalShare
  • WorkOrder
  • WorkOrderFeed
  • WorkOrderHistory
  • WorkOrderLineItem
  • WorkOrderLineItemFeed
  • WorkOrderLineItemHistory
  • WorkOrderShare
  • WorkPerformanceCycle
  • WorkPerformanceCycleFeed
  • WorkPerformanceCycleHistory
  • WorkPerformanceCycleShare
  • WorkReward
  • WorkRewardFund
  • WorkRewardFundHistory
  • WorkRewardFundShare
  • WorkRewardFundType
  • WorkRewardFundTypeHistory
  • WorkRewardFundTypeShare
  • WorkRewardHistory
  • WorkRewardShare
  • WorkThanksShare
  • WorkType
  • WorkTypeFeed
  • WorkTypeHistory
  • I have gathered by manual comparison, if anybody find any mistake then correct me. – Santanu Boral Apr 27 '17 at 1:53
  • I am impressed! Out of curiosity did you use an API to gather the info? – dsharrison Apr 27 '17 at 2:55
  • taken latest API document and got trigger applicable objects from Developer console and then prepare a excel to compile – Santanu Boral Apr 27 '17 at 2:57
  • Clever, does anyone know if the metadata or tooling APIs expose the list of possible trigger objects? – dsharrison Apr 27 '17 at 3:03
  • 4
    It might be simpler to list the standard objects that do support triggers instead... – Mike Chale Apr 27 '17 at 12:38
1

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...

0

Just as latest update, we can now develop trigger on some object given above like WorkOrder and WorkOrderLineItem.

I just developed a good workaround to list such items. Even you can use this code to filter out some other types objects (deleteable, searchable...) as well.

Add your org base URL in a remote site setting and run below given code in dev console:

String endpoint = URL.getSalesforceBaseUrl().toExternalForm()+'/services/data/v41.0/sobjects/';
HttpRequest req = new HttpRequest();
endpoint += '';
req.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionID());
req.setHeader('Content-Type', 'application/json');
req.setEndpoint(endpoint);
req.setMethod('GET');
Http httpreq = new Http();
HttpResponse  res  = httpreq.send(req);
Map<String, Object> m = (Map<String, Object>)JSON.deserializeUntyped(res.getBody());
List<Object> ob = (List<Object>)m.get('sobjects');
string csv = '';
for(Object o : ob){
    Map<String, Object> real = (Map<String, Object>)o;
    if((Boolean)real.get('triggerable')){
        csv+= real.get('name')+',';
    }
}
system.debug(csv);

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.