Newer Version Available

This content describes an older version of this product. View Latest

Platform Event Allocations

Learn about the allocations available for platform event definitions, publishing and subscribing to platform events, and event delivery in CometD clients.

Common Platform Event Allocations

The following allocations apply to standard-volume and high-volume platform events.

Description Performance and Unlimited Editions Enterprise Edition Developer Edition Professional Edition (with API Add-On)
Maximum number of platform event definitions that can be created in an org 100 50 5 5
Maximum number of concurrent CometD clients (subscribers) across all channels and for all event types 2,000 1,000 20 20
Maximum number of processes that can subscribe to a platform event 4,000 4,000 4,000 5
Maximum number of active processes that can subscribe to a platform event 2,000 2,000 2,000 5
  • The concurrent client allocation is shared with all types of events that you can subscribe to through Streaming API (CometD), including PushTopic, generic, platform events, and change events. The empApi Lightning component uses CometD and consumes the concurrent client allocation like any other CometD client. Each logged-in user using empApi counts as one concurrent client. If the user has multiple browser tabs using empApi, the streaming connection is shared and is counted as one client for that user. A client that exceeds the concurrent client allocation receives an error and can't subscribe. When one of the clients disconnects and a connection is available, the new client can subscribe. For more information, see Streaming API Error Codes in the Streaming API Developer Guide.
  • Platform events that originate from an installed managed package share the org’s allocation for the maximum number of platform event definitions.

Note

High-Volume Platform Event Default Allocations

If your org has no add-on licenses, default allocations apply for event publishing and delivery that can't be exceeded. The default allocation is enforced daily to ensure fair sharing of resources in the multitenant environment and to protect the service. The publishing allocation is how many events you can publish using any method, including Apex, APIs, flows, and processes. The delivery allocation is how many event notifications can be delivered to CometD subscribers, including the empApi Lightning component. It excludes non-CometD subscribers, such as Apex triggers, flows, and processes. The publishing allocation is higher than the delivery allocation because there can be various types of subscribers. Published event messages that are delivered to non-CometD subscribers, such as Apex triggers, flows, and processes, don’t count against the delivery allocation.

The number of delivered events to CometD clients is counted per subscribed client. If you have multiple client subscribers, your usage is added across all subscribers. For example, you have an Unlimited Edition org with a default allocation of 50,000 events in a 24-hour period. Within a few hours, 20,000 event messages are delivered to two subscribed clients. So you consumed 40,000 events and are still entitled to 10,000 events within the 24-hour period.

If you exceed the default event delivery allocation, you receive an error. For more information, see Streaming API Error Codes in the Streaming API Developer Guide. Event messages that are generated after exceeding the allocation are stored in the event bus. You can retrieve stored event messages as long as they are within the retention window of 72 hours.

Table 1. Default Allocations
Description Performance and Unlimited Editions Enterprise Edition and Professional Edition (with API Add-On) Developer Edition
Event Delivery: maximum number of delivered event notifications in the last 24 hours, shared by all CometD clients. (Applies to CometD clients and the empApi Lightning component only.) 50,000 25,000 10,000
Event Publishing: maximum number of event notifications published per hour. (Applies to all publishing methods, including Apex, APIs, flows, and processes.) 250,000 250,000 50,000

High-Volume Platform Event Add-On License and Usage-Based Entitlement

If your org has the add-on license, your allocation for delivered events to CometD clients moves to a monthly entitlement model. The add-on increases the 24-hour allocation of delivered event notifications by 100,000 per day (3 million a month) as a usage-based entitlement. The entitlement gives you flexibility in how you use your allocations. The entitlement isn’t as strictly enforced as the default allocation. With the entitlement, you can exceed your 24-hour event delivery allocation by a certain amount. The entitlement is reset every month after your contract start date. Entitlement usage is computed only for production orgs. It isn't available in sandbox or trial orgs. For more information, see Usage-based Entitlement Fields.

Salesforce monitors event overages based on a calendar month, starting with your contract start date. If you exceed the monthly entitlement, Salesforce contacts you to discuss your event usage needs. The entitlement used for monitoring monthly event overages is the daily allocation multiplied by 30.

When you purchase an add-on license, the hourly event publishing allocation increases by 25,000 events per hour.

Table 2. Example: Entitlement with One High-Volume Platform Event Add-On License
Description Performance and Unlimited Editions Enterprise Edition and Professional Edition (with API Add-On)
Event Delivery: entitlement for delivered event notifications, shared by all CometD clients. (Applies to CometD clients and the empApi Lightning component only.)

You can exceed this entitlement by a certain amount before receiving an error. Salesforce uses the monthly entitlement for event overage monitoring. The monthly entitlement is returned in the limits REST API resource.

Last 24 hours: 150,000 (50 K included with org license + 100 K from add-on license)

Monthly entitlement: 4.5 million (1.5 million included with org license + 3 million from add-on license)

Last 24 hours: 125,000 (25 K included with org license + 100 K from add-on license)

Monthly entitlement: 3.75 million (0.75 million included with org license + 3 million from add-on license)

