When designing a Dynamics 365 CRM implementation, one common question is:
“Where should we store documents—within CRM or externally?”
As a general rule, Dataverse (Dynamics CRM’s underlying platform) is not meant for heavy document storage. Instead, Microsoft strongly recommends using SharePoint Integration for document management, while CRM focuses on structured business data.
In this blog, I will outline:
- Recommended strategies for document handling within CRM
- Different options for form-level attachments
- Key considerations for SharePoint integration and access control

CRM Is Not a Document Repository
Dynamics 365 CRM is optimized for managing structured business data like contacts, leads, opportunities, and custom entities—not for storing large volumes of files.
- Dataverse file storage is limited and expensive
- No version control or advanced document management features
- Limited support for collaboration or access policies
Therefore, storing documents like proposals, quotes, and contracts should be offloaded to SharePoint, which is purpose-built for such use cases.
Common Scenarios and Recommendations
Scenario 1: Centralized Document Management
Use SharePoint Integration
CRM offers native integration with SharePoint Online. When enabled:
- Each record (e.g., Account, Case) can automatically create a corresponding SharePoint folder
- Users can upload, view, and manage files directly from the Dynamics 365 UI
- SharePoint handles version control, permissions, metadata, and collaboration
Best suited for:
- Contracts, quotes, product manuals, support documents
- Scenarios where documents are large, frequently accessed, or require long-term storage
Scenario 2: Light Attachments via Forms
Sometimes a business process needs a lightweight PDF or image file attached to a CRM form—such as a signed confirmation, receipt, or ID photo. In such cases, several options exist:
Option A: Notes (Annotation)
- Enables drag-and-drop file uploads in the Timeline
- Fast and simple
- But lacks metadata, security control, or structure
- Files stored in Dataverse (consumes file storage)
Recommended for:
Simple, one-time attachments without compliance or structure needs
Option B: File-type Columns
- Add a custom File column directly to your entity
- Provides better control than Notes (only one file per field)
- Still uses Dataverse file storage
Recommended for:
Structured form-based processes like “Upload ID”, “Attach PDF approval form”, etc.
Option C: Azure Blob Storage with Metadata in CRM
- Upload files to Azure Blob (via Power Automate or plugins)
- Save the Blob URL and metadata in CRM
- Keeps CRM lightweight while scaling document storage externally
Recommended for:
Large file support, long retention, permission policies
SharePoint Integration: What About Permissions
One major challenge with SharePoint integration is that CRM security roles do not automatically apply to SharePoint.
Problem: Mismatched Security Models
- CRM uses role-based security
- SharePoint uses folder- and file-level access permissions (ACL)
This mismatch can lead to scenarios where a CRM user can access a record but cannot access the related documents—or worse, they can access documents they shouldn’t.
Summary
Requirement | Recommended Solution | Storage Impact |
---|---|---|
Central document management | SharePoint Integration | Minimal CRM impact |
Quick file uploads (no structure) | Notes (Annotation) | Consumes CRM File Storage |
Structured form uploads | File Columns | Consumes CRM File Storage |
Large or regulated files | Azure Blob + Metadata | No CRM file impact |
Secure access control | Privilege-Based Access | Ensures CRM-level control in SharePoint |
Final Advice:
If you’re planning to use SharePoint for document storage in your CRM project, do not overlook access control. Without enabling proper sync mechanisms, users might encounter broken access or compliance risks.
For most enterprise use cases, enabling Privilege-based Access Control and maintaining a clean folder-per-record structure in SharePoint ensures both scalability and security.
コメント