Box For Salesforce - User Guide

Box for Salesforce is the easiest and quickest way to integrate your enterprise content in Box and your data in Salesforce. This integration allows you to share, access, and manage all the content you have stored in Box from within Salesforce.

  • Access Box directly from within the Salesforce interface.
  • Leverage Box’s collaborative capabilities and integrations with other best-of-breed apps.
  • Store relevant files (by associating record-specific folders in Box with Salesforce records) in Box that can be shared internally and externally.

The Box for Salesforce integration is available at no extra charge for Box Enterprise accounts (Salesforce accounts are also required).  To get the integration, contact your Box Customer Success Manager or visit http://www.box.com/services/salesforce.

 

 

Installation and Initial Setup

The following video will walk you through initial setup of the Box for Salesforce integration. Written instructions can be found below.

 

Installation Prerequisites

Two Box accounts are required to install the Box for Salesforce integration: 

  • Box Service Account:
    • a Box account with Admin or co-admin privileges at a minimum
    • to be used exclusively for integration purposes and does not belong to an individual end user, 
    • owns the Salesforce content on Box and makes API calls from Salesforce to Box for the entire enterprise
    • If you don’t already have a Box Service Account, create one (i.e., add boxforsalesforce@example.com as a managed user).
  • Box User Account: to link a user’s Salesforce account to their Box account.

Note: The Service Account and User Account must be two different accounts (although both can be managed users in your enterprise). The integration will not allow you to login with the same account in both places.

 

Two types of Salesforce accounts will access the Box for Salesforce integration:

  • Salesforce Admin Account:
    • to install packages in Salesforce in order to link the installed package to the Box Service Account
    • can also be a regular user of Box for Salesforce integrations.
  • Salesforce User Account: to link a Box User Account and access Box content.

 

Installing Box for Salesforce

  1. Log into Salesforce as a Salesforce Admin.
  2. Navigate to the package installation link.
  3. At separate points during the installation, you will be asked to:
    • Accept and Approve Third-Party Access for remote settings.
    • Grant access to all users.
    • Click Next or Continue in other screens to complete the installation.
  4. When you complete the installation, the screen will return to the Salesforce Box Connector App (Managed) page.

    box for salesforce setup.jpg

  5. Click the + tab to view the All Tabs page.
  6. Click Box Settings to view the Connect Salesforce to Box page.
  7. Click the Box API Admin Login button to view the Box API login page.
  8. Enter the Box Service Account credentials (see the Installation Prerequisites section above).

    box admin settings setup.jpg

  9. Specify the name for your Root Folder, e.g. Salesforce-<Org Identifier>.
  10. Specify folder settings for Lead conversions (optional)
  11. Specify your company's subdomain, e.g. if you log into Box at cloud.app.box.com, your subdomain is "cloud".
  12. At this point, you can enable (suggested) or disable Seamless Login and Auto-Collab on the same page, and click Save Settings. See the Enabling Auto-Collab for a User section below for more information.
  13. Add the Box functionality to Salesforce objects (e.g. Opportunities, Accounts, etc.) by following the steps under Embedding Box in a Salesforce Page.

The managed package setup is now complete and Salesforce users can login and link their Box and Salesforce accounts. See the Linking Box and Salesforce Accounts section for more information.

 

Granting Access after Initial Installation

If you did not grant access to the package components to all users during the installation, or have new profiles which require access to the Box for Salesforce integration, you can use permission sets to grant access to individual users or profiles. A permission set is a collection of settings and permissions that give users access to various tools and functions. You can also refer to the standard Salesforce documentation on assigning Permission Sets for more information.

 

When to use Box for Salesforce Permission Sets

Use permission sets under the following conditions:

  • When the Admin does not want to grant access to All Users when installing the package and would like to grant package component access to specified profiles or users.
  • When a new profile is created post installation and the Admin would like to grant access to the package components to that group of users.
  • When you have a custom system admin profile and do not see the administrative settings in the Box Settings tab.

Types of Box for Salesforce Permission Sets

  • Box Admin: Grant this permission to users that will administer the integration (installation does not grant Admin access to customized System Administrator profiles)
  • Box Standard: Grant this permission to users that will be using the integration

