Real Messaging Engine

Data Model

Every RME object lives in your org, under your sharing model, in your backups.

Object map

Contact / Lead / Account
        │
        ▼
   Message__c ──────────────► Template__c
        │  │                      │
        │  └──► Delivery_Attempt__c (per provider try)
        │
        ├──► Delivery_Status__c (normalized events)
        ├──► Message_Reply__c    (inbound correlation)
        └──► Message_Tracking__c (opens, clicks, reads)

Provider_Config__c ──► Named Credential
Sending_Domain__c  ──► DKIM / SPF / DMARC state
Consent__c         ──► per channel + category
Suppression__c     ──► global | channel | category | temporary
Audit_Log__c       ──► configuration + policy changes
RME_Device__c      ──► push registrations

Message__c

FieldTypeNotes
Channel__cPicklistRequested channel
Resolved_Channel__cPicklistChannel actually used
Direction__cPicklistOutbound / Inbound
Status__cPicklistQueued, Scheduled, Sent, Delivered, Failed, Suppressed, Expired
Category__cPicklistTransactional, Service, Operational, Marketing
Contact__c / Lead__cLookupRecipient linkage
Related_Record_Id__cTextPolymorphic context record
Template__cLookupTemplate and version used
Provider__cPicklistFinal provider
Provider_Message_Id__cText (External Id)Correlation key for webhooks
Segments__cNumberSMS segment count
Consent_Basis__cTextWhy the send was permitted

Delivery_Status__c

One record per normalized event: Event_Type__c, Occurred_At__c, Provider__c, Reason_Code__c, Payload__c. This is the analytics grain.

FieldPurpose
Contact__cSubject
Channel__cEMAIL, SMS, RCS, WHATSAPP, VOICE, PUSH
Category__cPurpose scope
Status__cOpted In, Opted Out, Unknown
Source__cWeb form, keyword, agent, import, API
Captured_At__cProof timestamp
Evidence__cLong text — IP, form id, recording id

Retention

Delivery_Status__c and Message_Tracking__c are pruned by a scheduled job using eventRetentionDays. Message__c, Consent__c, Suppression__c, and Audit_Log__c are retained indefinitely unless a data-retention policy is configured.

Reporting

Report types ship for Messages with Delivery Status, Messages by Template, Consent by Channel, and Suppression Growth. Because everything is a Salesforce object, CRM Analytics, Data Cloud, and standard reports work with no connector.

Continue to REST APIs.

Was this helpful?

Last updated 1 month ago