UploadContentDocument
Uploads a document to Salesforce Content and associates it with relevant records.
Stored Procedure-Specific Information
Uploading Single Files or Single Folders
To upload a single content document, specify the FullPath:EXEC UploadContentDocument FullPath = 'C:\\csv samples\\mycsvfile.csv'To upload all content documents in a single folder, specify the FolderPath:
EXEC UploadContentDocument FolderPath = 'C:\\csv samples'For Base64 data, you must specify the Base64Data, Title, and FileExtension:
EXEC UploadContentDocument Base64Data = 'byBib2Jl', Title = 't', FileExtension = 'txt'
Uploading Multi-Valued Inputs
To upload multiple content documents by file path using a temporary (#TEMP) table:- First insert values into #TEMP tables. For example:
INSERT INTO ContentDocument#TEMP (FullPath) VALUES ('C:\Documents\proposal.docx') INSERT INTO ContentDocument#TEMP (FullPath, Description) VALUES ('C:\Documents\contract.pdf', 'Signed contract')This inserts the values into a table in memory. - Then reference that same table when executing the stored procedure:
EXEC UploadContentDocument ContentDocuments = 'ContentDocument#TEMP'
Note: You can also use a #TEMP table to specify multiple FolderPaths, or use multiple Base64 data entries.
The following examples demonstrate how to upload multiple files or folders using a JSON array:
To upload multiple content documents by file path or Base64 data:
EXEC UploadContentDocument ContentDocuments = '[
{"FullPath": "C:\\Documents\\proposal.docx"},
{"FullPath": "C:\\Documents\\contract.pdf", "Title": "Q1 Contract", "Description": "Signed contract"},
{"Base64Data": "SGVsbG8gV29ybGQ=", "Title": "greeting", "FileExtension": "txt"}
]
To upload multiple content documents from different folders:
EXEC UploadContentDocument ContentDocuments = '[
{"FolderPath": "C:\\Reports"},
{"FolderPath": "C:\\Invoices"}
]'
Input
| Name | Type | Accepts Input Streams | Description |
| FullPath | String | False | The full local path to the file to upload. Required if Base64Data is not provided. Only one of FullPath or FolderPath should be specified for a single operation. |
| Base64Data | String | False | Base64-encoded string representing the contents of the file. Required if FullPath is not specified. Useful for programmatic uploads without local file access. |
| FileExtension | String | False | The file extension that indicates the content type (such as PDF, TXT, or DOCX). Required when using Base64Data to define the file contents. |
| Title | String | False | The title to assign to the ContentDocument in Salesforce. If omitted, the file name from FullPath will be used. Required when uploading using Base64Data. |
| FolderPath | String | False | Path to a local folder containing multiple files to upload in batch. Only one of FolderPath or FullPath should be used per request. |
| Description | String | False | Optional text description for the ContentDocument. Maximum length is 255 characters. |
| LinkedObjectId | String | False | The ID of the Salesforce record to associate all uploaded files with. When specified, each uploaded file will be linked to this record via a ContentDocumentLink. Can also be set per file using the ObjectId column in the ContentDocuments aggregate. |
| Content | String | True | The file content as an InputStream. Used as an alternative to FullPath or Base64Data for direct streaming uploads. |
| ContentDocuments | String | False | Accepts a temporary table name or an aggregate (JSON) containing multiple ContentDocument records for batch uploading. Each row should contain fields such as FullPath or Base64Data. |
Result Set Columns
| Name | Type | Description |
| Id | String | The ID of the newly created content version record associated with the uploaded document. |
| ContentDocumentId | String | The ID of the ContentDocument object created from the uploaded file. |
| FileIdentifier | String | Identifies the file for this result row. Contains the full file path when FullPath or FolderPath was used, or the title when Base64Data or Content stream was used. |
| Success | Boolean | Indicates whether the file upload succeeded (true) or failed (false). |
| Errors | String | Error messages returned by Salesforce if the upload failed, including error codes and descriptions. |