Process to Grant Admission Sets:

When initially installing Box for Salesforce, you are given the option to grant package access to All Users. If you do not do so, you might have to grant the Admin and Standard permissions sets in order to administer and use the integration.

  1. Go to the Salesforce Setup menu.



  2. Search for Permission Sets.



  3. Navigate to Permission Sets and click Box Admin or Box Standard.



  4. Click Manage Assignments.



  5. Click Add Assignments.



  6. Select the appropriate user name and click the Assign button.



  7. Grant the permission set for each user and save your settings.

Note: Generally you can only assign permission sets to one person at a time. if you need to bulk add users and grant permission sets for these users, you can also use the Permissioner app (free) that allows you to bulk assign permission sets.

 

Linking Box and Salesforce Accounts

When a user visits any Account Record for the first time, they will see the Login to Grant Access to Box screen. Enter Box User Account login information here. These credentials are different from the Box Service User account created earlier.

Caution: Sometimes multiple users within an enterprise use the same Salesforce account. This setup will not work with the Box for Salesforce integration.

 

Using Box for Salesforce

The Box for Salesforce integration consists of three parts:

  • Box Files Tab: A tab in Salesforce that gives users access to their All Files and Folders page.
  • Record-Specific Box Widgets: Embedded Box folder widgets on standard or custom records in Salesforce.
  • Mobile App: Access record specific folders from within the Salesforce1 mobile app.

Note: Only users with both a Box account and a Salesforce account can access these integration parts. When you log into Box for Salesforce for the first time, your Box account and your Salesforce account are linked.

 

Embedding Box in Standard Object Records

Use the following procedure for all Salesforce standard objects (e.g. Account, Lead, Contact, Opportunity, etc.) requiring a Box Embed addition as part of the page layout.

  1. Access the Salesforce Menu and click Setup (top right corner).
  2. From the left menu, navigate to Build > Customize to find the appropriate object (e.g., Lead, Opportunities, Accounts, or any Custom_Object).
  3. Expand the object's menu and select Page Layouts.
  4. Edit the Page Layout where Box Embed must be added.
  5. From the [Object] Layout > Field menu, drag a new Section into the Page Layout in the desired position. 
  6. Change the Section parameters:
    1. Assign a name for the section (for example, Box Files).
    2. Make the section 1-Column
    3. Click OK
  7. Add the newly-created Visual Force Page to the Page Layout:
    1. From the Lead Layout menu, click Visualforce Pages.
    2. Drag [object_name]BoxSection into your newly created Section.
    3. Click the wrench on the [object_name]BoxSection Visualforce page.
    4. Set the height to 600 pixels (minimum) for best viewing.
    5. Save the page layout.

 

Embedding Box Custom Object Records

  1. Log into Salesforce as a Salesforce Admin
  2. For an existing custom object (for example, Custom_Object), create a new custom field in Custom_Object.  See Salesforce help for more details. (Note: as of Box for Salesforce version 3.40, creating the FolderID field as detailed below is no longer required. If you are on an older version of Box for Salesforce, please update or contact us.)
    1. Select Text.
    2. In the Field Label box, type FolderID. In the Length box, type 18 as the maximum length for the text box.
    3. Select the required access level for this object and click Next.
    4. Click Save.
  3. Create a new Visual Force page for Custom_Object, for example, Custom_Object_Box_Section (see Salesforce instructions for creating Visual Force pages).
  4. Copy the following Visual Force page code and paste it in this new page.
    <apex:page standardController="Custom_Object__c" extensions="box.DisplayWidget" showheader="false" sidebar="false" action="{!GetLoginToken}">

    <apex:stylesheet value="{!URLFOR($Resource.box__BoxEmbed, 'BoxEmbed/style.css')}"/> 

    <apex:iframe src="/apex/box__BOXSection?id={!Custom_Object__c.Id}&param=Custom_Object_Box_Section" rendered="{!DisplayBoxSection}"/>

    <apex:iframe src="{!folderShareLink}" rendered="{!DisplayBoxWidget}" width="100%" height="100%" frameborder="0" scrolling="NO"/></apex:page>

