Read Salesforce File
Add the Read Salesforce File skill to let an iDialogue Agent read a Salesforce ContentVersion. The skill supports one admin-facing read flow with three modes:
| Mode | Use For | Returned Body |
|---|---|---|
auto |
Default agent behavior | Exactly one representation chosen by file type |
semantic |
Summaries, extraction, Q&A, document review | file.md, created just in time and cached |
source |
Exact editable source for text-like files | Decoded VersionData, cached as source.{ext} |
The tool always updates file.meta.json with ContentVersion metadata, detected content type, artifact keys, checksum values, charset, and the mode used.
How Auto Mode Chooses
auto returns only one body. It uses source for text-like web, code, data, and template files. It uses semantic for binary or document formats such as PDF, Word, PowerPoint, Excel, and images.
Agents can call a second mode only when the user task genuinely needs both exact source and semantic document understanding.
Source Mode File Types
Use source mode for exact text source such as:
| Category | Extensions |
|---|---|
| Web | .html, .htm, .css, .svg |
| Code | .js, .mjs, .cjs, .ts, .tsx, .jsx |
| Data | .json, .xml, .csv, .tsv, .yaml, .yml |
| Markdown and text | .md, .markdown, .txt, .text |
| Templates | .peb, .njk, .liquid |
Do not use semantic markdown as the source for writing HTML, CSS, JavaScript, JSON, XML, SVG, template, or other source files. Use source mode first so the update is based on exact decoded file text.
Semantic Mode
Use semantic mode when the agent needs to understand or extract information from a document. The tool creates or reuses file.md.
For most document formats, the semantic artifact is produced through OpenAI file processing. Excel files are extracted locally so agents see evaluated worksheet values rather than formula text.
Related Skill
Use create_salesforce_file when the agent needs to create a brand-new text-like Salesforce File.
Use update_salesforce_file when the agent needs to save a full updated text source body back to Salesforce. That creates a new immutable ContentVersion for the same ContentDocument.