At Dreamforce 2024, Salesforce introduced significant advances in both their data and AI capabilities. The combination of Data Cloud, Marketing Cloud and Einstein AI, including AgentForce (formerly Einstein Copilot), is powerful. Thanks to these developments and continuing investments from Salesforce, we can start leveraging data and AI for payments on Salesforce.
In this blog, we’ll add payment data from FinDock to Data Cloud as the starting point for data-driven AI decision making and the new Marketing Cloud on the core Salesforce platform. If you’d like to learn more on how to use this setup – or other setups – with Salesforce AI tools, including Einstein Predictions, Einstein Discovery and Data Cloud Einstein Studio to predict which future payments are at risk of failing, please check out our Predictive AI series.
Why have payment data in your CRM?
Before we look at Data Cloud, let’s first set the stage with why we want payment data in Salesforce. FinDock adds real-time payment data natively in Salesforce, but why? Can’t they continue to be managed by an ERP or other back office system?
Sure, they can, but should payments really remain a back-office function? In a customer-centric world, we firmly believe payments really belong in your CRM. Payments are a common – and frequent – touch-point in many customer experiences. With real-time payment data natively in Salesforce, you can deliver the personalized engagements that are correct, efficient and ultimately make customers happy.
Salesforce Data Cloud
With Salesforce Data Cloud, you can enrich Salesforce-native sources with data from other systems and data warehouses. You can even combine data from multiple Salesforce orgs! Once you have all your data collected and modeled in Data Cloud, you can use powerful AI tools from Salesforce for many payments use cases. Some new on-core solutions like the new Marketing Cloud heavily rely on Data Cloud.
For standard objects, Salesforce provides packages so you can easily add them to Data Cloud. For custom objects like Installment from FinDock, we need to tell Data Cloud how the object fits into your data model and which payment data to “stream” into your model.
To do this, we use Data Streams and Data Model Objects (DMOs). You can configure additional optional components like Segments and Calculated Insights, but as we do not need them for our AI use cases, we don’t cover them for now.
TIP: If you want to use a Data Cloud configuration in multiple orgs, create a Data Kit with all the elements described below.
Before you start
If you do not have payment data in your org, you can use the following script to insert some records. The script injects random processors and methods names. It does not take your actual FinDock configuration into account. (Data Inject Script)
Step 1 – Set up Data Cloud
For standard objects, Salesforce provides packages so you can easily add them to Data Cloud. For custom objects like Installment from FinDock, we need to tell Data Cloud how the object fits into your data model and which payment data to “stream” into your model.
To do this, we use Data Streams and Data Model Objects (DMOs). You can configure additional optional components like Segments and Calculated Insights, but as we do not need them for our AI use cases, we don’t cover them for now.
Before we can add FinDock data to Data Cloud, we need to make sure some basic requirements are fulfilled. First let’s ensure Data Cloud is enabled and configured.
Note: If you don’t see Data Cloud Setup and you’re using a non-developer org, follow these steps to activate Data Cloud. If you’re using a scratch org, change your scratch org definition file to include the Data Cloud related features CustomerDataPlatform and CustomerDataPlatformLite.
1. Go to Data Cloud Setup located in the top right corner under the Setup gear icon.
2. On the Data Cloud Setup homepage, check if your Data Cloud is set up. If not, enable it.
3. Wait for Salesforce to provision your Data Cloud. Get some coffee or tea, answer some Slack messages or take a walk. Provisioning may take a while!
Next, we need to give Data Cloud access to the custom Installment object from FinDock. Data Cloud uses a special hidden system user that can be granted access to data through a special permission set.
- Go to Permission Sets from the Salesforce Setup.
- Open the Data Cloud Salesforce Connector permission set.
- Enable Read and View All access for the Installment object.
- Enable Read Access to all Field Permissions.
Note: Updated instructions may be found on this help article by Salesforce. If you add a new field, you need to go through these steps again
Step 2 – Add data streams
Data streams move data from your Salesforce CRM or external sources (and other Salesforce orgs) to Data Cloud.
We want to make sure that the Standard Salesforce objects are available in Data Cloud to be able to link our payment data to the right payers. To add the standard objects like Contact and Account:
- Go to the Data Cloud Setup.
- Click Salesforce CRM in the Left Hand Menu.
- Click the downward arrow behind Sales Cloud and click Install. If the “Installed Version” column contains a version number you may skip steps 3-5.
- Click Install.
- Wait until the Sales Cloud package for Data Cloud has been installed. This usually takes longer than the install link window stays active, so you can click Done once the button pops up. To confirm the installation has completed, you can check your email, refresh the Installed Packages list until “CDP CRM 1” shows up or check if the value for “Installed Version” contains a version number in the Standard Data Bundles table.
- Go to the Data Cloud App through the App Launcher.
- Go to the Data Streams tab.
- Click New and select Salesforce CRM.
- Click Next and wait until the page has loaded.
- Make sure Data Bundles is selected, and then select Sales (or Service if that’s the bundle you have installed).
- Click Next, keep the field mapping as is, and click Next again.
- Click Deploy.
You should now see a couple of new data streams like Contact_Home and Account_Home that will send data from your or to Data Cloud. These objects have a (partial) out-of-the-box mapping that is sufficient for our failed payments use case.
To create our first payment data stream we are going to repeat some steps.
- Go to the Data Cloud App.
- Go to the Data Streams tab.
- Click New, select Salesforce CRM, and then click Next.
- Wait until the page has loaded. This may take a few minutes.
- Click All Objects.
- Search for and select Installment.
- To keep things simple for now, keep all Fields selected by default. You can, however, deselect fields that you do not expect to have an impact on your model.
- Click Next and select “Other” under Object Details.
- Keep the defaults or select the Data Cloud Data Space you would like to use.
If everything went well, you now have a data stream for the Installment object. To make use of this, we need to map the data from your Salesforce CRM to a data model in Data Cloud.
Step 3 – Add data model objects (DMO)
Data model objects (DMOs) are Data Cloud representations of the data models from your org(s) or external source. They are used to unify the structure of your data across several systems so that all data points fit together.
Let’s now map the data coming into Data Cloud through our data Stream to a DMO:
- Click Start under Data Mapping, and then click Select Objects.
- Select Create custom object.
- Change the Object Label and Object API Name to “Installments” for better readability, and then click Save.
- Salesforce automatically creates a mapping between your Salesforce CRM Installment and your Data Model entity Installment.
We’re happy with most of these mappings. However, we do want to make sure our payment data is linked to the right standard objects like Contact and Account. So, let’s take care of that next.
-
- Click the edit icon next to Data Model Entities.
- Search for and select Account and Account Contact.
- Click Done.
- Salesforce automatically suggests some mappings to these Data Cloud objects. Some, like mapping cpm__Installment __c_Home > Account to Account Contact > Account, we are happy to leave as is. Others, like Account Number or Last Modified Date, need some attention. They are not meaningful mappings, so let’s delete them by clicking the arrow icon and clicking Delete for:
- Account > Account Number
- Account > Created Date
- Account > Last Modified Date
- Account Contact > Created Date
- Account Contact > Last Modified Date
- Account Contact > Account
- We’re also missing a couple of key mappings. Map the following fields by clicking the first, then clicking the second:
- cpm__Installment__c_Home > Contact -> Account Contact > Account Contact Id
- cpm__Installment__c_Home > Account -> Account > Account Id (hidden under Unmapped)
- Once you’re done with the mappings, click Save.
Step 4 – Test drive your new data
The fastest way to explore your new Data Cloud is by using the out of the box analytics provided by Salesforce:
- Go to the Data Model tab and select the Installments DMO.
- Click Explore in Analytics.
- In the Lens creation screen:
- Add the Status field to the Bars section of the DATA tab.
- Check out your new Bar graph based on Data Cloud data.
Note: Data Cloud doesn’t always ingest your records immediately after injecting data. If you see no records, you can manually trigger a refresh from the Data Stream overview page by clicking the Refresh Now button.
Next steps
Now that you’ve got the basics down, there are many more things you can do:
- Create a Data Kit to re-use your configuration across Salesforce environments.
- Further enrich your model by adding more detailed payment data like Payment Profiles, Mandates etc. to Data Cloud.
- Explore your data with Lenses in Data Cloud > Analytics.
- Analyze your data with CRM Analytics
However, just storing data in Data Cloud and analyzing data manually simply isn’t enough. Now we need to start using it for customer happiness! Check out our Predictive AI series to see how you can use Installment data to predict failed payments.