Note: Parameters marked in bold are variables. Change these parameters to match your enterprise setup. For example:

  • Custom_Object__c: Change this variable to the API name of your custom object.
  • Custom_Object__c.Id: Change this variable to the API name of your custom object ID field.
  • Custom_Object_Box_Section: Change this variable to the API name of your Visual Force page.
  1. Add this newly created section to the Custom Object Page Layout. See the Embedding Box in Standard Object Records section for more details.

Sample Code Snippet

This code snippet example is for a custom object with the API name "sales_request__c" with a Visualforce page named and labelled "BoxLegalRequestFiles".

<apex:page standardController="sales_request__c" extensions="box.DisplayWidget" showheader="false" sidebar="false" action="{!GetLoginToken}">
<apex:stylesheet value="{!URLFOR($Resource.box__BoxEmbed, 'BoxEmbed/style.css')}"/>
<apex:iframe src="/apex/box__BOXSection?id={!sales_request__c.Id}&param=BoxLegalRequestFiles" rendered="{!DisplayBoxSection}"/>
<apex:iframe src="{!folderShareLink}" rendered="{!DisplayBoxWidget}" width="100%" height="100%" frameborder="0" scrolling="NO"/>
</apex:page>


 

Creating Record-Specific Folders 

After following the steps above to embed Box within standard and custom objects, your team will be able to create record-specific folders on Box:
 
Creating record-specific folders 
 
If a Box folder already exists for this record, you will be added to this folder as a collaborator and its contents will be displayed. Any record-specific folders you join will also be accessible directly from your Box account.

 

Embedding Box in Custom Tabs

You can also embed specific Box folders into Salesforce as custom web tabs. 

To add a custom Box Embed tab:

  1. Locate the folder in your Box account that you would like to embed in Salesforce, and follow these instructions to generate an embed code. You will need to copy and paste this url later on, so be sure to keep this window or tab open in your browser. 
  2. Create a web tab in Salesforce by going to Setup > App Setup > Create > Tabs. Choose New in the section labeled Web Tabs, then click Next, choosing a ‘Full page width’ web tab. For ‘Tab Type’, select URL. You’ll want to create a name for the tab that will relate well to the content being embedded. Once you’ve named your tab and chosen a ‘Tab Style’, click Next.

Box salesforce userguide1

  1. Copy the embed code you generated in step one, and paste it under the Button or Link URL field. Modify the link so that it is in the following structure (remove the iframe portions): https://app.box.com/embed_widget/s/SHARED_LINK_VALUE?CUSTOMIZATION_PARAMETERS width="WIDTH" height="HEIGHT" frameborder="0"
  2. You can choose to include customization parameters for your Box embed tab - for example, you can hide the breadcrumb to ‘All Files’ for simplicity, or remove comments and tasks. Additionally, you can promote OpenBox actions like ‘Post to Chatter.’ For a full list of customization parameters and step-by-step instructions, see: developers.box.com/box-embed.
  3. On the New Web Tab setup page, choose which user profiles and custom apps you'd like to add the tab to, and finish by clicking Save.

 

Enabling Salesforce1 (Mobile)

To enable Box integrations for the Salesforce1 mobile application, follow this procedure:

  1. Access the Salesforce Menu and click Setup (top right corner).
  2. From the App Setup > Customize menu choose the object (for example, Lead, Opportunities, Accounts) to add the Box Embed interface. Note: Custom objects are currently not supported.
  3. Click Edit to select the Object > Page Layouts where Salesforce1 must be added.
  4. Drag the MobileBoxSection into your Mobile Cards (Salesforce1 only) section.
  5. Set the height to 56 Pixels (minimum) for best viewing.
  6. Save the page layout.

 

 

Settings and Configuration

To navigate to the Box Settings tab:

  1. Log into Salesforce as a Salesforce Admin.
  2. Go to Box Settings tab (If it is not visible, click the + tab and search in the All Tabs page). 

 

Admin Settings

Navigate to the Box Settings tab on Salesforce to make any of the following changes. Once done, save your changes.

 

Convert Lead Folder

You can initiate the Box for Salesforce integration on any record type, including Leads. The Convert Lead Folder customization allows you to specify if the record-specific folder should be moved when a Lead is converted. The default options include Account, Contact, and Opportunity, but you can also map a Lead to a custom object. 

