Sunday, September 6, 2026

Data Cloud Part 6: Practical (Ingest Physical Store's Customer details and Sales details)

Hope you have already created your Data Cloud Org and also downloaded the Customer's details and Sales details from previous posts. 

Now it's time to ingest that data in our Data Cloud Org. So, first login in your Data Cloud Org and go to App Launcher and search for "Data Cloud" App.












It will open the "Data Cloud" App and you will get multiple data cloud related Tabs like belwo screen but in this post we will concentrate on "Data Streams" and "Data Lake Objects" Tabs.






Now our aim is to ingest data from external sources to this data cloud Org and here as we need to load data from direct excel files, so we don't need to connect with any ORG and we will directly ingest data from excel to the Data Cloud by Data Stream's File Upload options. What is this? - let's do some paractical to get more idea on this.

Click on the "Data Stream" Tab and it will open the Data Stream List View. 






Now, click on the "New" button to create the new Data Stream.





It will open the below screen and select the "File Upload" icon and then click on "Next" button.







Now it will open the file selection screen as below,






Click on the "Upload Files" button and then select your "OfflineSalesDetails" file that you have downloaded for customers' offline sales data.







System will load the file and open the below screen. In the below screen you could see that System set default Dala Lake Object Label and API. So, it is always better to update the name based on your need. Update it as mentioned in the below screen and on left side you could find the Category selection option and as we are going to create individual profile, so select here "Profile" option.








Next we need to select the Primary Key (PK) - but if you noticed our data in OfflineSalesDetails sheet then you will found there is no unique value to set as PK. We have "Cstomer Id" but we can't able to use it as PK as multiple records with same "Cstomer Id". So, how we can get the PK?




Here we have to Create a Formula Field to make PK.













Save it and then select this custom formula field as PK.














Now click on the "Supported Fields" Tab and verify the data type.







In this POC every thing looks good, so click on the "Next" button. Select the Data Space. In this POC, we don't have any extra Data Space ccreated, so we will set the OOB "default" data space.






Click on "Deploy".






After deploy, it will redirect to below screen. 








It will take some time and after some time it will show status as "Success" and details will be display in "Refresh History". We can also noticed total records ingested = 5.






Same way create another data stream to ingest "OfflineCustomerDetails" data. Here we will use "Customer Id" as a PK as there is no dupicate id on records and also update Email fied type as "email".







After deploy it will take some time and after some time it will show status as "Success" and it will load 3 records.







Next Step: Now our next step will be checking the data of Data Stream, Data Lake Objects. 


Saturday, September 5, 2026

Data Cloud Part 5: Practical (Understand and analyse the data)

 Now, let's start the practical implementation and set up the Data 360 configuration.

Let’s assume that ABC Company has provided us the below Excel file containing customer purchase data from its physical store.

Click Here to Download Offline Sales Details




As a Data 360 Consultant/Architect, the first responsibility is not to immediately start configuring Data 360. Instead, we first need to understand and analyse the data.

So, let's take a look at the Excel file and identify:

  • What data is available?
  • What does each column represent?
  • Who is the customer?
  • What information can uniquely identify a customer?
  • Are there any duplicate or missing records?
  • How can this data be mapped to the Data 360 data model?

Remember: Before configuring Data 360, understanding the source data is the first and most important step.

Our Analisys:

- In the above offline Sales Details sheet, we could found that for Customer Id 1001 and 1002, we have multiple or we can say dulicate record for same customer ids.

- We have also noticed that in the above sheet there is no customer data like customer's name or email or phone number etc. which are very much needed as identifier to maintain unique customer.

- There could be many more as such analysis, but for simplicity let's start with these only.


Our Next Steps:

- As we need customer's name, email etc. so request ABC Company to share these detials from their Offline Physical Store.

- Now there could be 2 possibilities,

    - ABC Company will share you again a considated sheet with customers' details.

    - Or else ABC Company will share you a seperate sheet with only customers' details.

Let's say  ABC Company has shared the below seperate sheet with only customers' details,

Click Here to Download Offline Customer Details






So, our Offline data is ready and we have 2 set of data,

1. Offline Sales Details

2. Offline Customer Details

Note: For this POC, I am only using very very minimal data to make it very easy to understand but in real scenario these data volume will be very large.


Next Step: Now our next step will be ingesting these data in our Data Clould Org.

Data Cloud Part 4: Understand your POC requirement.

Before learning any topic, I believe it is always better to first understand these three simple questions in very very smple ways:

What? → Why? → How?

  • What is it? — Understand the concept and what it actually means.
    • In previous post, we already undestand What is Data Cloud?
  • Why do we need it? — Understand the problem it solves and its real-world value.
    • In previous post, we already undestand Why do we need it?
  • How does it work? — Understand how to implement or use it in practice.
    • Now we will learn very simple way How to implement it?

After this POC we will get a very good understanding of Data Clould and then we can explorer more by ourself by mulitiple Data Cloud realted lerning documents/trainings.


POC: Check the below diagram and this will be our 1st Data Clould Project in very simple way.

🎯 Project: Identify ABC Company's High-End Customers

🏢 Business Scenario

Let's say ABC Company sells products through two different platforms:

1️⃣ Physical Store
Customers purchase products from ABC's physical stores.
Their sales/order information is maintained in Excel.

2️⃣ Online Website
Customers purchase products from ABC's website.
Their sales/order information is stored in Salesforce.

The problem is: ABC doesn't have one complete view of a customer's total purchases.

For example:

CustomerPhysical StoreOnline WebsiteTotal Purchase
Rahul₹10,000₹15,000₹25,000
Amit₹2,000₹15,000₹17,000
Priya₹1,000₹5,000₹6,000

Rahul may look like a ₹15,000/- customer in Salesforce, but when his physical-store purchases are added, ABC discovers that he has actually purchased ₹25,000 worth of products and he is a High End Custoper for ABC Company. 

🏢 Solution

Now we will use Salesforce DATA Cloud Platform as sohown in below diagram and then perform the below action items like we learn in previould post.


1. External Data Sources (Salesforce, Excel).

2. Establish connections from Data Cloud to external Salesforce.

3. Ingest data by creating Data Streams both from external Salesforce (using connecctor) and from Excel (using file upload option).

4. Data Lake Objects (Auto + Manual based on our needs).

5. Use of Data Explorer / Query Editor to check/validate the data.

6. Data Transforms (Join the mulitple DLOs created from 2 different external sources in a single Talbe or single DLO).

7. Organize data into a meaningful structure by mapping with proper DMOs.

8. Identity Resolution - removed dulicate customer or in other teram identify the unique customer.

9. Calculated Insights - group the customer based on the total purchase amount.

10. Segmenting customers based on the total purchase amout.

11. Activation - Send data/audiences.


Sunday, August 30, 2026

Data Cloud Part 3: Understanding the Key Concepts and Their Sequence Before start yoru POC.

Before starting our Proof of Concept (POC) to understand Salesforce Data Cloud (Data 360), it is important to become familiar with some of the key terms and concepts that we will encounter repeatedly throughout this learning journey.

Rather than explaining these concepts independently, I will introduce them in a logical sequence so that you can understand why each component comes into the picture and how they are connected to one another.

Don't worry if you don't get the complete picture at this stage. The purpose of this post is to build a high-level understanding. I will explain each of these concepts in much more detail with practical examples in upcoming blog posts.

Let's start our journey.

1. Connectors

The primary goal of Data Cloud (Data 360) is to bring data together from multiple systems and make it available in a unified environment.

For example, an organization may have data stored in:

  • Salesforce
  • AWS
  • Databricks
  • External databases
  • Marketing platforms
  • CSV or other external files
  • Other Salesforce orgs or platforms

To bring data from these external systems into Data Cloud, we first need to establish a connection with those systems.

This is where Connectors come into the picture.

In simple terms:

Connectors are used to establish a connection between Data Cloud and external data sources.

 

2. Data Streams

Once the connection with an external system is established, the next step is to bring the data into Data Cloud.

The process of bringing data into Data Cloud is known as data ingestion.

The configuration that defines how data is ingested from a connected source is called a Data Stream.

For example, if we have customer data stored in an external system, we can create a Data Stream to ingest that customer data into Data Cloud.

In simple terms:

Connector = Establish the connection

           Data Stream = Configure and ingest data from that connection.


3. Data Lake Objects (DLOs)

Now that we have ingested data into Data Cloud through Data Streams, where does that data actually reside?

This is where Data Lake Objects (DLOs) come into the picture.

A Data Stream is primarily an ingestion configuration, while a Data Lake Object represents the ingested data within Data Cloud's data lake environment.

When we create a Data Stream, Data Cloud typically creates the corresponding Data Lake Object automatically. The DLO generally uses the Data Stream's name by default.

For example:

External Customer System → Connector → Data Stream → Data Lake Object

The ingested records are stored in the corresponding DLO, where they can be explored and processed further.

In simple terms:

Data Stream brings the data into Data Cloud, while the Data Lake Object represents the ingested data.


4. Data Explorer

Once data has been ingested into a Data Lake Object, the next obvious question is:

"Did my data actually arrive?"

This is where Data Explorer becomes useful.

Data Explorer allows us to inspect the data stored in Data Lake Objects and verify the records and attributes that have been ingested.

For example, after ingesting customer data, we can use Data Explorer to check:

  • Customer records
  • Customer IDs
  • Names
  • Email addresses
  • Other available attributes

It is particularly useful during development and POC activities when we want to validate whether our data ingestion is working as expected. 


5. Query Editor

Query Editor provides another way to explore and analyze the data.

You can think of it as a more developer-oriented way of investigating data.

Instead of relying only on the visual interface, developers can write queries to retrieve and analyze records.

This becomes particularly useful when you want to:

  • Investigate specific records
  • Filter data
  • Analyze larger datasets
  • Validate data during development
  • Perform more detailed data research

So, at a very high level:

Data Explorer → Visual exploration of data
Query Editor → Query-based investigation of data


 

6. Data Transforms

Once data is available inside Data Cloud, we may need to transform or manipulate it before using it for other purposes.

This is where Data Transforms come into the picture.

Data Transforms allow us to perform different types of data-processing operations.

One powerful use case is joining data from multiple Data Lake Objects.

For example, imagine that customer information comes from two different systems:

System A → Customer DLO A

System B → Customer DLO B

Now suppose we want to combine information from both sources into another data structure.

Using Data Transforms, we can perform operations such as joins and other transformations to prepare the data according to our business requirements.

In simple terms:

Data Transforms help us prepare, combine, cleanse, and transform data for further processing.


7. Data Model

Imagine that after ingesting and transforming data, we have a large table containing everything:

  • Customer information
  • Product information
  • Sales information
  • Transaction information
  • Order information

Keeping everything in one large structure is generally not a good data architecture.

Instead, we would normally want to organize the data into multiple logical entities with appropriate relationships.

For example:

Customer

Order

Product

This is where the Data Model comes into the picture.

Data Cloud provides a data model that allows us to organize our data into appropriate objects and relationships.

We can work with the available standard data model objects and, where appropriate, extend the model using custom objects.

A well-designed data model is important because it provides a structured foundation for using the data across Data Cloud.


8. Data Mapping

Once we understand and define our Data Model, the next question is:

"How do we tell Data Cloud which incoming field belongs to which Data Model attribute?"

This is where Data Mapping comes into the picture.

For example, suppose our incoming Data Lake Object contains:

  • Customer_ID
  • Customer_Name
  • Email
  • Phone

We need to map these incoming attributes to the appropriate attributes in the Data Model.

Data Cloud provides tools that make this mapping process relatively straightforward, often using a visual drag-and-drop experience.

In simple terms:

Data Mapping connects the ingested data structure with the appropriate Data Model attributes.


9. Identity Resolution

One of the most important challenges when combining data from multiple systems is duplicate customer records.

For example, suppose the same customer exists in three different systems:

System A

Arun Kumar — arun@email.com

System B

A. Kumar — arun@email.com

System C

Arun K. — +91XXXXXXXXXX

Technically, these may appear to be different records. However, they could actually represent the same person.

This is where Identity Resolution becomes extremely powerful.

Identity Resolution uses configured matching and reconciliation rules to identify records that may belong to the same individual or entity and create a unified representation.

The major advantage is that we don't necessarily need to build complex custom code for this matching process. Data Cloud provides functionality to configure and manage identity resolution rules.

In simple terms:

Identity Resolution helps Data Cloud identify and unify records that represent the same customer or entity across different data sources.


10. Calculated Insights

Now imagine that we have 100,000 customer records, and customers have made multiple purchases.

The business may ask questions such as:

  • How much has each customer spent?
  • Which customers have spent the most?
  • What is the total purchase amount per customer?
  • How many purchases has each customer made?

This is where Calculated Insights can be very useful.

Calculated Insights allow us to perform calculations and aggregations on our data.

For example:

Customer A → ₹50,000 total purchase

Customer B → ₹1,25,000 total purchase

Customer C → ₹15,000 total purchase

Here we are effectively calculating an aggregated value based on customer-level purchase data.

In simple terms:

Calculated Insights help us derive meaningful metrics and aggregated business insights from our data. 


11. Segments

Once we have meaningful insights about our customers, the business may want to group customers based on specific criteria.

For example, a company may want to divide customers into:

  • High-Value Customers
  • Medium-Value Customers
  • Low-Value Customers

The company can then use these groups for targeted business activities.

For example:

Customers who have spent more than ₹1,00,000 → High-Value Customers

The company could then target this segment with a specific promotional campaign.

This is where Segments come into the picture.

Segments allow us to define groups of customers or other entities based on specific criteria and attributes available in Data Cloud.

In simple terms:

Segmentation allows businesses to create meaningful groups of customers based on their data.


12. Activation

We have now reached one of the most interesting stages of the Data Cloud journey.

We have:

  1. Connected external systems
  2. Ingested data
  3. Stored and explored the data
  4. Transformed the data
  5. Mapped it to the Data Model
  6. Resolved customer identities
  7. Created calculated insights
  8. Created customer segments

Now the business wants to take this data or audience to another system and actually use it.

This is where Activation comes into the picture.

For example, suppose we have created a segment called:

High-Value Customers

The business may want to send this audience to an external destination for marketing, advertising, personalization, or other business purposes.

Data Cloud provides activation capabilities to send data or segments to supported activation destinations.

In simple terms:

Activation allows Data Cloud to make data or audiences available to external systems where the business can take action.


Bringing Everything Together

Now let's look at the complete journey at a high level:

External Data Sources

Connectors
Establish connections

Data Streams
Ingest data

Data Lake Objects
Represent ingested data

Data Explorer / Query Editor
Explore and validate data

Data Transforms
Transform and prepare data

Data Model
Organize data into a meaningful structure

Data Mapping
Map incoming data to the Data Model

Identity Resolution
Unify customer identities

Calculated Insights
Calculate meaningful metrics

Segments
Create meaningful audiences

Activation

Send data/audiences to supported destinations


Final Thought

At first glance, Data Cloud (Data 360) can look like a collection of many different features and terminologies.

But once you understand how these components fit together in a sequence, the overall picture becomes much easier to understand.

The most important thing to remember from this post is not the definition of each individual term, but the overall data journey:

Connect → Ingest → Store → Explore → Transform → Model → Map → Unify → Calculate → Segment → Activate

In the upcoming blog posts, I will take each of these concepts one by one and explain them with real-world examples, Salesforce Data Cloud configuration steps, sample data, and practical POC scenarios

Friday, August 28, 2026

Data Cloud Part 2: Setup Your Data Cloud Org

 Before jump to other topic, let's quickly jump to do some practical - create & setup your Data Cloud Org. How???

1. Open this link: https://www.salesforce.com/products/free-trial/developer/

2. It will redirect to the following screen,










3. Now fill the details, checkd the terms & condition checkbox and then click on "Sign me up" button and you will get the confirmation screen like this mentioning that "You will received a confirmation mail soon".


 






4. Check your mail and you should get a mail like below.









5. Click on the "Rest Password" button and set your Password.

6.  Your Trial Org is ready ---------- NOooooooo --- now you have to check some point and need to setup bit, let's do that.

7. Login to that ORG and now go to your user.







8. Click on the "User Details" button and in your user setup page, go to "Permissionset" and here you will noticed that all data cloud related permission sets will auto assigned to your user. 

Note: If not added yet then please add it manually.








9. Now click on the top right corner gear icon and click on "Data Cloud Setup" menu.





10. Now click on "Get Started" button and it will take some time and inbackend it will start the initial implementation of Data Cloud related action in your Org.







11. It will take some time to finish.








12. Once done, then you are ready to start your POC.

Let's check the next blog post for next action item ....

Wednesday, August 26, 2026

Data Cloud Part 1: No Heavy Theory — Let’s Learn Salesforce Data Cloud by Building in a qucik, effective and smart way.

In one line: Data Cloud connects your data, understands your customer, and helps Salesforce take smarter action.

Scenario 1: I Already Bought It… Why Are You Still Sending Me Ads? 🛒

1. Imagine I own a company that sells products through Website, Mobile App, Physical Store and Social Media.
2. A customer, Rahul, checks the same product on all these platforms.
3. Rahul finally purchases the product from our physical store.
4. But our website and mobile app don't know about his physical-store purchase.
5. So, Rahul continues receiving "Buy Now!" notifications for the product he has already purchased.
6. From Rahul's perspective, this creates a bad customer experience.
7. The problem? Customer data is sitting in different systems and isn't connected.
8. Data Cloud can bring these data points together and create a more complete customer profile.
9. Now Salesforce can understand: "Rahul already purchased this product."
10. 👉 Result: Stop irrelevant promotions and deliver a smarter, personalized customer experience.


Scenario 2: Who Are My Most Valuable Customers? 💰

1. Now imagine the same company sells products through Website, Mobile App, Physical Store and Social Media.
2. I want to identify my customers based on their Total Purchase Amount.
3. For example: L1 = ₹50K+,  L2 = ₹20K–₹50K,   L3 = Below ₹20K.
4. But Rahul purchased ₹20K from the website and ₹35K from the physical store.
5. Another ₹10K purchase came through the mobile app.
6. Where is Rahul's complete purchase history? → Different systems! 😕
7. If I look at only the website, Rahul appears to be a ₹20K customer.
8. But his actual combined purchase is ₹65K.
9. Data Cloud can bring these purchase data points together to help create a more complete customer view.
10. 👉 Result: Rahul can be identified as an L1 Customer, enabling better segmentation, personalization and targeted engagement.

🎯 The simple idea behind both scenarios

Different Platforms → Scattered Data → Data Cloud → Unified Customer View → Better Decisions & Better Customer Experience

Thursday, August 6, 2026

Salesforce REST API: Upload a Files to a Record Attachments | Step-by-Step Guide

Uploading a file to a Salesforce record using the REST API is a straightforward process. In this tutorial, I'll walk you through the complete process using only four cURL commands.

The entire process consists of four simple steps:

  1. Authenticate with your Salesforce org to obtain an Access Token.

  2. Upload the file from your local machine to Salesforce using the Access Token. This request returns the ContentVersion Id.

  3. Retrieve the ContentDocument Id using the ContentVersion Id.

  4. Link the file to a Salesforce record using the ContentDocument Id.

That's it! With these four REST API calls, your file will be successfully attached to the desired Salesforce record.


What is cURL?

cURL (Client URL) is a command-line tool used to send HTTP requests to web servers and REST APIs. It is one of the most widely used tools for testing and interacting with REST services, including the Salesforce REST API.

Throughout this tutorial, we'll use only 4 cURL commands to perform all the API requests.


Do You Need to Install cURL?

Whether you need to install cURL depends on your operating system.

Operating SystemIs cURL Pre-installed?
Windows 10 (Version 1803+) & Windows 11✅ Yes
Linux✅ Usually Pre-installed
macOS✅ Yes
Windows 7 / Windows 8❌ Usually Not Installed

How to Check Whether cURL is Installed

Open Command Prompt or PowerShell and execute the following command:

curl --version

If installed, you'll see output with it's version and if it is not there then you will get message like "'curl' is not recognized as an internal or external command".

Note: This tutorial assumes that cURL is already installed and available on your machine.


Let's Get Started

Now that we have a basic understanding of cURL, let's dive into the implementation.

In the following sections, we'll go through each of the four REST API calls required to upload a file and attach it to a Salesforce record, with complete request examples and explanations for each step.


Step 1: Authenticate with Your Salesforce Org and Obtain an Access Token

Open Command Prompt (Windows) and execute the following cURL command to authenticate with your Salesforce org.






Note:
The cURL command shown in the above article may be split across multiple lines for better readability. Before executing it in Command Prompt, remove the trailing backslash (\) from the end of each line and combine the entire command into a single line.


Below is the Raw Command I used for my testing,

curl -X POST https://login.salesforce.com/services/oauth2/token -d "grant_type=password" -d "client_id=AKHG9d8..z.hDcPKzY60RcaEIAGFHl9AfckqHkoY.y3AHazraPEaiwu3LbM7YVh9wi4ap" -d "client_secret=C7B12F5AKH21642AA58B29F7E540F0722E5AE83915275" -d "username=arunkumar@hazra.com" -d "password=Abc@1234bMAKHAcBHH8vZCtM6dZD"


Response I received:
{"access_token":"00D7F0000LOVEAQN_u.PIqS6AKHfR2ZTtjk8QmBOEn56A7i1tcPshZOWHi5xReHVDR73m6dUMeyiIyDF43DWsW5CY","instance_url":"https://lwcdmn-dev-ed.my.salesforce.com","id":"https://login.salesforce.com/id/00D7F000000saHDUAY/0057F000000xxXnQAI","token_type":"Bearer","issued_at":"1786011844436","signature":"tPvyF5HRbTUNv1w3rBqQe+FjkIk1/o6Q8sogmUrzboI="}


Note:
This highlighted Access Token, we will use in our next steps (Step-2)

Step 2:Upload the file from your local machine to Salesforce using the Access Token. This request returns the ContentVersion Id.

Open Command Prompt (Windows) and execute the following cURL command to upload the file in Salesforce as a ContentVersion and then as a response collect the ContenVersion Id.








Note:
The cURL command shown in the above article may be split across multiple lines for better readability. Before executing it in Command Prompt, remove the trailing backslash (\) from the end of each line and combine the entire command into a single line.

Below is the Raw Command I used for my testing,

curl --request POST "https://lwcdmn-dev-ed.my.salesforce.com/services/data/v55.0/sobjects/ContentVersion" --header "Authorization: Bearer 00D7F0000LOVEAQN_u.PIqS6AKHfR2ZTtjk8QmBOEn56A7i1tcPshZOWHi5xReHVDR73m6dUMeyiIyDF43DWsW5CY" --form "entity_content={\"Title\":\"MediAssistCard\",\"PathOnClient\":\"MediAssistCard.pdf\"};type=application/json" --form "VersionData=@C:\Arun\MediAssistCard.pdf;type=application/octet-stream"

Response I received:
Response: {"id":"068NS00000aABC7YAO","success":true,"errors":[]}


Note:

  •  This highlighted ContentVersion Id in GREEN, we will use in our next steps (Step-3).
  • VVI:  Please notice the highlighted parpel color in my raw command, this is very very important note. If you are using a quote under another quote then use this backslash (\) before each quote which are part under a parent quotes. If you did a single mistake on syntax then it will be very hard to solve. So, be carefull on this command systax.
  • VVI: Try to use  absolute path of your file location like I mentioned in ORANGE colour and keep your folder name without space.


Step 3: Retrieve the ContentDocument Id using the ContentVersion Id.

Open Command Prompt (Windows) and execute the following cURL command to get the ContentDocument Id by using the Content Version Id (068NS00000aABC7YAO) that we have received from Step-2 response.






Note:
The cURL command shown in the above article may be split across multiple lines for better readability. Before executing it in Command Prompt, remove the trailing backslash (\) from the end of each line and combine the entire command into a single line.

Below is the Raw Command I used for my testing,

curl -X GET https://lwcdmn-dev-ed.my.salesforce.com/services/data/v55.0/sobjects/ContentVersion/068NS00000aABC7YAO -H "Authorization: Bearer 00D7F0000LOVEAQN_u.PIqS6AKHfR2ZTtjk8QmBOEn56A7i1tcPshZOWHi5xReHVDR73m6dUMeyiIyDF43DWsW5CY" -H "Content-Type: application/json"

Response I received:
{"attributes":{"type":"ContentVersion","url":"/services/data/v55.0/sobjects/ContentVersion/068NS00000aECJ7YAO"},"Id":"068NS00000aABC7YAO","ContentDocumentId":"069NS00000czFmRYAU","IsLatest":true,"ContentUrl":null,"ContentBodyId":"05TNS000066DRgK2AW","VersionNumber":"1","Title":"MediAssistCard","Description":null,"ReasonForChange":null,"SharingOption":"A","SharingPrivacy":"N","PathOnClient":"MediAssistCard.pdf","RatingCount":0,"IsDeleted":false,"ContentModifiedDate":"2026-08-06T10:26:01.000+0000","ContentModifiedById":"0057F087800xxXnQAI","PositiveRatingCount":0,"NegativeRatingCount":0,"FeaturedContentBoost":null,"FeaturedContentDate":null,"OwnerId":"0057F000000xxXnQAI","CreatedById":"0057F009870xxXnQAI","CreatedDate":"2026-08-06T10:26:01.000+0000","LastModifiedById":"0057F008780xxXnQAI","LastModifiedDate":"2026-08-06T10:26:01.000+0000","SystemModstamp":"2026-08-06T10:26:03.000+0000","TagCsv":null,"FileType":"PDF","PublishStatus":"R","VersionData":"/services/data/v55.0/sobjects/ContentVersion/068NS00999aECJ7YAO/VersionData","ContentSize":527093,"FileExtension":"pdf","FirstPublishLocationId":"0057F009990xxXnQAI","Origin":"C","ContentLocation":"S","TextPreview":null,"ExternalDocumentInfo1":null,"ExternalDocumentInfo2":null,"ExternalDataSourceId":null,"Checksum":"97ee0e4c74d7be1drtet45b0c693b0ae","IsMajorVersion":true,"IsAssetEnabled":false}


Note:

  •  This highlighted ContentDocumentId in GREEN, we will use in our next steps (Step-4).

Step 4: Link the file to a Salesforce record using the ContentDocument Id.

Now this is the final steps where we will atach the file to a Salesfroce Record. For my example I am going to load this file under one Account Record. So, before execute this commnad, lets check the Salesforce Account Record and we could see no file attached at this moment.


 

 




Open Command Prompt (Windows) and execute the following cURL command to attache the file to the Account Record (0017F000007A2eZQAS) by using the ContentDocumentId (069NS00000czFmRYAU) that we have received from Step-3 response.







Below is the Raw Command I used for my testing,

curl -X POST https://lwcdmn-dev-ed.my.salesforce.com/services/data/v55.0/sobjects/ContentDocumentLink -H "Authorization: Bearer 00D7F000000saHD!AQEAQN_u.PIqS6kPhfinZG49wp3AYsp7IBfR2ZTtjk8QmBOEn56A7i1tcPshZOWHi5xReHVDR73m6dUMeyiIyDF43DWsW5CY" -H "Content-Type: application/json" -d "{\"ContentDocumentId\" : \"069NS00000czFmRYAU\",\"LinkedEntityId\" : \"0017F000007A2eZQAS\",\"ShareType\" : \"V\",\"Visibility\" : \"AllUsers\"}"

Response I received:

{"id":"06ANS00000XYZUb2AL","success":true,"errors":[]}


After successfull completion of above step-4, if we check our Salesfroce record then we will file the respective file will be attached under the mentioned record (for our case Account Record),










Final Note:

1. Use the above 4 raw commnads I have used and just change the parameters value as per user setup.
2. You can load a large file. FYI I have tested for a video file with size of 85 MB and it has attached successfully.
3. In Step-4 we use 2 things, "ShareType" and "Visibility", so you can check the below details for this 2 parameters and set it as per your need.



Data Cloud Part 6: Practical (Ingest Physical Store's Customer details and Sales details)

Hope you have already created your Data Cloud Org and also downloaded the Customer's details and Sales details from previous posts.  Now...