AppAssessor / Admins

Optimize Salesforce File Management Costs With SharePoint

By Andreea Doroftei

Branded content with UpSource Solutions

Forget about additional Salesforce file storage costs with an easy-to-use, FedRAMP compliant, and quick-to-set-up Salesforce-to-SharePoint integration. 

Highlights 

  • Connect Salesforce and SharePoint to manage and organize all of your files and folders for standard or custom Salesforce objects.
  • Customize the experience on the native sFiles component by using Custom Metadata Types, Salesforce Flow, or the sFiles API.
  • Collaborate faster with SharePoint access for Experience Cloud users. 
  • Easily track adoption through native Salesforce Reports and Dashboards. 

File management in Salesforce and the complexity associated with it is a tale seemingly as old as Salesforce itself. While having the option to relate documents, images, and other types of files to Salesforce records out of the box can seem like a quick win, the reality is that the more organizations scale, the more storage is consumed. This can lead to additional costs along the way, especially in a scenario where different types of files are used across teams and records. Wouldn’t it be nice to have other options? 

For Salesforce customers who also purchased Microsoft 365 and are using SharePoint extensively within their organization, sFiles can be the answer to the file storage consumption pain point. Allow your users to continue working directly in Salesforce, while having a one-stop shop way to easily upload and manage SharePoint files without multiple tabs or applications. By pairing a seamless user experience with automation and customization capabilities at no additional storage costs, both your internal and external users will be in for a treat. 

This in-depth review will showcase the main sFiles features, ideal use cases, and setup effort, as well as how fast your users can (and will) adopt this new integration.

Features

Be it entire folders or individual PDFs, DOCX, or even PowerPoint slides, sFiles can help your team manage everything from the entire folder structure to individual documents. All steps of the process for your users continue to happen in their workflow and without leaving Salesforce, thanks to a direct SharePoint integration. 

Even more so, since your SharePoint storage will be used exclusively, there is no limit on file size! 

SharePoint Integration for All Objects

Following the initial setup and establishing the connection to SharePoint, admins can use the Admin Panel to start configuring as many objects as are needed in order for the integration to be available. 

Right from the get-go, the Folder Name has to be chosen from one of the source object’s fields. More often than not, that will probably be the Record Name unless anything more specific is needed. 

Next, it’s all about choosing the Site and Document Library – while the site has to exist before this step, the folder doesn’t necessarily have to, and can be created from this page.

For each object that will be enabled for sFiles, there will be an option to determine the Object-level permissions that users will have access to directly from within the Lightning Web Component. The easiest way is to establish them at this time, but all of these can be amended later on. The default permissions are illustrated below, but you can pick and choose which ones should be applied. For example, if you want users to have the folders linked to the record by the time they go and upload files, you could check the auto-setup folders on records option. 

The last step of the object setup wizard is determining the initial folder structure, which plays a key role in how documents will be organized and dictates the overall standardization from the moment the folder creation is triggered. An example is provided for reference, but you can easily copy and paste it in the box below and start adapting the JSON.

Ideally, you would already have a plan for the folder structure for all objects that will be set up from the beginning to ensure that the structure will be the same with little changes moving on.

Since it won’t always be the case to know everything from the setup, all object-related attributes and permissions can be edited within a dedicated Custom Metadata Type. This includes the initial folder configuration JSON, for which any change will apply moving forward without impacting already existing structures. It’s worth noting that there are no limits to how many levels folders can be nested under, but keep in mind the user experience impact that may come with having too many navigable layers.

Embed sFiles on Record Pages

sFiles provides a few custom components within the managed package, depending on the plan that your organization has opted for. By dragging either the sFiles Enterprise or the sFiles Standard component on the Record Page of an enabled object, you will make the functionality available to users who have the required permissions to access it.

Additionally, the component has quite a few attributes that you can make use of, from the component’s height on the page to the overwrite behavior.

Once saved, the component is ready to use! Based on the settings you choose, the users may or may not have to click the button to start creating the folders. Alternatively, the component can be set up to link existing folders instead of creating new ones. 

In this scenario, the creation is manually triggered, and in seconds, you can see the predefined structure appearing within the component embedded on the Account. If more folders are needed ad hoc, users can easily create them. 

Ultimately, through the initial folder structure JSON shown above, you can offer all of your users a consistent starting point, with subfolders for each child object and their related objects if needed. 

