How does Salesforce External Objects work with S3?

Salesforce external objects work with Amazon S3 through Salesforce Connect, which uses an adapter to query data stored outside of Salesforce in real time without importing or copying it into the platform. Rather than storing S3 file metadata inside Salesforce natively, Connect surfaces that data as external objects, making it appear and behave like standard Salesforce records. The sections below unpack how this works in practice, where the limitations are, and how to decide whether S3 is the right storage layer for your team.

What does Salesforce use external objects for?

Salesforce uses external objects to represent and interact with data that lives outside of Salesforce without migrating it into the platform. External objects behave like standard Salesforce objects but pull their data from an external system in real time through Salesforce Connect, keeping the source of truth where it already exists.

This is particularly useful when your organization manages large datasets in systems like ERP platforms, data warehouses, or cloud storage services. Instead of duplicating records across systems, external objects let Salesforce users view, relate, and act on that data directly from within their Salesforce workflows. You can attach external objects to standard records, use them in list views, and even reference them in reports, all without touching the underlying external system’s architecture.

The practical value is significant for document-intensive teams. A project manager working inside Salesforce can see related contract files or media assets stored in an external system without ever leaving the platform. External objects make that cross-system visibility possible while keeping storage costs and data governance where they belong.

How does Salesforce Connect retrieve data from Amazon S3?

Salesforce Connect retrieves data from Amazon S3 by using a custom adapter built on the Apex Connector Framework. Because S3 is an object storage service rather than a structured database, there is no native OData adapter for it. Instead, developers write a custom Apex class that translates Salesforce queries into S3 API calls, returning file metadata as external object records.

Here is how the process works at a high level:

  1. A user opens a Salesforce record that has an external object relationship defined.
  2. Salesforce Connect fires a real-time callout to the custom Apex adapter.
  3. The adapter calls the S3 API to list or retrieve objects from a specific bucket or prefix.
  4. S3 returns file metadata such as the file name, size, last modified date, and key path.
  5. Salesforce renders that metadata as an external object record visible to the user inside Salesforce.

This approach means no file content is imported into Salesforce. Only metadata travels through the connection. Actual file retrieval still requires authenticated access to S3 directly, typically through a pre-signed URL generated by the adapter. The setup requires developer resources to build and maintain the adapter, and callout governor limits apply to every query Salesforce Connect makes.

What are the limitations of using S3 as an external object source?

Using S3 as an external object source through Salesforce Connect comes with meaningful constraints that teams should evaluate carefully before committing to this architecture. The most significant limitations are around real-time query performance, developer overhead, and the lack of native Salesforce file functionality.

  • No native adapter: S3 requires a custom Apex adapter, which demands ongoing developer maintenance and adds technical debt.
  • Callout and governor limits: Every Salesforce Connect query counts against Apex callout limits, which can become a bottleneck for high-volume document operations.
  • Metadata only: External objects surface file metadata, not the files themselves. Previewing or downloading a document requires a separate authenticated request to S3.
  • No Salesforce Files features: Files stored in S3 and referenced as external objects do not benefit from Salesforce’s native versioning, content delivery, or sharing model.
  • Search limitations: External object data is not indexed by Salesforce global search in the same way standard records are, making retrieval less intuitive for end users.
  • Relationship complexity: Defining and maintaining external lookup relationships between S3-sourced objects and standard Salesforce records requires careful schema planning.

For teams that need a lightweight, read-only view of S3 metadata inside Salesforce, this setup can work. For teams that need full document lifecycle management, including version control, access permissions, and workflow automation, the external object approach alone falls short.

What’s the difference between Salesforce Files, external objects, and S3 storage?

Salesforce Files, external objects, and S3 storage are three distinct approaches to handling documents in a Salesforce environment, and each serves a different purpose. Salesforce Files is the native content layer built into the platform. External objects are a way to surface data from outside Salesforce without importing it. S3 is a cloud storage service that can be connected to Salesforce but operates entirely outside of it.

Salesforce Files

Salesforce Files is the platform’s built-in document layer. Files uploaded here are stored within Salesforce, benefit from the native sharing model, and integrate directly with records, Chatter, and content libraries. The trade-off is cost: Salesforce file storage is priced per gigabyte and can become expensive at scale. It also comes with upload size limits that constrain large media assets or bulk document operations.

External Objects via Salesforce Connect

External objects allow Salesforce to display data that lives in another system as if it were a native record. When applied to S3, this means surfacing file metadata inside Salesforce without moving the actual files. The data remains in S3, and Salesforce queries it on demand. This approach avoids storage costs inside Salesforce but sacrifices native file functionality and requires custom development to set up and maintain.

Amazon S3 Storage

S3 is Amazon’s scalable object storage service. It is not a document management system on its own but a highly durable, cost-effective place to store files at volume. When integrated with Salesforce through a managed solution, S3 becomes a powerful storage backend that removes the ceiling on document volume while keeping costs predictable. The key is how that integration is implemented, whether through raw external objects or a purpose-built connector that preserves Salesforce usability.

Should you store documents in S3 and link them to Salesforce?

