You are here:
Ingest File Attachments from All Salesforce Objects to Data 360
Ingest content documents that you’ve added as file attachments to standard and custom Salesforce objects so that you can index them for search. Data 360 chunks all relevant content in the attachments and turns them into searchable vectors. This improves the efficiency and comprehensiveness of search operations within generative AI, analytics, and automation apps.
Required Editions
| Available in: All Editions supported by Data 360. See Data 360 edition availability. |
How File Attachment Ingestion Works
Data 360 uses these data model objects (DMOs) to ingest file attachments.
- Content Document: Document that has been uploaded to a library in Salesforce CRM.
- Content Version: Specific version of a document in Salesforce CRM.
- Content Document Link: Link to entities that the file is shared with, whether it’s users, groups, records, or libraries.
File attachments are ingested as part of the content data stream creation. Plan your ingestion workflow by following one of these scenarios.
The ContentVersion data stream behaves differently from other CRM content objects. ContentDocument and ContentDocumentLink (structured data) ingest records across all file attachments during initial ingestion. ContentVersion (unstructured file content) ingests only file versions created or updated after you create the data stream.
| Scenario | Steps |
|---|---|
| You have not set up Salesforce file attachment ingestion | Use the Salesforce CRM connector to create three content data streams: ContentDocument, ContentDocumentLink, and ContentDocumentVersion. After you create the three data streams, you can attach files to standard or custom Salesforce objects and Data 360 automatically ingests them. File attachment ingestion does not support full refresh or total replacement for the Content Version data stream. |
| You have existing Salesforce objects with file attachments | Use the Salesforce CRM connector to create three content data streams: ContentDocument, ContentDocumentLink, and ContentDocumentVersion. After you create the data streams, re-attach the files to the existing objects to trigger automatic ingestion into Data 360. |
| You have existing content data streams | Any content data streams that you created before March 2025 are not compatible with this file attachment ingest workflow. Delete the existing streams and create the three new content data streams. Then, either create new Salesforce objects with file attachments or re-add existing attachments to their existing Salesforce objects. |
For a list of supported file formats for attachments, see Unstructured Data File Formats and Connectors.
Set Up File Attachment Ingestion
- Install the standard Content Bundle to deploy file attachment data lake objects (DLO), data model objects (DMO), and data streams.
- After the data stream successfully deploys, click Data Lake Objects and verify that the list page shows ContentDocument, ContentVersion, and ContentDocumentLink DLOs.
- In Salesforce CRM, upload a file attachment to a Salesforce object (for example, a Knowledge object).
After you deploy the content data streams, create a data stream to ingest the associated Salesforce object (for example, KnowledgeArticleVersion or Case). Then create a vector search index configuration that includes file attachments for the Salesforce objects.
If you don’t create a data stream for a Salesforce object, the ContentVersion DMO will still ingest file attachments from all Salesforce objects after you’ve created the three content streams.
Configure Object Relationships
After you create the three data streams, you need to configure the object relationships.
- In Data 360, go to the Data Model tab.
- Search for the Content Document DMO, and click Relationships.
-
If the following relationship exists between ContentDocument DMO and ContentDocumentVersion DMO, disable it
Object ContentDocument Field ContentDocumentId Related Object ContentDocumentVersion Related Field ContentDocumentVersionId - From the Data Model tab, search for the ContentDocumentRelationship DMO, and click Relationships.
-
Ensure a relationship exists between the object DMO (for example, Case, Opportunity,
Account, or your custom object DMO) and the ContentDocumentRelationship DMO. If a
relationship doesn’t exist, create it, as show in this example.
Object ContentDocumentRelationship Field Related Item Cardinality ManyToOne Related Object DMO Object DMO Related Field Primary key of the object DMO (for example, Case Id, Account Id)

