Integrating FileCloud with Salesforce

Salesforce Integration

FileCloud makes files stored in any on-premises, public or hybrid cloud available within Salesforce. To configure this function, integrate FileCloud with Salesforce.

Key benefits:

  • Upload, download, access and share remote files from within Salesforce.
  • Store files on-premises or in the public cloud (Amazon AWS, Microsoft Azure). Access files securely inside Salesforce from anywhere.
  • Share files and collaborate with team members, even if they are not Salesforce users.
  • Integrate Salesforce with existing file servers and file permissions.
  • Get advanced file analytics about who has shared and downloaded files.
  • Link FileCloud content to specific Salesforce records.

Limitations

  • To be able to integrate FileCloud with Salesforce, you must have the Salesforce component in your license. 
  • You cannot give External users access to FileCloud's integration with Salesforce.
  • Only one Salesforce account and one FileCloud account can be mapped together. Mapping occurs the first time the user logs in to FileCloud through Salesforce. If a user tries to map a second FileCloud account to a Salesforce account, or a second Salesforce account to a FileCloud account, an error message is returned.

To integrate FileCloud with Salesforce, create a Salesforce Team Folder in FileCloud. When you create Salesforce objects (Accounts, Cases, Contacts, etc.), sub-folders are created in the Salesforce Team Folder in FileCloud for each object.

You can access FileCloud in the Salesforce interface to access the an object's Team Folders to perform FileCloud operations on them.

You can configure the Salesforce Team Folders so that only the owner (creator) of the object and users you have designated as managers have access to each object's Team Folder. If you do not add this configuration, anyone with access to the parent Salesforce Team Folder has access to all objects' Team Folders.

Adding FileCloud to Salesforce

To integrate FileCloud with Salesforce:

  1. Access https://appexchange.salesforce.com/ and login with your Salesforce credentials


  2. In the Search bar, enter FileCloud Enterprise File Sharing, and click the listing to enter our FileCloud App for Salesforce.


  3. Click Get it Now. In the pop-up window, select Install in Production.


  4. Select Install for All Users and click Install. Wait for the installation to complete.




    FileCloud EFSS appears under Installed Packages.
  5. In the upper-right of the screen, click the Setup icon, and choose Setup.
  6. In the navigation panel, scroll down to Security and expand it. Click Remote Site Settings.

    The Remote Site Settings screen opens to the All Remote Sites view.
  7. Click New Remote Site.
  8. Add the FileCloud Remote Site Name and Remote Site URL, and click Save.

    The remote FileCloud site is listed in the All Remote Sites view.
  9. In the navigation panel, go to Security > Session Settings.
  10. Scroll down to the setting Lightning Web Security and check it, and click Save at the bottom of the screen.
  11. Click the App Launcher located in the top-left corner of the screen.


  12. From the App Launcher, click FileCloud EFSS.


    Installation is complete.



Configuring FileCloud with Salesforce

After you install/integrate FileCloud with Salesforce, complete the following:

  1. Edit the .htaccess file.

    1. Windows: go to C:\xampp\htdocs
      Linux: go to: /var/www/html/config
    2. Open the file .htaccess
    3. Locate Header set Content-Security-Policy and in the list following frame-ancestors, append *.visualforce.com *.lightning.force.com *.my.salesforce.com, *.vf.force.com;
       The edit is shown in the highlighted portion below:

  2. Configure Salesforce in FileCloud.
    1. In FileCloud's Admin portal, go to  Settings > Third Party Integrations  >  Salesforce.
    2. Check Enable Salesforce Integration.
    3. Click Generate Secret, then copy the key and click Save.

    4. In FileCloud Team Folders, create a Team Folder named Salesforce. Sub-folders for your Salesforce objects will automatically be created in this Team Folder. (You may give the folder another name, but make sure you change the folder name entered in Salesforce Team Folder Name to match it.)

  3. Configure which users have access to FileCloud's integration with Salesforce.
    1. In the Salesforce App Manager, click the drop-down list across from FileCloud EFSS, and click Manage.
    2. Click Edit Policies.
    3. Under OAuth policies, in the Permitted Users drop-down list choose Admin approved users are pre-authorized.
    4. Click Save.

  4. Proceed with the configuration of FileCloud within Salesforce.
    1. Access Salesforce and click on the Configure FileCloud tab.
    2. On the Configure FileCloud tab click edit.
    3. Add your FileCloud URL under Domain and paste the Secret Key generated in Step 2 into Client Secret.
    4. Click Save.


  5. Click the FileCloud tab (to the left of Configure FileCloud tab).
    FileCloud should load and allow you to log in.

Restricting Permissions on Salesforce Team Folders

Now that you have integrated FileCloud and Salesforce, when you create an object in Salesforce, a sub-folder in the Salesforce Team Folder in FileCloud is created for the object.  

Since you may want more restrictive permissions on each object's folder when it is created, you can configure FileCloud to only enable the owner (creator) of the object and a group of users that you designate as managers to have access to the object folder.

To configure more restrictive default permissions on Team Folders for Salesforce objects: 

  1. If you have not already shared the Salesforce Team Folder with all FileCloud users or groups who may want to access an object sub-folder, give them access to the Salesforce Team Folder in FileCloud now.
  2. Open the configuration file:
    Windows: XAMPP DIRECTORY/htdocs/config/cloudconfig.php
    Linux: /var/www/config/cloudconfig.php
  3. Add the following lines, listing the emails of users who you want to be able to access all Salesforce object folders in the second setting:

    define('TONIDOCLOUD_SALESFORCE_RESTRICT_ACCESS_ENABLED', '1');
    define('TONIDOCLOUD_SALESFORCE_MANAGER_USERS_EMAILS', ['email1@filecloud.com', 'email2@filecloud.com']);
  4. Save your changes.
    Note: To turn off these restrictions, set TONIDOCLOUD_SALESFORCE_RESTRICT_ACCESS_ENABLED to 0.