UploadDocument
Uploads a document to Salesforce, making it available in the document repository.
Stored Procedure-Specific Information
FolderId is required for all uploads.
Uploading Single Files or Single Folders
To upload a document to a folder, specify the Name:EXEC UploadDocument FolderId = '00l5Y000004PPvnQAG', Name = 'testfile.txt'To upload a single document, specify the FullPath:
EXEC UploadDocument FolderId = '0018Z00002nz4TkMAR', FullPath = 'C:\csv samples\mycsvfile.csv'To upload all documents in a single folder, specify the FolderPath:
EXEC UploadDocument FolderId = '0018Z00002nz4TkMAR', FolderPath = 'C:\\csv samples'For Base64 data, you must specify the Base64Data and Name:
EXEC UploadDocument FolderId = '0018Z00002nz4TkMAR', Base64Data = 'byBib2Jl', Name = 'testfile.txt'
Uploading Multi-Valued Inputs
To upload multiple documents from multiple folders using a temporary (#TEMP) table:- First insert values into #TEMP tables. For example:
INSERT INTO Document#TEMP (FolderId, FolderPath) VALUES ( '0018Z00002nz4TkMAR', 'C:\\TestImages' ) INSERT INTO Document#TEMP (FolderId, FolderPath) VALUES ('0018Z00002nz4TkMAR', 'C:\\csv samples' )This inserts the values into a table in memory. - Then reference that same table when executing the stored procedure:
EXEC UploadDocument Documents = 'Document#TEMP'
This approach has the advantage of avoiding arbitrary parameters as inputs to the stored procedure.
To upload multiple documents by file path or Base64 data using a JSON array:
EXEC UploadDocument Documents = '[
{"FolderId": "00l5Y000004PPvnQAG", "FullPath": "C:\\Documents\\report.pdf"},
{"FolderId": "00l5Y000004PPvnQAG", "FullPath": "C:\\Documents\\summary.docx"},
{"FolderId": "00l5Y000004QQwnRAG", "Base64Data": "SGVsbG8gV29ybGQ=", "Name": "hello.txt"}
]'
Input
| Name | Type | Description |
| FullPath | String | The full local path to the document to upload. Required if Base64Data is not provided. Only one of FullPath or FolderPath should be specified per upload operation. |
| Base64Data | String | Base64-encoded string representing the contents of the document. Required if FullPath is not provided. Enables uploading without relying on a local file path. |
| Name | String | The name to assign to the document in Salesforce. If not specified, the file name from FullPath is used. Required when uploading via Base64Data. |
| FolderId | String | The ID of the folder where the document will be stored. This field is required for all uploads. |
| FolderPath | String | Path to a local folder containing documents to be uploaded in batch. Only one of FolderPath or FullPath should be specified for a single operation. |
| Description | String | Optional description of the document. Limited to a maximum of 255 characters. |
| Documents | String | Accepts a temporary table name or an aggregate (JSON) containing multiple Document records for batch uploading. Each row should include inputs such as FullPath, Base64Data, or Name. |
Result Set Columns
| Name | Type | Description |
| Id | String | The ID of the document that was successfully uploaded to Salesforce. |
| FileIdentifier | String | Identifies the file for this result row. Contains the full file path when FullPath or FolderPath was used, or the file name 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. |