Real Messaging Engine

Push Notifications

Mobile push for the Salesforce mobile app, custom mobile apps, and Experience Cloud progressive web apps.

Supported targets

TargetTransport
Salesforce mobile appSalesforce Connected App push
Custom iOS appAPNs
Custom Android appFCM
Experience Cloud PWAWeb Push (VAPID)

Device registration

Devices register against RME_Device__c records linked to a User or Contact. Registration is handled by the packaged Lightning Web Component or by REST:

curl -X POST https://<my-domain>/services/apexrest/rme/v1/devices \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{ "contactId": "0035f00000AbCdEAAV", "platform": "IOS", "token": "a1b2c3..." }'

Sending

RME_Message.builder()
    .channel('PUSH')
    .toContact(contactId)
    .title('Case #00012345 updated')
    .body('An agent replied to your case.')
    .data(new Map<String, String>{ 'caseId' => caseId, 'deepLink' => '/case/' + caseId })
    .badge(1)
    .send();

Delivery expectations

Push is best-effort. Tokens expire, devices go offline, and platform feedback services report unregistered tokens asynchronously. RME automatically deactivates devices reported as invalid and can fall back to SMS or email:

.channels(new List<String>{ 'PUSH', 'SMS' }).strategy('FIRST_REACHABLE')

Continue to Communication Templates.

Was this helpful?

Last updated 1 month ago