Event Publishing: maximum number of event notifications published per hour. (Applies to all publishing methods, including Apex, APIs, flows, and processes.) 275,000 (250 K included with org license + 25 K from add-on license) 275,000 (250 K included with org license + 25 K from add-on license)

The maximum event message size that you can publish is 1 MB. If your event object has hundreds of custom fields or many long text area fields, you could hit this limit. In this case, the publishing call gets an error.

  • The default allocations and usage-based entitlement of delivered events are shared between high-volume platform events and Change Data Capture events.
  • Non-CometD clients, including Apex triggers, processes, and flows, don’t count against the event delivery limit. The number of event messages that an Apex trigger, process, or flow can process depends on how long the processing takes for each subscriber. The longer the processing time, the longer it takes for the subscriber to reach the tip of the event stream.
  • The empApi Lightning component is a CometD client. As a result, the event delivery allocation applies to the component and it is per channel per unique browser session.

Note

Monitor Your High-Volume Event Usage Against Your Allocations

Determine how to check event usage for your org.

Allocation Org With Add-On License Org Without Add-On License
Event Delivery: number of delivered event notifications to CometD clients Check your usage in one of these ways:
  • With the REST API limits resource: usage information is returned in MonthlyPlatformEventsUsage​Entitlement in API version 48.0 and later. This value is updated once a day.
  • In the user interface: From Setup, in the Quick Find box, enter Company Information, and then select Company Information. The usage is shown under the Usage-based Entitlements related list.
With the REST API limits resource: usage information is returned in MonthlyPlatformEvents in API version 47.0 and earlier. This value is updated within a few minutes after event delivery.
Event Publishing: number of event notifications published per hour With the REST API limits resource: usage information is returned in HourlyPublishedPlatformEvents With the REST API limits resource: usage information is returned in HourlyPublishedPlatformEvents

For more information about the limit usage values that the limits REST resource returns, see Limits and List Organization Limits in the REST API Developer Guide.

Monitor 24-Hour and Daily Event Usage with PlatformEventUsageMetric

To get usage data for event publishing and CometD-client delivery, query the PlatformEventUsageMetric object. The usage metrics stored in PlatformEventUsageMetric are separate from the REST API limits values. The REST API limits resource returns the maximum and remaining allocations for platform events and change data capture events. PlatformEventUsageMetric contains actual event usage data broken down by type of event for platform events and change data capture events.

PlatformEventUsageMetric usage data is available for the last 24 hours, ending at the last hour, and for historical daily usage for the last 45 days. Use PlatformEventUsageMetric to get visibility into your usage trends.

For more information, see Monitor Platform Event Publishing and Delivery Usage.

Monitor Hourly Event Delivery Usage with REST API

To monitor your org's event delivery hourly usage, make a REST API call to the limits resource every hour. The difference between the results obtained in the last 2 hours shows how many events were delivered in the last hour.

For example, you make a call at 12:00 PM and see that you have 40,000 events remaining. Then you run the same call at 1:00 PM and see that you have 38,500 events remaining. The returned responses indicate that 1,500 events were delivered to your CometD subscribers between 12:00 PM and 1:00 PM.

These results are examples of the responses that a GET request to the /services/data/v47.0/limits URI returns.

1First call result:
2{
3...  
4"MonthlyPlatformEvents" : {
5    "Max" : 50000,
6    "Remaining" : 40000
7  },
8
9...
10}
11 
12Second call result:
13{
14...  
15"MonthlyPlatformEvents" : {
16    "Max" : 50000,
17    "Remaining" : 38500
18  },
19
20...
21}

Standard-Volume Platform Event Allocations

The following allocations are for standard-volume events defined in API version 44.0 and earlier.

You can no longer define new standard-volume platform events. New platform events are high volume by default.

Note

Description Performance and Unlimited Editions Enterprise Edition Developer Edition and Professional Edition (with API Add-On)
Event Delivery: maximum number of delivered event notifications in the last 24 hours, shared by all CometD clients1 50,000 25,000 10,000
Event Publishing: maximum number of event notifications published per hour 100,000 100,000 1,000

If you exceed the event delivery allocation, you receive an error. For more information, see Streaming API Error Codes in the Streaming API Developer Guide. Standard-volume event messages that are generated after exceeding the allocation are stored in the event bus. You can retrieve stored standard-volume event messages as long as they are within the retention window of 24 hours.

To monitor your standard-volume event delivery usage, use the limits REST API resource, and inspect the DailyStandardVolumePlatformEvents value. And to monitor the publishing usage, inspect the HourlyPublishedStandardVolumePlatformEvents value. For more information, see List Organization Limits in the REST API Developer Guide.

1To request a higher number of standard-volume events delivered to CometD clients, contact Salesforce to purchase an add-on license. The add-on license increases your daily limit of delivered events by 100,000 more events. For example, for Unlimited Edition, the add-on license increases the daily limit of delivered events from 50,000 to 150,000 events. You can purchase multiple add-ons to meet your event requirements for CometD clients. To avoid deployment problems and degradation in service, we recommend that the number of events delivered to CometD clients not exceed 5 million per day. If you require more external events, contact your Salesforce representative to understand how the product can scale to meet your needs.