New and Changed Objects

Access more data through these new and changed standard objects.

Salesforce Overall

Create in-app guidance prompts to deliver news, training, tips, and more to users
Use the new Prompt, PromptAction, PromptActionShare, PromptActionOwnerSharingRule, PromptVersion objects.
See an event’s due date time
Use the new ActivityDateTime field on the LookedUpFromActivity, OpenActivity, and ActivityHistory objects.

Sales Processes

Give feedback about call quality in Lightning Dialer
Use the new VoiceCallQualityFeedback and VoiceCallQualityFeedbackShare objects.
Customize product schedules
The OpportunityLineItemSchedule object now supports custom fields, validation rules, and Apex triggers. Deleting a schedule now also invokes delete triggers. If customizable product schedules are enabled, you can use custom fields in default schedules and customize their layout. But if you’ve applied validation rules or Apex triggers, they’re bypassed when they’re first inserted.
Partner relationships are creatable and deletable
The View All Data permission requirement was removed from the AccountPartner, OpportunityPartner, and Partner objects. These objects are now creatable and deletable according to a user's Write and Delete permissions on the Opportunity and Account objects.
Set the primary contact at the same time the opportunity is created
Use the ContactID field, set as the primary contact, on the existing Opportunity object.

Assets

The Asset object supports primary key (PK) chunking for bulk query jobs
PK chunking helps you efficiently process a large volume of records. For more information, see PK Chunking Header and Walk Through a Bulk Query Sample Using PK Chunking.

AppExchange

Request usage data on your managed packages (Pilot)
Use the new AppAnalyticsQueryRequest object to request App Analytics data on managed packages.

Approval Processes

Disable email notifications from approval processes where the user is an approver
Use the new UserPreferencesReceiveNoNotificationsAsApprover field on the existing User object.
Enable email notifications from approval processes where the user is a delegated approver
Use the new UserPreferencesReceiveNotificationsAsDelegatedApprover field on the existing User object.

Authentication and Identity

Give a connected app permission to access external resources
Use the new OauthCustomScope object, which represents a permission that defines the protected resources that a connected app can access from an external entity.
See the number of failed login attempts on a user account
Use the new NumberOfFailedLogins field on the existing User object.
View the operating system version running on a device
Use the new PlatformVersion field on the existing UserDevice object.
See if a user attempted to access a list view
Use the new ListView picklist option for the Activity field of the VerificationHistory object.
View streaming logout event data in any org with API access
The LogoutEventStream object is now available in any org with the API Enabled permission.
See more data about user login events
  • Use the CountryIso field on the LoginEvent object to see the country code where a user logged in to Salesforce.
  • Use the HttpMethod field on the LoginEvent object to identify the HTTP method of the login request.
Enable callouts to resources in Amazon Web Services over HTTP using the Signature Version 4 signing process
Use the new AwsAccessKey, AwsService, AwsRegion, and AwsAccessSecret fields on the existing NamedCredential object.
Build token-based named credentials for easier external connections
Use the new AuthTokenEndpointUrl, JwtAudience, JwtFormulaSubject, JwtIssuer, JwtSigningCertificate, JwtTextSubject, and JwtValidityPeriodSeconds fields on the existing NamedCredential object.

Data Protection and Privacy

Manage the version and lifespan of an authorization form
Use the new AuthorizationForm object.
Store your customers’ consent to an authorization form
Use the new AuthorizationFormConsent object.
Get info on the changes to values in the fields of an authorization form consent record
Use the new AuthorizationFormConsentHistory object.
Indicate the data use purpose associated with an authorization form
Use the new AuthorizationFormDataUse object.
Get info on the changes to values in the fields of an authorization form data use record
Use the new AuthorizationFormDataUseHistory object.
Get info on rules for sharing an authorization form data use object with users other than the owner
Use the new AuthorizationFormDataUseOwnerSharingRule object.
Get info on the list of access levels to an authorization form data use
Use the new AuthorizationFormDataUseShare object.
Get info on the changes to values in the fields of an authorization form record
Use the new AuthorizationFormHistory object.
Get info on rules for sharing an authorization form object with users other than the owner
Use the new AuthorizationFormOwnerSharingRule.
Get info on the list of access levels to an authorization form
Use the new AuthorizationFormShare object.
Specify the text and language of an authorization form
Use the new AuthorizationFormText object.
Get info on the changes to values in the fields of an authorization form text record
Use the new AuthorizationFormTextHistory object.
Get info about data sensitivity values in the SecurityClassification picklist
Use the new FieldSecurityClassification object.
Track customers’ consent preferences for being contacted via mailing, social, and web
Use the new mailing, social, and web values on the action parameter on the existing Consent object.
Get customers’ consent preferences for a specific timestamp
Use the new datetime parameter on the existing Consent object.
Get customers’ consent preferences for being contacted for a specific reason
Use the new purpose parameter on the existing Consent object.
BEHAVIOR CHANGE: The Consent object includes more objects when aggregating customers’ consent settings
The Consent object consults fields on the DataUsePurpose and ContactPointTypeConsent objects.
New fields added
The individual object now has three new fields: InfluencerRating, ConsumerCreditScore, and ConsumerCreditScoreProvider.

