Before you begin sending custom notifications, learn about important storage, recipient, and org limits.
Required Editions
| Available in: both Salesforce Classic and Lightning Experience |
| Available in: Essentials, Professional, Enterprise, Performance, Unlimited, and Developer Editions |
| User Permissions Needed | |
|---|---|
| To create, edit, or view processes: |
Manage Flow AND View All Data |
After December 31, 2025, existing processes continue to run, and you can activate, deactivate, and edit them; however, we recommend using Flow Builder. To migrate existing processes, plan your switch to Flow Builder and use the Migrate to Flow tool. For new automations, create flows in Flow Builder.
- You can create up to 500 custom notification types.
- Each notification can have up to 10,000 users as recipients. However, you can add an action to the same process within Process Builder or to the same flow in Flow Builder to have more recipients.
- Your org saves your most recent 1 million custom notifications for view in notification trays. Your org can save up to 1.2 million custom notifications, but it trims the amount to the most recent 1 million notifications when you reach the 1.2 million limit.
-
An org can execute up to 10,000 notification actions per hour. When you exceed this limit, no more notifications are sent in that hour, and all unsent notifications are lost. Notification actions resume in the next hour.
For example, your notification action processes are triggered 10,250 times between 4:00 and 4:59. Salesforce executes the first 10,000 of those actions. The remaining 250 notifications aren’t sent and are lost. Salesforce begins executing notification actions again at 5:00.
-
Handle the hourly limit in your automation. When a flow’s Send Custom Notification action exceeds the hourly limit, the action returns an error. In Flow Builder, this error behaves like any other fault: if you don’t connect a fault path to the action, the error propagates and rolls back the transaction that triggered the flow—for example, the record save that started a record-triggered flow. To keep unrelated business processes from failing when this limit is reached, connect a fault path to the Send Custom Notification action and handle the fault gracefully—for example, log it to a custom object or notify an admin through a different channel—instead of letting it interrupt the triggering transaction.
-
Design automations to stay within the hourly limit. Automations that call Send Custom Notification in a loop or in bulk—such as Email-to-Case cycles, record-triggered flows that fire on every save, or bulk updates—can exhaust the hourly limit quickly. Before you enable them at scale, add recursion protection so a single event can’t repeatedly trigger the same notification, test with realistic and bulk volumes to confirm you stay within the hourly limit, and connect a fault path on the notification action so that hitting the limit degrades gracefully instead of failing the triggering transaction.
- When you send a custom notification from a process, the Target ID for the notification is
the record that started the process. However, target records that don't have their own detail
page (for example, a case comment, which appears only in a Case Comment related list) don't
support direct navigation. Use Flow Builder to send the notification from a flow and specify
either a different Target ID or Target Page Reference.
Tip To see how to specify the target using JSON, see pageReference. - Custom notification title and body fields support plain text only.
- The content of custom push notifications depends on the Display full content push notifications setting. If full content push notifications aren’t enabled, only the notification title is sent.