As folders start being created through the sFiles component, you may be looking forward to starting to condition the root folder. In this case, the Id Search Utility within the Admin Panel will be where all of the folder Ids can be found, so that you don’t need to spend time switching between SharePoint and Salesforce. All possibilities are covered either by manually searching for the folder or by inputting the path, and the Id will simply be presented to you. 

This option, however, is only suitable for very specific use cases, as the Id can be used in formula fields to conditionally determine the very initial root folder, which is not tied to any Salesforce record, for example. 

Another alternative for a different use case altogether, which comes in handy when looking to dynamically set the root folder to mimic the Salesforce hierarchy and does not imply hard-coding the ID, is a formula field leveraging the folder path. 

A formula field, along with the parent SharePoint folder Id and name of the parent folder, is everything you need to achieve this, be it one or more levels deep. The example illustrated below showcases the folder that Opportunity subfolders should be under, but for other objects such as Opportunity Products, the path will differ slightly, as “/OpportunityProducts” should be added too if that is how the subfolder is named. 

The last step is to add the root folder field API Name within the sFiles LWC attributes on the record page, and it’s all set! After triggering the folder creation from the Opportunity level, the hierarchy will easily be seen either directly in SharePoint or in Salesforce.

Upload, Download, Edit, and Send via Email

While having the ability to create and manage folders, as well as see the assets within each of them, sFiles wouldn’t be a complete solution without actual file management capabilities – these are the key features that ultimately enhance the experience and allow users to save time while continuing their day-to-day work within Salesforce. 

Files can easily be uploaded by using the drag-and-drop functionality directly on the component in any available folder. Depending on the size of the files, the upload may take a bit longer; however, in most cases, it will be just a few seconds.

Once object-level files and folders exist, each line item in the table will have various available actions related to it, just as you would in a Salesforce list view. Depending on the permissions chosen during the object setup or later modified within the Custom Metadata Type, there may be more or less of the name available. A few examples include renaming or moving files, as well as deleting them if need be. 

This is still not all, though – regardless of the file format, clicking on it will open a new tab with the SharePoint preview, where you can access the file directly and make the supported edits based on the access that was granted for the said file, as well as share and manage access if needed.  

On top of the sharing from within the document, sFiles also has a readily available share feature that can be used for one or more items simultaneously. After selecting the files for example, you can either email them as an attachment directly from Salesforce, or simply generate a sharing link with the associated permissions and expiry dates. How is that for a one-stop shop? 

Automate with Salesforce Flow and sFiles API

Manually triggering the creation of folders is just one of the options that you can leverage for your users, as the sFiles managed package also comes with Flow Actions ready to support various automations running in the background and even more complex use cases. 

For example, what if a parent record folder doesn’t exist by the time its child record is created alongside a folder? Without considering this scenario, this may result in an unwanted issue and an error for the user. 

Such a scenario can be easily mitigated with a simple record-triggered flow which can check if the parent folder exists and create it by using the Create SharePoint Folder action. This is just one of the many available actions, but a few others you might want to look into are the ones that allow you to create sharing or download links, rename folders, and, if the requirement calls for it, even delete folders.  

Another notable use for Salesforce Flow when implementing sFiles is giving users the option to use quick actions from the table rather than manually having to update records, for example. 

By creating a flow that uses the Parse sFiles Item Action and a couple variables, you can allow your users to work within the component, for each file, much faster. This is an enterprise-only functionality; however, it is worth it if your organisation’s file management processes have a higher complexity and require more control over updating SharePoint fields or the use of sFiles API for even more customization capabilities, such as adding custom columns in SharePoint.

Even if you are using Salesforce Flow, Apex, or a combination of both, making the sFiles implementation your own could be a quick win. All details about the available data points that you can make use of can be found within the sFiles API Reference guide. 

Track Adoption on Records

Implementing a new tool or feature in Salesforce is just the first part of the project. Ultimately, it’s about users making use of it in the long run. By automatically creating a SharePoint Folder Id field on every object the functionality is enabled on, sFiles also ensures that usage of the tool can easily be tracked within Salesforce Reports and Dashboards. 

To get the most out of the reports and also enhance them with a chart to see the number of records more easily, for example, a simple formula field can be created for each object to help you break down where the integration is used. This comes in handy, especially if the expectation is for all records to have associated folders, and you didn’t opt to automatically generate them.

