Reference
Pendula Salesforce Package architecture and objects

Malcolm Jacobson
Malcolm Jacobson
  • Updated

This article describes the architecture, message flow and objects of the Pendula Salesforce Package.

Screenshot 2024-09-19 at 14.16.20.png

The Pendula package provides the following features for Salesforce customers.

Pendula tenant to Salesforce

Messages sent to or from your Pendula tenant are synchronised to your Salesforce org after you install the Pendula manage package.

These messages include flow, message and experience data, written to the custom objects associated with the Pendula package.

Customers using the Pendula Console can see the complete history of any messages sent to or received from a selected recipient.

Activity Sync

Activity Sync sends a record of all inbound and outbound activity within your Pendula instance to your Salesforce org, and writes that data to the Pendula Message and Pendula Message Event objects.

Recipient Matching

When a message is sent from or received by Pendula, the message includes details about the recipient that received or sent the message.

This information is used to automatically match the message to an existing record within your Salesforce org. If no match is found, the message appears as an Unmatched message type in the list of message records.

Pendula Salesforce objects

The Pendula for Enterprise Salesforce package contains four custom objects.

Screenshot 2024-09-17 at 14.13.37.png

Console Message

The Console Message object records outbound messages sent from the Pendula Console to a customer.

Field Label Field Name Data Type
Actioned Pendula4E__Actioned__c Checkbox
Body Pendula4E__Body__c Text Area(32768)
Console Message Number Name Auto Number
Contact Pendula4E__Contact__c Lookup(Contact)
Created By CreatedById Lookup(User)
Last Modified By LastModifiedById Lookup(User)
Lead Pendula4E__Lead__c Lookup(Lead)
Message Date Time Pendula4E__Message_Date_Time__c Date/Time
Owner OwnerId Lookup(User,Group)
Person Account Pendula4E__Person_Account__c Lookup(Account)
ToNumber Pendula4E__To_Number__c Phone
User Pendula4E__User__c Lookup(User)

 

Message

The Message object records inbound messages sent from Pendula to Salesforce.

Field Label Field Name Data Type Values
Body Pendula4E__Body__c Long Text Area(32768)  
Channel Pendula4E__Channel__c Picklist SMS
Email
Console Message Pendula4E__Console_Message__c Lookup(Console Message)  
Created By CreatedById Lookup(User)  
Direction Pendula4E__Direction__c Picklist Outbound
Inbound
Email Body HTML Pendula4E__Email_Body_HTML__c Long Text Area(131072)  
Email From Address Pendula4E__Email_From_Address__c Text(80)  
Email Reply To Pendula4E__Email_Reply_To__c Text(80)  
Email Subject Pendula4E__Email_Subject__c Text Area(255)  
Email To Address Pendula4E__Email_To_Address__c Text(80)  
Experience Id Pendula4E__Experience_Id__c Text(255) (External ID)  
Flow Id Pendula4E__Flow_Id__c Text(36) (External ID)  
Flow Name Pendula4E__Flow_Name__c Text Area(255)  
Flow Version Pendula4E__Flow_Version__c Text(5)  
From Number Pendula4E__From_Number__c Phone  
Last Modified By LastModifiedById Lookup(User)  
Message Date Time Pendula4E__Message_Date_Time__c Date/Time  
Message Id Pendula4E__Message_Id__c Text(36) (External ID) (Unique Case Sensitive)  
Message Number Name Auto Number  
Owner OwnerId Lookup(User,Group)  
Record Type RecordTypeId Record Type  
Reply Match Type Pendula4E__Reply_Match_Type__c Picklist Exact Match (Conversation)
Exact Match (Trigger)
Rule Match (Conversation)
Rule Match (Trigger)
Unmatched
Reply Path Label Pendula4E__Reply_Path_Label__c Text(25)  
SMS Segment Count Pendula4E__SMS_Segment_Count__c Number(18, 0)  
Status Pendula4E__Status__c Picklist Queued
Sent To Gateway
Delivered
Failed
Bounced
Opened
Tenant Id Pendula4E__Tenant_Id__c Text(50)  
Timestamp Pendula4E__Timestamp__c Date/Time  
To Number Pendula4E__To_Number__c Phone  

 

Message Event

The Message Event object records events related to inbound and outbound Pendula messages.

Field Label Field Name Data Type Values
Created By CreatedById Lookup(User)  
Last Modified By LastModifiedById Lookup(User)  
Message Pendula4E__Message__c Lookup(Message)  
Message Event Number Name Auto Number  
Message Id Pendula4E__Message_Id__c Text(36)  
Owner OwnerId Lookup(User,Group)  
Status Pendula4E__Status__c Picklist Sent To Gateway
Delivered
Failed
Bounced
Opened
Tenant Id Pendula4E__Tenant_Id__c Text(255)  
Timestamp Pendula4E__Timestamp__c Date/Time  

 

Message Recipient

The Message Recipient object is used to record the association between a Pendula message and the native Salesforce recipient.

Field Label Field Name Data Type
Contact Pendula4E__Contact__c Lookup(Contact)
Created By CreatedById Lookup(User)
Last Modified By LastModifiedById Lookup(User)
Lead Pendula4E__Lead__c Lookup(Lead)
Message Pendula4E__Message__c Master-Detail(Message)
Message Recipient Number Name Auto Number
Person Pendula4E__Person__c Lookup(Account)
User Pendula4E__User__c Lookup(User)