Document management architecture involves choosing where files live, how they are generated, how knowledge is published, and how signatures are captured. The CTA must balance native platform simplicity against the richer capabilities of external document management systems.
Document Management Landscape
flowchart TD
A[Document Management<br/>Decisions] --> B[File Storage]
A --> C[Knowledge Base]
A --> D[Document Generation]
A --> E[E-Signature]
B --> B1[Salesforce Files]
B --> B2[External DMS<br/>SharePoint, Box, Google Drive]
B --> B3[Files Connect<br/>Hybrid]
C --> C1[Salesforce Knowledge]
C --> C2[Experience Cloud CMS]
C --> C3[External CMS]
D --> D1[Native Document Generation]
D --> D2[Conga / Nintex]
D --> D3[Custom Apex + PDF]
E --> E1[Salesforce E-Signature]
E --> E2[DocuSign]
E --> E3[Adobe Sign]
Salesforce Files vs External DMS
Salesforce Files (ContentDocument / ContentVersion)
Salesforce Files is the native file storage system. Every file is stored as a ContentDocument with one or more ContentVersion records and linked to records via ContentDocumentLink.
| Feature | Detail |
|---|
| Storage model | ContentDocument / ContentVersion / ContentDocumentLink |
| Versioning | Automatic version history |
| Sharing | Follows Salesforce sharing model |
| Preview | In-app preview for common file types |
| Search | Full-text search on file content |
| Mobile | Available through Salesforce Mobile App |
| Libraries | Organize files into shared libraries |
| Asset files | Serve files publicly via URLs |
Storage Limits
| Edition | Base File Storage | Per-User File Storage |
|---|
| Enterprise | 10 GB | 612 MB/user |
| Unlimited | 10 GB | 2 GB/user |
| Performance | 10 GB | 2 GB/user |
Storage math
A 500-user Enterprise org gets 10 GB + (500 x 612 MB) = ~308 GB of file storage. This sounds generous until you consider that a single scanned contract is 2-5 MB, and an organization processing 100 contracts/day generates 73-182 GB per year. Always model file volume growth.
External DMS Comparison
| Factor | Salesforce Files | SharePoint | Box | Google Drive |
|---|
| Native integration | — | Medium (API + Lightning) | Strong (managed package) | Medium (API) |
| Version control | Basic | Advanced | Advanced | Advanced |
| Collaboration | Limited (Chatter) | Full (Office 365) | Full | Full (Google Workspace) |
| External sharing | Limited | Advanced | Advanced | Advanced |
| Advanced permissions | Salesforce sharing model | SharePoint permissions | Box permissions | Google permissions |
| Compliance (DLP, retention) | Shield | Microsoft Purview | Box Shield | Google Vault |
| OCR / AI | Limited | Microsoft AI | Box AI | Google AI |
| Cost | Included (within limits) | Microsoft 365 license | Box license | Google Workspace license |
| Offline access | Limited | OneDrive sync | Box Drive | Google Drive |
When to Use External DMS
| Signal | Why External DMS Wins |
|---|
| Heavy document collaboration | Multiple users editing documents simultaneously |
| Advanced version control | Branch merging, check-in/check-out workflows |
| Large file volumes | Terabytes of documents exceed Salesforce storage economics |
| Document lifecycle management | Retention policies, legal holds, disposition schedules |
| Non-Salesforce users | Significant user base that never touches Salesforce |
| Advanced compliance | eDiscovery, DLP, information barriers, sensitivity labels |
| Document-centric workflows | The document is the primary work object, not a Salesforce record |
When to Keep Files in Salesforce
| Signal | Why Salesforce Files Wins |
|---|
| Record-centric attachment | Files are attachments to CRM records (proposals, contracts on Opportunities) |
| Simple requirements | Upload, view, download — no collaborative editing |
| Mobile access | Field users need files through Salesforce Mobile App |
| Security simplicity | File access should follow CRM sharing model exactly |
| Low volume | File volumes well within Salesforce storage limits |
| No external DMS exists | Customer does not have SharePoint, Box, or Google Workspace |
Files Connect
Files Connect provides access to external files (SharePoint, Google Drive, Box, OneDrive) directly from within Salesforce without migrating files.
How Files Connect Works
flowchart LR
A[Salesforce User] --> B[Files Tab / Related List]
B --> C[Files Connect]
C --> D[SharePoint]
C --> E[Google Drive]
C --> F[Box]
C --> G[OneDrive]
style C fill:#457b9d,color:#fff
| Aspect | Detail |
|---|
| File storage | Files remain in external system (not copied to Salesforce) |
| Access | Browse and search external files from within Salesforce |
| Linking | Attach external file references to Salesforce records |
| Authentication | OAuth-based, per-user or admin-configured |
| Search | External file content searchable through Salesforce global search |
| Editing | Open in native app (Word, Google Docs) — not edited in Salesforce |
Files Connect as the bridge
Files Connect is the ideal solution when a customer has an established external DMS and wants to surface those documents in Salesforce without migration. It avoids duplicate storage costs and preserves the DMS’s collaboration features while giving Salesforce users visibility.
Files Connect Limitations
- Files are not stored in Salesforce — if the external system is unavailable, files are inaccessible
- Performance depends on external system responsiveness
- Search indexing of external files may lag
- Not all metadata from the external system is preserved in Salesforce views
- Requires appropriate external system licenses in addition to Salesforce
Knowledge Management
Salesforce Knowledge
Salesforce Knowledge is a built-in knowledge base for creating, managing, and publishing articles.
| Feature | Detail |
|---|
| Article types | Multiple record types for different content categories |
| Lifecycle | Draft, Published, Archived with approval workflows |
| Channels | Internal (agents), Customer (portal), Partner (portal) |
| Versioning | Article versions with translation support |
| Search | Federated search in console and portals |
| Case deflection | Suggested articles during case creation |
| Data categories | Hierarchical categorization and visibility control |
| Feedback | Article ratings, view counts, case association |
| Lightning Knowledge | Single article record type with multiple page layouts |
Knowledge Article Lifecycle
flowchart LR
A["Draft"] -->|"Submit"| B["In Review"]
B -->|"Approve"| C["Published"]
B -->|"Reject"| A
C -->|"Edit"| D["Draft<br/>(New Version)"]
D -->|"Submit"| B
C -->|"Retire"| E["Archived"]
E -->|"Restore"| A
style A fill:#e9c46a,color:#000
style B fill:#457b9d,color:#fff
style C fill:#2d6a4f,color:#fff
style E fill:#6c757d,color:#fff
Articles can be published to multiple channels simultaneously: Internal (agent-facing in Service Console), Customer (self-service portal via Experience Cloud), and Partner (partner portal). Data categories control which articles are visible in each channel.
When Salesforce Knowledge Excels
- Service agents need articles while working cases
- Customer self-service portal with case deflection
- Knowledge articles closely tied to products or services in Salesforce
- Article visibility needs to follow Salesforce data category and sharing rules
Experience Cloud CMS
Experience Cloud includes a headless CMS for creating and managing content in digital experiences.
| Feature | Detail |
|---|
| Content types | Custom content types with custom fields |
| Workspaces | Organize content by team or topic |
| Channels | Publish to multiple Experience Cloud sites |
| API | Headless delivery via CMS API |
| Media | Image and document management |
| Personalization | Audience-based content targeting |
Knowledge Solution Decision
| Requirement | Salesforce Knowledge | Experience Cloud CMS | External CMS |
|---|
| Agent-facing knowledge | Best fit | Not designed for this | Possible via integration |
| Customer self-service | Good | Good | Good |
| Marketing content | Limited | Good | Best fit |
| Multi-channel publishing | Limited | Good | Best fit |
| Content workflow | Basic approvals | Basic approvals | Advanced workflows |
| Headless API delivery | Limited | Yes (CMS API) | Yes |
| Non-Salesforce sites | Not ideal | Possible via API | Designed for this |
Document Generation
Native Options
| Method | Use Case | Complexity |
|---|
| Email templates | Merge fields in emails | Low |
| Quote PDF | Generate quote documents | Low |
| Flow-generated documents | Automated document creation in flows | Medium |
Third-Party Document Generation
| Product | Strengths | Considerations |
|---|
| Conga Composer | Template-based, Word/Excel/PDF/PPT output, complex logic | AppExchange managed package, licensing cost |
| Nintex Drawloop (now Nintex for Salesforce) | Template-based generation, workflow integration | Merged with Nintex platform |
| Formstack Documents | Cloud-based, WebMerge heritage, API-driven | External processing |
| S-Docs | Native Salesforce, no external processing | Lightning-native |
Document Generation Decision Factors
| Factor | Native | Third-Party |
|---|
| Template complexity | Simple merge fields | Complex logic, conditionals, tables |
| Output formats | PDF (limited) | Word, Excel, PDF, PowerPoint, HTML |
| Batch generation | Not supported natively | Supported (Conga, Nintex) |
| Dynamic content | Limited | Conditional sections, loops, calculations |
| Template management | Setup menus | Template builders with preview |
| E-signature integration | Manual process | Direct integration (Conga + DocuSign) |
CTA exam context
Document generation questions in CTA scenarios typically involve complex proposals, contracts, or compliance documents. If the scenario mentions “generate a 20-page proposal with dynamic sections based on selected products,” that is a signal for a third-party solution like Conga. Standard Salesforce document generation cannot handle that complexity.
E-Signature
Salesforce now offers native e-signature capabilities.
| Feature | Detail |
|---|
| Integration | Native within Salesforce |
| Workflow | Send for signature from records |
| Tracking | Status tracking on Salesforce records |
| Templates | Reusable signature templates |
| Mobile | Sign on mobile devices |
DocuSign vs Adobe Sign
| Factor | DocuSign | Adobe Sign |
|---|
| Salesforce integration | Managed package (deep) | Managed package (deep) |
| Market share | Largest | Second largest |
| Feature depth | Extensive | Extensive |
| Adobe ecosystem | No | Yes (Acrobat, Creative Cloud) |
| Pricing model | Per-envelope or per-user | Per-transaction or per-user |
| Bulk send | Yes | Yes |
| Conditional routing | Yes | Yes |
| Compliance | SOC 2, HIPAA, FedRAMP | SOC 2, HIPAA, FedRAMP |
| In-person signing | Yes | Yes |
E-Signature Decision Factors
| Factor | Native Salesforce | DocuSign / Adobe Sign |
|---|
| Volume | Low-medium | High volume, enterprise |
| Complexity | Simple signing workflows | Complex routing, conditional fields |
| Existing investment | No existing e-sig tool | Already using DocuSign or Adobe |
| Compliance | Basic | Advanced (21 CFR Part 11, eIDAS) |
| Integration depth | Native | Deep Salesforce integration + other systems |
| Cost | Included or add-on | Separate license |
File Storage Optimization
Strategies to Reduce Salesforce File Storage
| Strategy | How It Works | Savings |
|---|
| External DMS + Files Connect | Keep files external, reference in Salesforce | Major |
| Archival policy | Move old files to external storage | Moderate |
| Compression | Compress files before upload | Minor |
| Duplicate detection | Prevent duplicate file uploads | Minor-Moderate |
| Version cleanup | Limit retained versions | Minor |
| Content delivery network | Use Asset Files for public content | Indirect (offloads serving) |
File Architecture Decision
flowchart TD
A[File Storage Decision] --> B{Expected file<br/>volume over 3 years?}
B -->|Under storage limits| C{Need collaboration<br/>on documents?}
B -->|Exceeds limits| D{Has existing<br/>DMS?}
C -->|No, just attach and view| E[Salesforce Files]
C -->|Yes, collaborative editing| F{Which tools do<br/>users have?}
F -->|Microsoft 365| G[SharePoint +<br/>Files Connect]
F -->|Google Workspace| H[Google Drive +<br/>Files Connect]
F -->|Neither| I[Box +<br/>Files Connect]
D -->|Yes| J[Keep in DMS +<br/>Files Connect]
D -->|No| K[Evaluate external DMS<br/>+ Files Connect<br/>vs buying more storage]
style E fill:#2d6a4f,color:#fff
style G fill:#457b9d,color:#fff
style H fill:#457b9d,color:#fff
style J fill:#457b9d,color:#fff
Sources