---
schema_version: "1"
id: 6163afe3489b680a0d2be374a018a2a0806766877c00b784d5e51cdc0c508b63
title: Other Ways to Send a Custom Notification
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/notif_builder_custom_other.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.notif_builder_custom_other.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 1f48d2d4ea5be637b716d433de697cea12502abc668e8410d6cacd9bae269acc
description: We’ve made it easy to build notifications using clicks, not code. But if your business needs are more complex, we also support flows and programmatic solutions.
products:
  - Salesforce Platform
  - Security
release: "264"
---
# Other Ways to Send a Custom Notification

We’ve made it easy to build notifications using clicks, not code. But if your business needs are more complex, we also support flows and programmatic solutions.

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-extend_click-264-0-0-production-enus/5f7d9219-b7b1-4552-8891-f1aba9b289fc/images/icon_tip.png)

Tip To see how to specify the target using JSON, see [pageReference](https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/components_navigation_page_definitions.htm).

## Flow Builder

[Flow Core Action: Send Custom Notification](https://help.salesforce.com/s/articleView?id=platform.flow_ref_elements_actions_sendcustomnotification.htm&type=5&language=en_US): The Send Custom Notification action is available in Flow Builder. Add it to your flow, then add recipients and content.

Some tips specific to custom notifications:

- To query for the Notification Type ID directly from a flow, add the Get Record element to your flow and filter by API name. If you’ve installed a notification type via a managed package, filter by the namespace prefix as well as the API name.
- To add recipients, define Recipient ID as a resource. Then add values to your Recipient ID collection by adding the Assignment element to your flow.

If you’re new to creating flows, learn even more in [Flow Reference](https://help.salesforce.com/s/articleView?id=platform.flow_ref.htm&type=5&language=en_US).

## Apex

`[CustomNotification](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_class_Messaging_CustomNotification.htm)`: Use the CustomNotification Apex class to create, configure, and send custom notifications from Apex code, such as a trigger.

When possible, create and send custom notifications from Apex rather than via API call. It’s less code, and more efficient.

## API

CustomNotificationType: Use the CustomNotificationType object to create notification types and query for your Custom Notification Type ID. It’s available for the following APIs:

- [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_customnotificationtype.htm)
- [Tooling](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customnotificationtype.htm)
- [Lightning Platform REST and SOAP](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_customnotificationtype.htm)

[customNotificationAction Invocable Action](https://developer.salesforce.com/docs/atlas.en-us.api_action.meta/api_action/actions_obj_custom_notification.htm): Use the customNotificationAction action to send custom notifications to desktop and delivery channels.