After following the steps to configure your DataSync application for Salesforce, you can then configure the application to share data out of your Salesforce org. The DataSync application has the following tabs to give you access to its features. Contact support@perspectium.com with any questions.
Shares
The Shares tab contains the different options to share data out of your Salesforce org:
Dynamic Share
A dynamic share allows for real-time sharing of Salesforce records as they are created, updated, and/or deleted. In other words, dynamic shares are caused by some triggering event (such as when cases are created, updated, or deleted). The data is shared to a subscriber, which can be the DataSync Agent, or any number of the other applications that Perspectium can integrate with.
When selecting the Dynamic Share option you are presented with the following options:
Create New Dynamic Share so you can create a new dynamic share to share out records real time for a selected table (SObject).
View Dynamic Shares to see the dynamic shares you previously created and so you can update and delete them.
When creating or editing a dynamic share, do the following to ensure the dynamic share is set up correctly:
- Click Save to first save the dynamic share configuration. After you save, the dynamic share show a preview of the Apex trigger that will be created to capture real time changes.
- Click Save Trigger to save the Apex trigger. Repeat these steps anytime you make changes to the dynamic share.
If you prefer, you can modify the trigger directly by doing the following:
Since Apex triggers are considered code that requires test coverage, you will need to have a test class for your Apex trigger to deploy it into production. See the following for an example Apex trigger test class.
Bulk Share
A bulk share is a job that sends out bulk records from your Salesforce org as a pre-filtered range of data, at a point in time all at once. The data is shared to a subscriber, which can be the DataSync Agent, or any number of the other applications that Perspectium can integrate with.
When selecting the Bulk Share option you are presented with the following options:
Create New Bulk Share to create a new bulk share to share out records at a point in time for a selected table (SObject).
View Bulk Shares allows you to see the bulk shares you previously created and so you can re-execute them.
When creating a bulk share, you can Save the bulk share to save the bulk share or click Execute Now to save and execute the bulk share. Once a bulk has been executed, the bulk share's configurations cannot be changed but it can be executed again by clicking the Execute Now option again.
Some notable features for bulk shares:
Preview - The Preview button will allow you to get a preview of how records the bulk share will share out when executed.
Clone - To create a copy of this bulk share. This is useful if you have a current bulk share that's been executed and you want to use it with changes to some of the configurations without having to create a brand new bulk share and reconfigure from scratch.
Enable Confirmation - To have the DataSync Agent validate that it has received all the records shared out as part of this bulk share execution. The bulk share will send out compare messages that the Agent will use to validate records were received. If the Agent finds that a record is missing (by verifying the record exists when querying for it by the record's Id), it will send back a reshare message telling the Perspectium application in Salesforce to reshare those records. The application will create a new reshare bulk share (named Reshare <Bulk Share Name> Datetime i.e. Reshare AccountShare 2024-02-07 19:29:03) to share out the missing records and another compare message so the Agent can confirm its receive these records. This will repeat until the Agent has confirmed the records are all received.
Share Updates Since Then - To share records only since the last time this bulk share was executed. After the first run (in which all records will be shared based on any filter conditions you enter), the bulk share will then only share any records that were updated since the last time the bulk share executed (using the bulk share's Started time as the last time it executed). This is useful if you set up the bulk share in a scheduled bulk share to share out only changes on a scheduled basis.
Table Map - To specify a table map for transforming how records will be shared out.
NOTE: The Table Map and Fields to Share options are not compatible with each other.
Scheduled Bulk Share
Schedule one or more bulk shares to run at a scheduled interval you choose. After creating a bulk share, you can add the created bulk configuration as a child record to be run under the schedule specified within your scheduled bulk configuration.
When selecting the Scheduled Bulk Share option you are presented with the following options:
Create New Scheduled Bulk Share to create a new scheduled bulk share and select which bulk shares to be run and at what intervals.
View Scheduled Bulk Shares allows you to see the scheduled bulk shares you previously created and modify their configurations
When creating a new scheduled bulk share (or modifying a current one), you can do the following:
- Select a date and time in the Scheduled Date Time field for when to start bulk sharing records, and the Days and Hours to repeat the process in the Repeat Interval field.
- In the Available Bulk Shares, select which bulk shares you want to schedule.
- Check the Active box to activate the scheduled bulk share.
- Click Save to save your changes.
Queues
The Queues tab contain the queues in the Perspectium Integration Mesh you use to share out data from your Salesforce org and to subscribe to data into org.
For sharing data out of your Salesforce org, you specify a Shared Queue where data will be saved into in the Perspectium Integration Mesh to be consumed by a target (such as the DataSync Agent consuming messages to save records into a target database).
For subscribing to data into your org (i.e. you want to consume messages from the Integration Mesh that was shared by a different source system), you specify a Subscribed Queue in the Integration Mesh you will be consuming messages from.
NOTE: To work with the Enable Confirmation bulk share feature, you will need to create a subscribed queue in the format of psp.out.salesforce.<instance>.<organization_name> in lower case and replacing spaces with _ so the Agent can send back messages for any missing records. The Instance and Organization Name can be found in Company Information:
For example, in the above screenshot where the Organization Name is PSP DS and the Instance is NA244, you would create a subscribed queue named psp.out.salesforce.na244.psp_ds.
Some notable features when creating a new queue (or editing a current queue):
Direction - The direction of the queue, if its for sharing data out of your org (Share) or to subscribe to data into your org (Subscribe).
Alias - A name as a reference to the queue. Alias are used to give a "name" to a queue so your dynamic share Apex trigger created in your sandbox org can be deployed in your production org. When migrating your Apex trigger from sandbox to production using change sets, the Apex trigger code cannot be changed. So using the same alias name when creating a queue in sandbox and creating a queue in production allows you to specify different queues in your sandbox and production orgs that can use the same Apex trigger.
Queue Encryption Key - (Optional) Enter an encryption key for any shares/subscribes that use this queue. If not entered, the default key entered in Properties will be used. To ensure compatibility with all encryption methods, you will have to enter an encryption key of at least 32 characters.
NOTE: Because of how Salesforce encrypts sensitive information fields, the Queue Password and Queue Encryption Key will not be populated when you edit an existing queue. You do not have to re-enter these values when editing a queue unless you want to change their values. Leaving them blank when editing a queue and clicking Save will retain the current values.
Once you've created a queue and saved it for the first time, you can come back to the Queue's form and the following options will be available:
Get Queue Status - To check how many messages are currently in the queue in the Perspectium Integration Mesh. This will allow you to verify if your queue credentials are valid.
Show Encryption Key - To see the encryption key set for this queue. If an encryption was not entered, the message No encryption key set for this queue will be shown (in which case the default encryption key will be used).
Tools
Click here to learn more about the different tools available for the Perspectium application.
Messages
The Messages tab contain the messages being sent to and received from the Perspectium Integration Mesh.
Outbound Messages contains records that are queued to be sent to the Perspectium Integration Mesh. Once the messages have been sent their status will update to Sent.
NOTE: If the Status is at "Ready", the Time Processed field will be blank. Once the status is "Sent", you will be able to see how long it took for the outbound message to be sent.
In the list view of Outbound Messages you will see the following options:
Delete All - To delete all messages in Outbound Messages.
Delete replicator messages - To delete all messages in Outbound Messages with a topic of replicator.
Delete non-replicator messages - To delete all messages in Outbound Messages that do not have a topic of replicator.
NOTE: The above delete options only delete messages in the Outbound Messages table in the Perspectium application in Salesforce to help quickly clean up data in this table. This does not affect the messages in the queues in the Integration Mesh.
Inbound Messages contains records that were shared to this Salesforce instance by other sources. The data flowing into this table will insert or update their respective tables and record once they are processed.
When clicking on a message (both inbound and outbound), you will see a Decrypt Value option. This option will decrypt the message's value field (using the encryption key from the queue or the default key if a key wasn't set in the queue) so you can see the encrypted content that was sent/received from the Integration Mesh.
Dashboard
The Dashboard tab contain an overview of your data exchanges with the Perspectium application in your Salesforce org.
The Dashboard shows the following information:
Queues - A list of the queues you have currently configured. You can toggle between seeing all queues, shared queues and subscribed queues.
Messages - A list of outbound messages. You can toggle between seeing all messages, those that have a status of Error (to troubleshoot issues further), those that have a status of Ready (messages ready to be sent to the Integration Mesh) and Sent (messages that have already been sent to the Integration Mesh).
Bulk Share History chart - A bar chart showing how much data you've bulk shared by date. If you have not executed any bulk shares, the chart will show the message No bulk share execution history found. Run some bulk shares to show history here. NOTE: Salesforce's charting capabilities will reflect an empty chart if you share a similar amount of data for all days (since it will appear as a line at the bottom of the chart). Once your bulk sharing levels start to differentiate, then the chart will show bars properly.
Bulk Shares - A list of the bulk shares you have currently configured.
Dynamic Shares - A list of the dynamic shares you have currently configured.