Einstein Analytics

DEPRECATED: Use EPT instead of UI_RENDER_TIME in Einstein Analytics.
UI_RENDER_TIME is deprecated in Summer '19 with API version 46.0. Use the wave performance event type EPT field instead.

Einstein Platform

Get notifications when an Einstein feature has written prediction results back to AI prediction fields
Use the new AIPredictionEvent standard platform event. Subscribe to this event using processes, flows, Apex triggers, and Streaming API.

Email

EmailMessage
The fields MessageIdentifier and ThreadIdentifier now include the idLookup property.
EmailTemplate
Use the new EnhancedLetterheadId field to determine which enhanced letterhead is associated with the email template.

Use the new read-only DeliveryRate, TotalDelivered, TotalSoftBounced, TotalHardBounced, TotalOpens, and TotalSent fields to understand engagement activity related to a template.

EnhancedLetterhead
Use the new object for the enhanced letterhead feature.

Field Service Lightning

Create work type-based scheduling limits to control how many hours your team spends on specific types of jobs

Use the new WorkCapacityLimit, WorkCapacityUsage, and ServiceAppointmentCapacityUsage objects. To learn more, see Set Scheduling Limits for Different Types of Work.

Choose whether service appointment notifications are sent on assignment or on dispatch
Use the new IsAssignmentNotification and IsDispatchNotification fields on the FieldServiceMobileSettings object.
IsUseSalesforceMobileActions field reserved for future use
This field remains in the API for a future release.
Start populating data into the Shift standard object
The new Shift object will be used to schedule service resources in a future release.
Get info on shift statuses
Use the new ShiftStatus object.
Get info on rules for sharing a shift object with users other than the owner
Use the new ShiftOwnerSharingRule object.
Get info on the list of access levels to a shift
Use the new ShiftShare object.
Get info on the changes to values in the fields of a shift record
Use the new ShiftHistory object.

Flow

Filter or sort flow interviews by whether or not they were paused from a screen
Use the new WasPausedFromScreen field on the existing FlowInterview object.
Get metadata about a flow definition
Use the new FlowDefinitionView object.
Get metadata about a flow version
Use the new FlowVersionView object.
Get metadata about a flow variable
Use the new FlowVariableView object.

Omni-Channel

Get the ID of the queue that the work assignment was originally routed to
Use the new OriginalGroupId field on the AgentWork object.
Get the ID of the preferred user to handle the work.
Use the new PreferredUserId field on the AgentWork and PendingServiceRouting objects.
Get the ID of the Omni-Channel queue
Use the new GroupId field on the PendingServiceRouting object.
Set the number of seconds to wait before a skill marked as Additional Skill is dropped from Omni-Channel routing. The case is then routed to the best-matched agent even if they don’t have all the skills.
Use the new DropAdditionalSkillsTimeout field on the QueueRoutingConfig object.
Set a skill to Additional Skill. After a designated timeout period, a skill marked as additional is dropped from Omni-Channel routing. The case is then routed to the best-matched agent even if they don’t have all the skills.
Use the new IsAdditionalSkill field on the SkillRequirement object.

Packaging

Deprecate a package version
Use the new IsDeprecated field on the MetadataPackageVersion object.

Permission Set Groups

MutingPermissionSet (Pilot)
Represents a set of disabled permissions and is used in conjunction with PermissionSetGroup (Pilot). This object is available in API version 46.0 and later.

Sharing

Get info about the visibility attributes that determine a record’s read access
Use the new RecordVisibility (pilot) object.

Social Customer Service

Specify the type of the first attachment on the social post
Use the new supported values APPLICATION, AUDIO, and TEXT in the existing AttachmentType field on the SocialPost object.
Retrieve the user's social network avatar
Use the new AvatarURL field on the existing SocialPersona object.

Case Management