Roadmap

  • Reorganize documentation site for increased searchability and clarity.
  • Control SharePoint permissions within Salesforce Flows and Apex.
  • Fully revamp Admin setup UI and process.
  • Configure allowed file types for upload.
  • Filter by column values in the component list view.
  • Support folder upload.
  • Capture the folder ID where a file is uploaded via our platform events.
  • Auto-set SharePoint columns from the Flow/LWC uploaders.
  • Fire our upload platform event from Flow/LWC uploaders.
  • Streamline support for external user authentication.
  • Download multiple files into a .zip file.

Use Cases

Surely by now, quite a few use cases may have come to mind. Both Salesforce and SharePoint can and actually are used by entire departments for a wide variety of processes. 

sFiles removes the silo between the two, making collaboration a breeze even for colleagues who may rely on having SharePoint files at hand and not necessarily access to Salesforce. By giving users the ability to upload files and organize them while they work in Salesforce, they will most likely reach SharePoint faster, and also be in the correct folder. 

This functionality, however, does not have to only be for internal users! If your organization is using Experience Cloud, sFiles can be the answer to file management beyond your internal teams and facilitate the customer process in no time. With two dedicated components that you can drag and drop on the site page, users can be allowed to upload or download files as needed.

If your organisation is in the insurance industry, uploading a claim with multiple documents becomes easier than ever before, regardless of the file size! Alternatively, if you want to expose instructions or terms and conditions for external users to review, that is possible too.

With security being top of mind, sFiles can also help your organization determine selective access. Even if on the record itself there may be dozens of related documents and folders, external users will see only what they need to see. 

The magic doesn’t have to stop here! UpSource, the company behind sFiles, developed a separate tool that can be used alongside sFiles to streamline even the actual file creation, removing the need to upload local files or worry about manually inputting Salesforce data within them. 

MergeUp is Lightning-ready and can help your team generate files with up-to-date Salesforce information, and automatically upload them to SharePoint without manual input. Even better, by uploading an already existing document, the advanced AI features will simply generate a fully mapped template for you, including the merge syntax and related records, which you can preview and tweak before using.  

Setup

Similar to other Salesforce specific tools, the sFiles journey starts with installing the managed package from AppExchange. From an access perspective, the package comes with out-of-the-box permission sets which can be assigned as needed: 

  • sFiles Admin Permissions: Access to sFiles Custom Metadata Types, sFiles Apex classes, sFiles Named Credentials, sFiles Objects, SharePoint Folder Id fields.
  • sFiles User Permissions: Access to select sFiles Apex classes necessary to use sFiles, SharePoint Folder Id fields.

The setup process itself shouldn’t take more than 30 minutes, granted that you are either both a Salesforce Admin and a Microsoft Azure Admin, or you have all the needed information at hand.

After the new Azure application is created, it’s all about inputting the client and tenant Id, then proceeding with the rest of the setup as instructed in the wizard, including the Named Credential setup and user permissions. A step-by-step guide for the initial setup can be found here.

It is worth noting that the SharePoint site should already exist before starting the setup within the wizard, as one of the last steps is to select it and determine the directory where the folders will be stored. As long as the permissions were granted correctly for the application, this should be a breeze! 

Support

While chances are that support will not be needed considering the extensive documentation, should you need to reach out to the sFiles team about your use case or any issue, you can do so directly from the Admin panel. You will be prompted to either access the documentation for a self-service approach or choose the option to submit a case and share more details. 

Pricing

sFiles currently offers two plans, Standard and Enterprise, each with their specific features. While the core features, such as the setup wizard and using the tool on an unlimited number of objects are common, the Enterprise plan takes it further with more complex functionality such as multi-site support and Experience Cloud support. 

The price is also based on the total number of users, rather than a per-user/per-month approach, allowing you to continue leveraging the functionality immediately as your team grows. You can check out the details on the sFiles pricing page.  

Summary

By allowing your teams to use a standardized folder structure, a multitude of actions, and all file types directly in Salesforce, the seamless SharePoint integration that sFiles provides can fully transform everyone’s experience in terms of file management. From the customization capabilities that Salesforce Admins and developers can make use of to meet even the most complex requirements, to automatic nested folder creation and multi-file drag-and-drop upload to optimize users’ workflow, there’s no denying that sFiles makes a significant difference from day one. 

If the time has come to no longer worry about Salesforce Files and associated costs, then don’t hesitate. Take sFiles for a spin in your own sandbox and explore all the capabilities and potential use cases! 

The Author

Andreea Doroftei

Andreea is a Salesforce Technical Instructor at Salesforce Ben. She is an 18x certified Salesforce Professional with a passion for User Experience and Automation. 

Leave a Reply