Storing documents in S3 and linking them to Salesforce is a strong strategy for organizations dealing with high document volumes, large file sizes, or rising Salesforce storage costs. The decision comes down to three factors: document volume, your team’s technical capacity, and the level of document workflow functionality your team needs day to day.

If your team regularly handles hundreds or thousands of files per month, such as contracts in real estate, media assets in communications, or transaction records in retail, S3 offers a cost-efficient storage layer that scales without the per-gigabyte pressure of native Salesforce storage. S3 pricing is substantially lower for bulk storage, and Amazon’s infrastructure provides built-in redundancy that protects your documents reliably.

However, raw S3-to-Salesforce connections built on external objects require developer resources to implement and maintain. For operational teams without dedicated Salesforce developers, this creates a dependency that slows adoption and introduces risk when things break. The better path for most teams is a managed integration that handles the S3 connection while preserving a seamless user experience inside Salesforce, including document retrieval, organization, and workflow automation without requiring users to think about where files are physically stored.

Hi, how are you doing?
Can I ask you something?
Hi there! 👋 I see you're exploring how Salesforce external objects work with Amazon S3 — a topic many Operations and Project Managers in document-intensive teams are navigating right now. The good news? There's a smarter way to handle this than building it from scratch. Which best describes your current situation?
That makes a lot of sense — teams dealing with that are often surprised by how much time gets lost to scattered files, duplicate documents, and manual handoffs. To make sure we connect you with the right information, what's your biggest priority right now?
Based on what you've shared, it sounds like Cartularius could be a strong fit for your team. Our platform connects Salesforce directly to your S3 environment — no custom Apex development, no ongoing technical maintenance — so your team gets scalable storage and seamless document workflows right inside Salesforce. Let's get you connected with our team to explore what this looks like for your specific setup. 👇
You're all set! 🎉 Your information has been received and our team will review your request. Someone will reach out to discuss your document management setup and explore how Cartularius can help your team scale with S3 — without the complexity. Thank you for your interest!
In the meantime, feel free to explore our platform features and pricing at cartularius.com to get a head start.

How can document management tools improve the S3–Salesforce experience?

Document management tools improve the S3 and Salesforce experience by abstracting the technical complexity of the integration and adding the workflow layer that raw external objects cannot provide. Instead of surfacing only file metadata, a purpose-built tool enables users to upload, organize, retrieve, and act on documents inside Salesforce as naturally as they would with native files, while the storage happens in S3 behind the scenes.

The practical improvements span the full document lifecycle. On the retrieval side, a good document management layer adds structured folder organization, metadata tagging, and search functionality that makes finding the right contract or asset fast, regardless of how many files exist in the S3 bucket. On the workflow side, automation can route documents for review, trigger actions based on file status, and keep records updated without manual intervention. You can learn more about these capabilities on our platform features page.

Teams that operate across multiple departments or locations benefit especially from this approach. A unified document layer connected to S3 means everyone works from the same source of truth inside Salesforce, without duplicate files, version confusion, or the need to switch between systems.

How Cartularius Helps with S3 and Salesforce Document Management

Cartularius connects Salesforce directly to your Amazon S3 environment, giving your team the scalable storage of AWS with the usability of a purpose-built document management platform. You do not need custom Apex development or ongoing technical maintenance to make it work. The integration is handled for you, and your team interacts with documents through a clean, intuitive interface inside Salesforce.

Here is what that looks like in practice:

  • Seamless S3 connectivity: Store files in your own S3 bucket without hitting Salesforce storage limits, keeping costs predictable as your document volume grows.
  • Structured document organization: Folders, metadata tagging, and smart search make retrieval fast for operational teams handling contracts, project files, or media assets.
  • Workflow automation: Automate document routing, approvals, and record updates directly inside Salesforce without manual handoffs.
  • Cost-effective scaling: Our Professional and Enterprise editions let you offload documents to S3, reducing reliance on expensive Salesforce file storage as your repository expands.
  • Full control: You decide when S3 storage is enabled, and all file operations run through it seamlessly once activated.

Our approach is grounded in the Document Value Management model, which treats documents as operational assets rather than administrative overhead. If you are ready to stop managing the complexity of S3 integrations manually and start getting measurable efficiency from your document workflows, explore our pricing options to find the right fit for your team.

Table Of Contents

Share this post

Enjoy a 30-day trial and transform your workflow today

Install Cartularius now and experience the best Salesforce document management solution and enjoy clean and structured data and optimized processes, risk-free for 30 days.

Discover the power of Cartularius in a personalized demo. Our experts will showcase live examples tailored to your business. Get your questions answered and see how our solution streamlines collaboration and accelerates processes. Schedule your demo today and unlock smarter document management.

Get the list

Please provide us with your Name, Job Title and Email Address and you will receive the complete predefined list of Document Categories and Document Types in your inbox.

Get Quote (Enterprises)

Please provide us with as much relevant detail on your needs as possible at this stage in the form below. We understand your business is unique and we would very much like to get you the best offer possible. Thank you!

Get Quote (Non-Profit)

Please provide us with as much relevant detail on your needs as possible at this stage in the form below. We understand your business is unique and we would very much like to get you the best offer possible. Thank you!