If you select an object to convert Lead folders, the record-specific folder automatically moves and inherits the new object naming convention once converted (for example, a Lead is set to convert to a Contact).

If you select Do not move folders, the existing Lead folder remains within the Salesforce root-level folder as a private folder.

 

Sync Salesforce and Box Permissions

This setting allows you to update access to record-specific folders based on access in Salesforce. This process removes collaborators who gained access to record content through the integration but no longer have access to a given record. 

 

As the administrator, you have the option to run the process by selecting Sync Now. This removes users with folder access to the record in Salesforce (either by visiting the record or by using an invitation to collaborate).

 

To schedule a regular cleanup, select Schedule Updates and complete the fields required to set the update cadence. The Apex Class should be 'BoxBatchScheduler' which is a component of the managed package.

 

 

If you observe that there are a lot of records being retained in the 'BOSS Exception' custom object (API Name BOSS_Exception__c), you can run the BatchErrorScheduler scheduled process from the setup menu as shown below. The process doesn't need running very often as this is run as part of your scheduled BOSS process every time. This may be used as a one-time cleanup.

 

 

Example: The Sales team has a closed Salesforce instance where only the account owner can access the Account record. If the Sales territories change, you can update access to Box company-wide.

 

Note: If the cleanup job is not run or manually scheduled, user permissions that were deleted via Salesforce will continue to remain on Box.

 

Enabling Seamless Login

Seamless Login offers users seamless login into Box from within Salesforce. If Seamless Login is enabled, the integration will store the users access token and refresh the web session as needed. The feature is turned on for all users by default and each user can disable Seamless Login for their own account.

If Seamless Login is disabled, users will be prompted to log into Box to access content within the record specific widget or the Box Files tab.

  

Enabling Auto-Collab for a User

When Auto-Collab is enabled, any user who visits a Salesforce record with an associated Box folder will be automatically added as a collaborator.  If Auto-Collab is enabled, the feature is turned on for all users by default; individual users may disable Auto-Collab for their own account. 

If Auto-Collab is disabled, users are presented with the option of adding themselves to the folder by clicking Add to Folder

 

Updating User Access to Content in Box

To schedule an update access on Box using the Box Online Salesforce Synchronizer (BOSS):

  1. Navigate to Box Settings page as a Salesforce admin. 
  2. Schedule the process to run at the required interval:
    • Regular intervals: Use Schedule update.
    • On demand: Use Run update now.  

 

Changing the Box Service Account

As a best practice, create the standalone service account that is not tied to a specific user. If you need to change the Box Service Account, please follow these steps:

  • Launch the Developer Console (click on Your Name Developer Console from the top right of your window)
  • Select Debug Open Execute Anonymous Window
  • Execute the following command: box.Toolkit.deleteServiceUserAssociation(); 

 

Enabling sub-domain support

If you use a sub-domain for your Box enterprise (for example, cloud.app.box.com instead of app.box.com), you will need to enter your sub-domain on the Box Settings tab to prevent issues when using various "Send with" options on files within Box.

  • On the Box Settings tab
  • Enter your sub-domain (the part before ".app.box.com" when viewing Box in a stand-alone browser) in the "Box Enterprise sub-domain" field
  • Click "Save Settings"

If you need assistance, please contact Box User Services.

 

User Settings

Based on the administrator's changes, users can disable certain features or even disassociate a Salesforce account from their Box account.

 

Enabling Seamless Login

If the administrator has enabled Seamless Login, end users will be able to disable the feature for their account. For more details, see the Admin Setting section.  

 

Enabling Auto-Collab for a User

If the administrator enabled Auto-Collab, end users will be able to disable the feature for their

account. For more details, see the Admin Setting section.

 

Deleting User Association

Users will have to reach out their Salesforce Administrator to delete the association with salesforce. 

 

FAQs and Troubleshooting

See: Box for Salesforce: FAQs and Troubleshooting

 

Feedback

We look forward to receiving feedback about the installation process and the integration through Salesforce AppExchange.

Version history
Revision #:
28 of 28
Last update:
‎07-28-2017 12:22 PM
Updated by: