Salesforce Files with FileViewer Document Management Solution

Written by: Kyle Hagan

The self-proclaimed "Lord of the Nerd Herd", Kyle is a Salesforce developer and admin with experience in javascript, HTML Apex, and various other Salesforce elements. He is Conga product certified, which means he know lots of sales based processes. While at FirmWorks, Kyle helped pilot the design and development of FirmWorks Files and Notes.

July 12, 2023

Salesforce Files are a powerful Salesforce feature that allows users to store, share, and manage documents and other files in their Salesforce org.

Salesforce Files are different from Salesforce attachments, the feature which allowed users to store files in Salesforce previously. Attachments are linked to a single specific record, for instance, an account or an opportunity. Attachments have limited functionality and storage space.

On the other hand, Salesforce Files are independent objects that can be related to multiple records and accessed from various places in Salesforce. File storage is relational to the CRM records, providing another level of important, inferred context.

Salesforce Files also have more features and capabilities, such as versioning, previewing, commenting, and collaborating. Keep reading to explore how and why Salesforce Files are useful for your business.


A key benefit of leveraging Salesforce Files is enabling users to store all files in one place and access them from anywhere.

You can upload files of many file types from your computer, mobile device, or cloud storage service, such as Google Drive or Dropbox. Once you have uploaded or created a file, you can view it in the Files home tab, where you can see all your files and folders.

You can also find files in other places in Salesforce, such as the Chatter feed, the record detail page, or the related list.

Another benefit of Salesforce Files is allowing users to share and collaborate on files with other team members and external partners.

You can share a file with anyone with access to the record to which that file is related. You can also share a file with a specific user, group, or library. When you share a file, you can choose the level of access that you want to grant: view only, edit, or co-owner. You also receive notifications to track file views or downloads.


Out-of-the-box, Salesforce Files provides file access based upon a user’s record access, differing from most other security and permission settings within Salesforce.

Within Salesforce, a file and its data are stored in the object ContentVersion. A ContentDocument object represents the latest ContentVersion and is considered the header record for the file. The relationship between files and other records is stored in the ContentDocumentLink object.

It is important to note that there isn’t field-level security on the ContentDocument, ContentVersion, or ContentDocumentLink objects within Salesforce. Record-level security for files is controlled by the existence of ContentDocumentLink records that tie a ContentDocument to nearly any other record within Salesforce.

Salesforce Files are powerful, and their presence alongside records is indispensable for teams to keep up on relevant details and other information that may not fit in regular database fields.


While using Salesforce Files has a lot of benefits, using it as-is can prove to be limiting. Here’s why—

1. Files are Buried Deep—

Salesforce Files require too many clicks to get to a piece of information. Updating a field on a ContentVersion record with the lightning experience can require 6-8 clicks to navigate to the file detail page, often removing the user from the record they are on and resulting in shallow adoption of field usage and tracking.

2. No Customization for Page Layouts—

Do you have accounts with dozens or, even hundreds, of files that have been maintained and curated for years? Then you better hope a solid naming convention is in place and followed. Worst case scenario, a Salesforce user would have to click and open each file preview to see which one they need and hope it is the most current. In the best-case scenario, everyone in the account’s history has properly named and stored their files making this process a long scroll rather than a wild goose hunt.

3. No Native Filtering and Searching for Files—

Salesforce’s Global Search feature does provide full-text indexing on files, which is helpful if you know the specifics of the copy in the file. But how do you find and work with files when new to a project? What if there are dozens or hundreds of files already there? It will take time and some tribal knowledge for new users to sift through and locate the files they need.

4. No File Reporting—

Salesforce allows limited reporting on the ContentDocument object; however, the ContentDocument object only provides the title field and created/last modified dates. This is hardly useful when the ContentVersion object may have multiple custom fields that capture your organization’s taxonomies, categories, and business processes. There isn’t an out-of-box way to find out which accounts have a signed MSA or, better yet, which Accounts created last quarter do not have an MSA on file. Auditing and compliance reporting against file metadata is critically important in analyzing risk for any healthy organization.

5. Limited Support for Public Link Sharing—

Public links are URL links that can be shared with external users or allow others on the team to share files. Public links are an important feature, and currently, Salesforce offers the ability to create a very limiting, single public link per file. Additionally, it is often necessary to have the links expire after a specified date or be password protected to reduce the number of people who can access and view the file. Currently, these features are not supported out-of-the-box with Salesforce Files.

6. Limited Support for Relating Files to Records—

Without automation, it requires some work and knowledge of a record, and its related parent and children records, to manually create the multiple ContentDocumentLinks to ensure that the same important file appears on all of the necessary layouts.

7. File Download Limitations—

Currently, Salesforce does not allow users to download multiple files related to a record quickly without opening each one manually to download it locally.

While Salesforce’s base implementation has some drawbacks, the good news is the framework is strong enough for 3rd parties tools to fill in the gaps.


Salesforce offers a tool called Files Connect, allowing users to store content off of Salesforce while still linking to it. Providers like Google Drive, Microsoft Sharepoint, Box.com, and others have various levels of Files Connect integrations.

Some Files Connect integrations allow file previewing and other behaviors as if the files were stored on the Salesforce platform. However, with the Files Connect technology, users cannot upload files through Salesforce directly, limiting the ability to upload files within a screen flow, capturing it from a digital experience user, and creating an unnecessary layer of abstraction.

Salesforce also provides its own AppExchange, where many providers have taken to managing their Salesforce CRM content by storing the files outside of Salesforce using one of many external tools and integrations.

Due to the lack of native functionality around reporting, auditing, and compliance built into Salesforce Files, many Salesforce administrators do not see the value of storing files alongside their respective records and have adopted an external file storage solution.

If users can’t easily tag, organize, categorize, and provide the taxonomical metadata that exists with files – there is no need to have them in the system.

So what can Salesforce users use to bridge this gap?


Our Salesforce AppExchange listing, FirmWorks Files, addresses all of the aforementioned shortcomings of the current Salesforce Files experience by providing multiple lightning components offering users the ability to curate file lists and view files directly on layouts, filter and search, ContentVersion field support for metadata (taxonomies), reporting through auditing and compliance, public link management, upload and download utilities and more.

FirmWorks Files aims to take all content-related objects and treat them as top-level objects, and aids in the following file life cycle:

1. Upload Documents—

FirmWorks Files provides configurations to ensure that as files are uploaded into the Salesforce instance, their ContentVersion record’s fields are appropriately filled out. Administrators can let their users pick which values to fill out – or completely curate the experience by filling it out for them, increasing user adoption.

2. Quickly and Easily Edit File Details for Existing Documents—

What if there are already thousands of documents in the system? FirmWorks Files provides a data entry view to quickly mass-update documents to aid users going forward.

3. Page Layouts and Views—

FirmWorks Files keeps page layouts organized and cuts through the clutter. Users can create department-specific document tabs to reduce noise and allow sales teams to see generated quotes, legal to see signed contracts, manufacturing to see project-related documents, HR to see personnel docs, and so on. FirmWorks Files allows users to quickly and easily get the right files in front of the right people.

4. Auditing and Compliance—

FirmWorks Files has a powerful report generator that allows a power user to see which accounts do or do not have an MSA or NDA on record, or see which opportunities won last quarter had a specific sales asset. FirmWorks Files aids in the adoption of a process by ensuring digital experience users know which documents are required and provides useful onboarding links with the requests. Additionally, users can schedule reports to run monthly to ensure team members are completing the necessary behaviors and activities to keep the organizational risk to a minimum.

5. Enhanced Functionality—

FirmWorks Files aims to provide users with all the tools required to work with a file directly from the interface. This means within one location, file details, and fields can be accessed, public links can be generated, sharing with other records can be managed, content can be downloaded, and even set-up CSV information to feed into DataLoader and other data ETL tools directly from the user interface.

6. File Lifecycle Support—

By creating expiration fields on a ContentVersion and scheduling a FirmWorks Files report, Salesforce flows can be created to respond to the report events to archive and delete no longer needed files.


Successful businesses capture and use data to analyze and make decisions. Files, in many cases, represent risks and opportunities in a business, making it critical to have a solid file management system to help guide and mitigate risks as your organization and file backlog grow.

Keeping key documents in Salesforce with the added functionality of FirmWorks Files delivers a compelling CRM file experience to truly give businesses that 360-degree view of each account.

To take FirmWorks Files on a 15-day test drive, download our free trial in the AppExchange today.

To see FirmWorks Files in action, visit us online or contact us to schedule some time to see a live demo and talk through your organization’s needs.


Salesforce Notes
Salesforce Link Sharing 

Related Posts



Soilworks, a company specializing in soil stabilization and dust control solutions, reached out to FirmWorks for assistance storing, using, and sharing their multitude of files.   Soilworks provides...



Why Do We Care Where? In the world of interrogatory words, ‘where’ falls somewhere in the middle with respect to the order of importance. Not nearly on the level of ‘why’, but certainly well above...


Sign up to receive product updates, new release info, and industry news.