Salesforce File Archiving

Archive Salesforce ContentDocuments to Amazon S3 — without losing traceability. Custom Salesforce tracking objects keep archived files discoverable from record pages while you reclaim storage costs.

How archiving works

Archive without losing visibility. Every file moved to S3 leaves a trail in Salesforce so users and auditors can find it later.

01

S3 upload with structured key paths

Files upload to your S3 bucket with a structured key (ObjectType/ParentId/ContentDocumentId/filename) so the location is predictable and human-readable. Use S3 Standard, IA, or Glacier per your retention policy.

02

Custom Salesforce tracking objects

Each archived file gets a ContentDocumentArchive__c record capturing S3 URL, original metadata, file size, and timestamps. Every ContentDocumentLink becomes a ContentDocumentLinkArchive__c so parent-record relationships survive archival.

03

Lightning Web Component viewer

Drop the included LWC on a record page and archived files appear alongside live ones. Users click to download from S3 — they don't need AWS access, don't need to know where the file went, and don't lose the workflow.

04

Deduplicated uploads

Files shared across multiple parents (via ContentDocumentLink) are uploaded to S3 once. Each parent's archive link points to the same S3 object — no redundant storage spend.

05

Date range and object filtering

Run targeted archival campaigns. Archive everything older than 18 months on Account, or files older than 5 years across all objects. Granular scoping prevents over-archival.

06

Optional post-archival deletion (with dry-run)

After successful S3 upload, optionally delete the original ContentDocument from Salesforce to actually reclaim storage. Dry-run mode previews exactly what would be deleted before any destructive action runs.

Common use cases

Storage cost reduction

Salesforce file storage is expensive at scale. Archiving inactive files older than a defined threshold to S3 — while keeping them discoverable from record pages via the LWC — drops storage cost dramatically without changing the user experience for live records.

Compliance and retention

Files must be retained for 7 years (or longer) for regulatory or contractual reasons, but they don't need to live in Salesforce. Archive to S3 with versioning and lifecycle policies, keep a Salesforce-side audit trail via the tracking objects, and pass compliance audits without paying Salesforce file rates for cold data.

Pre-purge backup

Before a hard delete (data subject request, retention expiry, project closeout), archive to S3 first. The dry-run mode lets you preview the deletion. The S3 copy and tracking record remain even if the original Salesforce file is gone — useful for "we deleted it but can prove what was there" scenarios.

Frequently asked questions

How does Salesforce File Archiving reduce storage costs?

Salesforce charges per GB of file storage and the marginal cost of additional storage adds up fast. Files in Amazon S3 cost a fraction of Salesforce file storage. Archiving inactive ContentDocuments to S3 — while keeping them discoverable in Salesforce — eliminates the need to pay for unused capacity. See our storage cost reduction guide for the full breakdown.

Can users still find files after they're archived?

Yes. Every archived file gets a ContentDocumentArchive__c record in Salesforce capturing the S3 location and original metadata. Every parent-record link is preserved as a ContentDocumentLinkArchive__c. A Lightning Web Component on the parent record's page surfaces archived files alongside live ones, and users can download from S3 with one click.

How does deduplication work?

When the same ContentDocument is linked to multiple parent records via ContentDocumentLink, it would naively upload to S3 multiple times. Instead, the file uploads to S3 once with a stable key, and each parent's ContentDocumentLinkArchive__c points to the same S3 object. No wasted storage.

Is the original file deleted from Salesforce after archival?

Optional. The tool supports a post-archival deletion mode with a dry-run preview that shows exactly what would be deleted before any destructive action. You can also archive without deleting — useful for compliance scenarios where the file must remain in Salesforce but a verified S3 backup is required.

Can I archive to my own S3 bucket?

Yes — the Custom S3 Bucket add-on points archival at an AWS account you control. You retain full ownership of archived files and can apply your own lifecycle policies (Standard → Glacier transitions, retention rules, etc.). Without the add-on, files archive to EKE-managed storage with the Enterprise tier's 100 GB allowance.

Pair it with migration tools

Archiving is most often the last step in a broader org-management workflow.

Salesforce File Migration

Move files between Salesforce orgs first. Once they've landed in the target, archive older files to S3 to control storage growth from day one in the new org.

Learn more →

Salesforce Data Migration

After Data Migration consolidates records into a single org, file archival prevents the new org from inheriting the storage problem the old orgs had.

Learn more →

Plan your archival strategy

Tell us about your current Salesforce file storage, retention requirements, and S3 setup. We'll show you a representative archival run and the resulting storage savings.

Request a Demo Read the Cost Reduction Guide
Get Started