Add logic that controls the execution of macro instructions
Use the new IF, ELSEIF, ELSE, and ENDIF values in the Operation field of a MacroInstruction object.
Specify an expression that controls the execution of macro instructions
Use the new ExpressionFilter object when defining a conditional statement in a MacroInstruction object.
Define a condition used in an expression for a conditional macro
Use the ExpressionFilterCriteria object to define a condition that’s used in an ExpressionFilter object.
Show quick actions in the Actions & Recommendations component
Use the new value QuickAction in the existing ActionType field on the RecordAction object.
View the history of quick actions that started from the Actions & Recommendations component
Look for the new value QuickAction in the existing ActionType field on the RecordActionHistory object.
Newly documented fields for case milestones
Introduced in a previous API version, the fields TimeSinceTargetInDays, TimeSinceTargetInHours, TimeRemainingInDays, and TimeRemainingInHours have been documented for the CaseMilestone object. As of API version 46.0, these fields are available in Lightning Experience.

Enterprise Territory Management

Edit the Object Territory Assignment Rule page layout in Object Manager
The describeLayout() property on the ObjectTerritory2AssignmentRule object makes Object Territory Assignment Rule available in Object Manager.

Event Monitoring

Filter outlier values to improve event log data in reports and dashboards
In the Lightning Page View event type, outlier values in the EFFECTIVE_PAGE_TIME field of over 60 seconds are now filtered out of the event logs.
Changed data type for fields in Apex Unexpected Exception event type
In the Apex Unexpected Exception event type of EventLogFile, the data type of EXCEPTION_MESSAGE and STACK_TRACE fields has changed from String to Text.

Lightning Communities

AppMenuItem
When using this object to retrieve apps for use in your mobile apps, the mobileStartUrl now returns a fully qualified domain name for a Lightning community.
ChannelProgramMemberHistory
The new channelProgramMemberhistory, lets users track the history of changes to a partner who is a member of a channel program.
NetworkMember
The new PreferencesDisableBestAnswerEmail, when false, lets users receive email when someone marks their answer to a post as best.

Salesforce Surveys

Store the complete user input for a question label
Use the new QuestionName field on the existing SurveyQuestion object.
Store the complete participant response for a survey question
Use the new ResponseValue field on the existing SurveyQuestionResponse object.
BEHAVIOR CHANGE: Store up to 250 characters of user’s input for a question label
Use the existing Name field on the SurveyQuestion object. This field previously stored the complete question label.
BEHAVIOR CHANGE: Store up to 250 characters of a participant’s response for a question
Use the existing ResponseShortText field on the SurveyQuestionResponse object. This field previously stored the complete participant response for a question.

Real-Time Event Monitoring (Beta)

Note

Note

As a beta feature, Real-Time Event Monitoring is a preview and isn’t part of the “Services” under your master subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply equally to your use of this feature. For information on enabling this feature in your org, contact Salesforce.

Stream and store real-time events in your org
An EventStream object represents an instance of a real-time, streaming event that
 occurs in your org. You can subscribe to EventStream objects, create transaction security
 policies to take actions when events occur, and more. The following EventStream objects
 are included as part of Real-Time Event Monitoring (beta).
  • AdminSetupEventStream—Tracks when an admin makes changes to encryption keys in
 your org.
  • ApiEventStream—Tracks user API queries in your org.
  • LightningUriEventStream—Tracks when a user creates, accesses, updates, or
 deletes a record in Lightning Experience.
  • ListViewEventStream—Tracks when a user accesses data with list views.
  • LoginAsEventStream—Tracks when an admin logs in to your org as another user.
  • LoginEventStream—Tracks when a user logs in to your org.
  • LogoutEventStream—Tracks when a user clicks Log
 Out in the Salesforce UI. This object is enabled in all orgs with API access.
  • ReportEventStream—Tracks when a user accesses or exports report data.
  • UriEventStream—Tracks when a user creates, accesses, updates, or deletes a
 record in Salesforce Classic.
You can opt to store information about streaming events to an Event object, which is a big object that acts as a log for streaming events. The following Event objects
 are included as part of Real-Time Event Monitoring (beta).
  • AdminSetupEvent—Stores AdminSetupEventStream objects.
  • ApiEvent—Stores ApiEventStream objects
  • LightningUriEvent—Stores LightningUriEventStream
 objects
  • ListViewEvent—Stores ListViewEventStream objects
  • LoginAsEvent (GA)—Stores LoginAsEventStream objects
  • LogoutEvent—Stores LogoutEventStream objects
  • ReportEvent—Stores ReportEventStream objects
  • UriEvent—Stores UriEventStream objects