Salesforce Data Cloud

What is Salesforce Data Cloud?

Salesforce Data Cloud is a data platform that unifies all of your company’s customer 360 data on to Salesforce’s Platform. Marketing teams rely on quality data from Data Cloud to drive personalized marketing campaigns. Missing records, nulls, invalid field values are among common issues in Data Cloud, which can severely impact outcomes of promotional efforts and waste marketing dollars.

Monitor & Lineage Support

Integrating Monte Carlo with Salesforce Data Cloud allows you to monitor your data assets through capabilities listed below, which can be created in either the UI wizard and/or programmatically via monitors as code (API/SDK too). Note that Monte Carlo will add the capabilities below over time. Please reach out to your Monte Carlo representative if you have requirements for additional monitors.

CategoryMonitor / Lineage CapabilitiesSupport
Table MonitorFreshness*
Table MonitorVolume*
Table MonitorSchema Changes
Metric MonitorMetric
Metric MonitorComparison
Validation MonitorSQL Custom
Validation MonitorValidation
Job MonitorQuery performance
LineageLineage

*Freshness and volume are available for Data Lake Objects (DLOs), Data Model Objects (DMOs), and Calculated Insights (CIOs). For DLOs backed by an ingestion data stream, they are collected automatically from Data Cloud metadata (no queries against your data); for everything else they are available via an opt-in row-count monitor that runs a COUNT(*) query per object. See How Monte Carlo represents Data Cloud objects below for the full breakdown.

How Monte Carlo represents Data Cloud objects

Salesforce Data Cloud exposes several kinds of objects. Monte Carlo classifies each one into an asset type, and that classification determines which monitors apply — in particular whether the asset supports freshness and volume.

Data Cloud objectRepresented in Monte Carlo asFreshness & volume
Data Lake Object (DLO)Table — or External table when the data is federated / zero-copy (it physically lives in an upstream warehouse, e.g. Snowflake)✅ Automatic from data-stream metadata when stream-fed; opt-in row-count monitor otherwise
Data Model Object (DMO)View (over one or more DLOs)✅ Via opt-in row-count monitor
Calculated Insight (CIO)View (materialized)✅ Via opt-in row-count monitor

Data Lake Objects (DLOs) are Data Cloud's storage layer, so Monte Carlo represents them as tables. When a DLO's data is materialized (ingested) into Data Cloud it appears as a regular table; when it is federated / zero-copy — the data is read through to an upstream warehouse rather than stored in Data Cloud — it appears as an external table so you can see that the data lives elsewhere. DLOs support freshness and volume.

Data Model Objects (DMOs) are semantic views built on one or more DLOs and hold no data of their own, so Monte Carlo represents them as views. They don't receive the automatic, metadata-based freshness and volume that stream-backed DLOs do, but you can still monitor their freshness and volume by enabling the opt-in row-count monitor (a COUNT(*) query, which reads through to the underlying DLOs). DMOs also appear in your catalog with lineage to their source DLOs.

Calculated Insights (CIOs) are scheduled computations whose results are stored in Data Cloud. Because the output is materialized, Monte Carlo monitors them for freshness and volume like a table, while representing them as views so their defining query can be used for lineage.

How freshness and volume are collected

For a DLO backed by an ingestion data stream, Monte Carlo reads freshness and volume directly from Data Cloud's data-stream metadata — the stream's last successful refresh time (freshness) and its record count (volume) — without running any query against your data. Freshness reflects the last successful refresh, so a table still surfaces as stale when a refresh fails.

For every other case — Data Model Objects, Calculated Insights, federated DLOs, and DLOs with no ingestion data stream (for example, static reference data or a one-time manual load) — freshness and volume are available through an opt-in row-count monitor that runs a COUNT(*) query per object. Because that monitor queries your data and uses Salesforce API calls, you enable it per object where you want it.

Connecting to Salesforce Data Cloud

Now that we know the value connecting Salesforce Data Cloud to Monte Carlo can bring, here are the necessary steps to set up the integration. Connecting to Salesforce Data Cloud requires creating a Salesforce External Client App and using OAuth 2.0 client credentials for authentication.
Follow these step-by-step instructions to create an external client app, configure OAuth, and get the necessary credentials.

Create Salesforce Connected App

  1. Log in to the Salesforce Web UI.

  2. Click the gear icon in upper-right corner and select "Setup".

  3. In the side menu, navigate to PLATFORM TOOLS -> Apps -> External Client Apps -> External Client App Manager

  4. Click the "New External Client App" button in upper right.

  5. Enter required fields in the "Basic Information" section.

    • App Name: Monte Carlo
    • API Name: Monte_Carlo
    • Contact Email
    • Distribution State: Local


  6. Enter required fields in the "API (Enable OAuth Settings)" section.

    • Click checkbox for "Enable OAuth"
    • Callback URL: https://getmontecarlo.com/auth/callback/salesforce
    • OAuth Scopes:
      • "Manage user data via APIs (api)"
      • "Perform ANSI SQL queries on Data Cloud data (cdp_query_api)"
    • Under "Flow Enablement" check "Enable Client Credentials Flow"
  7. Click the "Create" button.

  8. Click the "Edit" button to edit the policies of the new app.

  9. Under OAuth Policies -> OAuth Flows and External Client App Enhancements, check "Enable Client Credentials Flow".

  10. Enter a Salesforce user email (like "[email protected]") for the account that will act as the "execution user". By selecting an execution user, you allow Salesforce to return access tokens on behalf of this user.

  11. Click the "Save" button.

Get the Consumer Key and Secret

  1. Switch to the "Settings" tab (near the top of the current page)

  2. Under "OAuth Settings", click the "Consumer Key and Secret" button.

  3. Copy the values into the appropriate fields in the Monte Carlo UI. You can find the Salesforce Data Cloud setup form under Settings -> Warehouse and lakes, then click on the Salesforce Data Cloud tile.

Get the Domain

  1. In the side menu, navigate to SETTINGS -> Company Settings -> My Domain.

  2. Under "My Domain Details", copy the "Current My Domain URL" value and paste it into the "Domain" field in the Monte Carlo UI. It should look something like: <MyDomainName>.my.salesforce.com.

How can I validate Monte Carlo has access to my assets?

After completing the Salesforce Data Cloud integration setup, your Salesforce Data Cloud assets should appear in the Monte Carlo Assets page between a few minutes and one hour. If you don't see your assets after this time period, you can run a validation test to troubleshoot the connection:

  1. Navigate to Settings → Integrations
  2. Find your Salesforce Data Cloud integration and click on it
  3. Select the specific connection you want to test
  4. Click the Test button from the connection menu

This validation test will help identify any configuration issues that might be preventing your assets from appearing.

When running the validation test, you should see all green checkmarks. If any errors are encountered, the system will provide specific steps to resolve them.