Table of Contents
- Summary
- Installation Guide (First Time)
- Upgrade Guide (Existing)
- Basic Setup Steps
- Simultaneous Connections
- Optional Features
- Troubleshooting
- FAQ
Summary
Streamline security profile sharing with the Whistic Salesforce Integration. Let your sales teams do the sharing themselves!
Pre-Installation Checks and Steps
- Verify that your Salesforce edition is Lightning Enterprise or higher. We do not support the Classic edition.
- Verify with your CSM that the Salesforce feature is enabled for your account. If you would like to send tests to yourself, they will also need to turn on the “share with own company” option.
- Enable your profile(s) in Whistic by going to each Profile and performing the following steps:
- Navigate to Whistic Profile in the menu on the left
- Click the Settings tab on the profile you would like to enable for Salesforce
- Scroll down to Integrations
- Click the slider for Salesforce to Enable the feature
- (optional) Enter a description for the profile that will be visible in Salesforce.
- Obtain a Whistic API Key from your Whistic Admin. They can generate this key by performing the following steps:
- Select Admin Tools in the menu on the left
- Select Company Settings>Integrations
- Select Generate New Key
- Enter a label for the key (ex. Salesforce)
- Click Done
- Copy the key to the clipboard and share it with your Salesforce Administrator
With the latest version of the integration, you can connect multiple Whistic accounts (API Keys) to a single Salesforce account, and multiple Salesforce accounts (sandbox, production, etc) to a single Whistic account.
Installation Guide (First Time)
- For first time customers looking to install Salesforce in a particular environment (first time in Sandbox or PROD) please use the Installation Guide
- Installation Guide - To access the PDF Guide, see bottom of article to obtain the attachment!
Upgrade Guide (Existing)
- For customers who are looking to upgrade from a previous version, please use the Upgrade Guide
- Upgrade Guide - To access the PDF Guide, see bottom of article to obtain the attachment!
Basic Setup Steps
Upon confirmation that your account is ready to begin the setup for Salesforce, you will receive a full installation PDF guide provided by your Whistic contact. It’s recommended to test the package in a Sandbox prior to implementing in your Production environment.
If the package is already installed in a Sandbox environment, and you are now installing for Production, please delete the API token in Whistic (not the key) in Company Settings>Integrations>Salesforce before re-installing in Production.
Overview of the steps below:
-
Installation
- Use the Installation Guide PDF to follow the link to install Production or Sandbox environments
- Choose install for Admins Only or for All Users
- Check the acknowledgment box
- Select Install
- On the Approve Third-Party Access box, select Yes and Continue
- Wait for the installation to complete (This may take a few minutes - Salesforce.com will send an email once the installation is complete)
-
Connected App Settings
- Go to “Manage Connected Apps” (Setup>Apps>Connected Apps> Manage Connected Apps)
- Select “Whistic Profile App Connection”
- Select “Edit Policies”
- Within the “Permitted Users Dropdown”, select “Admin approved users are pre-authorized”
- Select Save on this menu to close this policies page
- Select “Manage Profiles”
- Check the “System Administrator” option
- Select Save on this menu
-
Permission Sets
- Locate “Permission Sets” under “Users”
- Add permission sets for the appropriate users
- For Full admin and testing access, use both permission sets
- Add the “Whistic Admin” permission set to the Salesforce Admin setting up the managed package
- Add the “Whistic User” permission set to the users who will be using the integration
- Add the "Whistic NDA Bypass" permission set to the users who will be authorized to bypass an NDA where a signed agreement is already in place
NOTE: Permissions cannot be assigned in "groups" in Salesforce. This does not function currently and will result in an access error. This feature will be addressed in a future release.
-
Connecting Whistic with Salesforce (Only Salesforce Admins can complete this step)
- Within “App Launcher” select the “Whistic” app
- Go to the “Home” tab within the “Whistic” app
- Click the Edit button next to the Default instance in the Getting Connected component
- Paste in your API key (provided by a Whistic admin at your company) and click “Save & check Connection”
- A green “Success!” message will appear when the connection is established
-
Component Configuration
- Navigate to the page you’d like to add the component
- The Whistic profile Shares component can be added to the Account, Opportunity, Contact, and Lead record pages
- Select “Edit Page” under the settings (gear) icon
- Select the “Whistic Profile Shares” component from the “Custom” section of the components list and drag to the desired position on the page
- Confirm that you can edit any part of the page first as your company may be using managed package page layouts which cannot be edited
- Additional Optional configurations can be set, please reference the Installation Guide PDF for more details
- Navigate to the page you’d like to add the component
Lead Indicators of a Successful Connection:
- Profiles are visible and able to be shared
- Green Success message in Step 4 of the installation instructions above
- API token for Salesforce visible in Company Settings>Integrations>Salesforce
Congratulations! Your Whistic profile is now connected to your Salesforce instance. Feel free to test a profile share to ensure everything is working properly! If you’re still having trouble, feel free to reach out to your Whistic contact or support@whistic.com for assistance.
Simultaneous Connections Setup (For package versions 1.32+)
Users can now connect up to 10 separate Salesforce accounts to a single Whistic Account
Benefits
- For companies with multiple Salesforce instances, now all sales reps across instances can share profiles from one single Whistic Account
- Enable easier testing as a Sandbox and Production account can be connected at the same time and testing can take place in the sandbox without disrupting production
How It Works
- Connect your Salesforce Account to Whistic as you normally would
- Navigate to Whistic > Company Settings> Salesforce
- Locate the Salesforce Account you just connected in the list
- Click to Edit the Account Name
- Rename the account to something recognizable
- Toggle connect on or off for an account to enable/disable connection to Whistic
Best Practice
- Make sure to name the connection in Whistic after connecting so that you can tell them apart from each other easily.
Optional Features
Sales Matrix
Control what profiles users can share via SF Profile group assignments HERE.
Editing Component Columns
Salesforce Admins can remove and reorder columns in the component. Details are provided in the Salesforce Installation Guide PDF.
Reporting
Currently, there are not many pre-built reporting capabilities in our integration. However, the information and options below may help your Salesforce Admin create custom reports.
- Pre-Built
- The pre-built reporting options we provide through the Salesforce package is currently limited to the component itself.
- Records
- Profile Share History records are Salesforce records.
- Opportunities
- We do not populate the Opportunity field on share records, but hope to in the future.
- Custom
- One option for building out your functionality is described below: Have a field on the account called profile share date when a "Profile Share Contact" record is created, and trigger a simple process builder to populate that field on the account with today's date. Then have a formula field on the opportunity that displays the most recent profile share date back to the opportunity. You can set up additional logic and an additional process to dictate when to update that date on the opportunity but this way you can start to report on accounts with opportunities that have received a profile share. Also, you can then create rules for salespeople that require them to share the profile at x stage in the sales cycle.
- One option for building out your functionality is described below: Have a field on the account called profile share date when a "Profile Share Contact" record is created, and trigger a simple process builder to populate that field on the account with today's date. Then have a formula field on the opportunity that displays the most recent profile share date back to the opportunity. You can set up additional logic and an additional process to dictate when to update that date on the opportunity but this way you can start to report on accounts with opportunities that have received a profile share. Also, you can then create rules for salespeople that require them to share the profile at x stage in the sales cycle.
Automatic Profile Approval (For package versions 1.33+)
Some recipients require approval before they can view profiles that have the general approval requirement. This can cause an unnecessary delay in some cases. This feature allows for flexibility in eliminating that delay when appropriate by providing the ability for all shares to be auto-approved if they meet the Salesforce customer-customizable criteria. This includes shares not originating from Salesforce.
Currently, the recipient(s) do need to: 1) be Salesforce contacts, 2) OR be associated with a website in your Salesforce accounts. This is a fixed, minimum requirement. In both cases, the email domain must match the associated account website exactly (applies to all package versions). This helps safeguard content from those who may not be qualified or authorized to access it.
Any additional filters further limit what contacts auto-approval applies to.
Sample SOQL Filters:
- Include By Account Name
- Include contacts from Account 1, Account 2 or Account 3
- account.name in ('Account 1', 'Account 2', 'Account3')
- Variation (OR case)
- (account.name = 'Account 1' OR account.name = 'Account 2' OR account.name = 'Account 3')
- Include contacts from Account 1, Account 2 or Account 3
- Exclude By Account Name
- Include ALL contacts unless they are from Account 1, Account 2, or Account 3
- account.name not in ('Account 1', 'Account 2', 'Account3')
- Include ALL contacts unless they are from Account 1, Account 2, or Account 3
- Mixed Criteria
- Include contacts from Account 1 or Account 2 but only if their title is Manager
- (account.name = 'Account 1' OR account.name = 'Account 2') AND Title = 'Manager’
- Include contacts from Account 1 or Account 2 but only if their title is Manager
NDA Bypass (For package versions 1.32+)
Certain profiles require a Whistic NDA to be signed before viewing. In cases where another NDA already exists, certain Salesforce users can now bypass this requirement permanently (per account) when they share the profile for the first time!
Users must first be given permission as shown below by a Salesforce Whistic Admin.
- The NDA override cannot be removed from Salesforce once in place. This will need to be done manually as Whistic does not currently have a way to remove an NDA override
- The NDA Bypass Reason field cannot be made required.
- Alternatively, the bypass permission set can be applied to individuals, and in bulk, by your Salesforce Admin if desired.
Profile Content Preview
We have a feature for any Salesforce users that would like to know more of the profile content than just name and description. This view is very different from the Whistic profile view, but may meet your requirements. The steps are described below.
CAUTION: We recommend you be selective with the users that receive this access so your integration is not broken or otherwise negatively affected.
- Your Salesforce Admin will need to give the Whistic Admin permission set to a user or user group. For example, you could give this to certain trusted sales leaders so they can field any questions their team has. Details were provided to your Salesforce Admin in the original setup guide on the Permission Set slide.
- These users can then go to Salesforce > Apps > Whistic > Home > Security Profiles > (Click a name) > Get a content overview in the details page. This includes: assessment names and versions, audits and certifications, document file names (no view or download), creator name and date, last modifier name and date, etc.
Home Tab:
Profile Content Details:
Edit Profile Share Page
In rare cases you may need to edit the Profile Share page. Below is how you can do that. You will likely need to have Salesforce Admin rights to execute the steps below (add fields and values).
- Log into Salesforce.com > Whistic App > Account > click any.
- Find the Whistic Profile Share component (box) on the page.
- Click the down arrow on the left of each share record and then View for details.
- Now that you are on the Profile Share page, click the Setup gear icon in the top right of your window.
- Edit object > Page Layouts > click page layout name > view in Salesforce Classic if required.
- Locate the 2 boxes you will need on this page: Profile Share Layout, Profile Share Details.
- You can drag and drop fields from the layout box to the details box and then click Save in the layout box. For example, you can grab the NDA Status field and drop it right above the Viewed Date field.
- After saving, refresh the Profile Share page to confirm that your change was successful.
Edit your Profile Description in Salesforce
To edit the profile description listed in Salesforce under Profile Selector, you will need to use the following steps:
- Log into Whistic and locate the profile you have chosen to share in Salesforce
- Open the Settings tab for the profile.
- When scrolling down, you will come across a field for "Profile Description" after the option to "Enable Salesforce"
- Enter in the text you wish to be displayed and this will automatically sync with Salesforce
- After saving, refresh your Salesforce to confirm that your settings have been updated.
CC Sender (For package versions 1.32+)
Sales reps can now CC themselves as they share profiles. This will add them as a CC in the same email that goes to the customer with the profile link when a profile is shared from Salesforce
Benefits
- Enables reps to follow up about the Whistic profile in the same email thread.
- Helps reps confirm that the share email was sent and what the contents are.
- Enables reps to see information about the profile sent and navigate to Whistic to view the profile, registration is still required.
Troubleshooting
Please review the items below for troubleshooting common issues:
Reset Connection
Before starting, please review all steps to ensure you have proper access to complete the process. This can resolve a number of connection-based errors.
- Log into Whistic.com > Admin Tools > Company Settings > Salesforce
- Delete the entire row for the connection you'd like to reset.
- Click on Company Settings > Integration
- Delete the API key below in the other box.
- Create a new key and plug that into the Whistic App in Salesforce.com (A Salesforce Admin must enter the key in Salesforce).
- Once that new key has been applied in Salesforce, refresh the Whistic.com Salesforce page and make sure a new connection is shown. If there is a connection shown, the connection reset is complete.
- If additional troubleshooting is required, your Salesforce Admin could confirm if the new api key was successfully saved to Salesforce here: Salesforce.com (Log In) > Setup > Quick Find > Custom Settings > Whistic Settings v2 > Select Company > API Key.
Profile Sharing
- Validation
- Sometimes certain input restrictions may not be clear through app error messages. We hope to improve this soon.
- For example, Profile recipient titles must be less than 50 characters long currently.
- The "response status code is 400" may mean an unsupported title (or other) character.
- 403 or Unexpected Character
- These logs likely indicate a bad connection that needs to be completely reset see steps in the PDF guide for more information).
- Updating to the latest version of Salesforce will help with any errors due to sharing a profile to a user with special characters in their name (such as a dash).
- Server Error
- The log below generally means a connection reset is required or recommended (see section above). This rarely happens.
- Internal Server Error, Error Message: Unexpected character ('A' (code 65)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at [line:1, column:13]
- Mismatch
- If you are seeing outdated data in Salesforce compared to Whistic, it's possible the connection is or was bad.
- Generally we recommend resetting the connection (instructions above). Then we can review and find the root cause.
- Testing
- Generally, we recommend not sharing profiles with your own company. Instead, create a test account that is not associated with your own company.
Install / Upgrade
If you experience any issues during setup or upgrades, generally, a step was missed in the instructions provided.
If you get the error below when upgrading your Whistic package, you may need to delete a previously created custom tab so that the package can install the one that is already included in the package (example in Custom Tabs screenshot below).
Error Example:
“Unmanaged custom object tab already exists, package upgrade cannot create another tab.”
Custom Tabs:
Versions & Upgrading
(For newer package versions 1.32+) We will now display the current package version that the customer has active directly in the our app! Also, when an upgrade is available, we will provide an upgrade link. However, before upgrading we recommend it be tested first in your Sandbox environment to ensure your unique configuration work properly.
**NOTE:
All new instances of Salesforce as of Winter 2023 release have the "Lightning Web Security" feature enabled by default. If you are running into an error similar to the one below in the screenshot, please double check to ensure that this feature is enabled.
If you are receiving the below Apex class error for the 'SecurityProfileShareController' after upgrading, please reach out to support@whistic.com for assistance.
FAQ
-
Why is the profile viewed date wrong?
- Viewed Date is reported on a group share level (not individual). So if you share to multiple recipients and one views the profile, all will have the same viewed date.
-
Will marking the Profile Access field as Admin Only make it not sharable?
- No, not currently. Please turn off the Enable Salesforce toggle instead.
-
Why does NDA say pending when it's N/A or already signed?
- For any shares to companies who have already accepted the NDA, there is a bug where it will say "Pending" instead of "Accepted" until the profile is viewed. At which point it autocorrects.
- Currently there is no NDA status "Not Applicable" for profile shares that do not require an NDA. So these will show "Pending" or "Accepted" once the profile is viewed depending on the recipient account Whistic share history. The recipient will be able to view the profile without an NDA as expected.
-
Is Profile Share History synced across all page and record types?
- Mostly.
-
Why don't I see all profile shares in Salesforce?
- Only shares initiated from Salesforce.com will be synced with Whistic.com
-
Why isn't the contact title updating?
- Whistic user information (such as title) are not updated if it changes within Salesforce at a later time. That information is sent over with the first share only and saved.
-
Why do I see users in Whistic with an "invalid" email address?
- It is likely something your Salesforce Admin(s) are doing from their sandbox environment. These emails are not created by Whistic and considered different accounts from non-invalid versions.
-
Are profiles currently listed randomly in the main share list?
- Yes, however, you can make your profile list more manageable by removing unneeded profiles, and/or using our share matrix feature HERE.
-
Is Salesforce Classic supported?
- No. Classic is not officially supported even with running the Lightning platform in the background without the UI/display.
-
Can we have the SFDC Whistic widget on more than one template in SFDC?
- Yes, you can have the component / widget on any combination of the 4 valid page types / templates at any time on most apps.
- See the end pages in the installation instructions PDF for how to do that.
-
Can I migrate the integration to a new Salesforce account?
- Yes! This should preserve your historical profile share data. However, it may be a little tricky so we recommend setting up a meeting with us to ensure the process is understood. Contact Support@Whistic.com to schedule a meeting.
- Install the Whistic package into your org.
- Disable Whistic’s Remote Site Setting:
Setup > Remote Site Settings > Deactivate Remote Site api.whistic.com (note COM)
This allows shares to be blocked as you proceed.
These failed shares will be logged in the integration only. - Migrate your data via the Data Import Wizard:
(Optional) Import a small batch to test.
Import the Whistic Profile Share Contact Object Records
Be sure that the external IDs are included.
The record import triggers the profile shares (which cannot be disabled in a managed package directly). - Confirm previous step is 100% done.
Confirm no shares succeeded. - Revert your change in step 2. Done!
- Yes! This should preserve your historical profile share data. However, it may be a little tricky so we recommend setting up a meeting with us to ensure the process is understood. Contact Support@Whistic.com to schedule a meeting.
-
What package version do I have?
- You (or more likely your Salesforce Admin) can find what version number of our integration that you have below. Currently the highest number is 1.34.1.
- You (or more likely your Salesforce Admin) can find what version number of our integration that you have below. Currently the highest number is 1.34.1.
-
Why can't I see all my contacts?
- (For package versions 1.32+) There likely are multiple pages of contacts and you just need to use the pagination controls at the bottom to cycle through the different pages.
-
Why aren't my profile names updating in Salesforce?
- Currently these have be synced manually. Please have your Salesforce Admin reconnect the app as shown below.
- Salesforce.com > Whistic app > Getting connected > Edit > Check connection (even if blank).
-
Why is my connection failing?
- If you trying to connect your API in Salesforce and failing there can be a couple reasons.
- The initial installation configuration was not done fully or changed later.
- Your org may require a full Salesforce Admin to apply the API key.
- You may want to reset the connection if the issue persists. Instructions found in this guide.
- Generally there will be an associate Salesforce audit log / error detail as well: Error Code 401 Unauthorized.
- If you trying to connect your API in Salesforce and failing there can be a couple reasons.
-
Why can I see the sharing box but no share button?
- This will happen if you have version 1.33+ and your user account does not have any permission sets (role).
-
Why does my version not show the entire number?
- Rarely, we'll need to release longer version numbers such as 1.33.1 instead of 1.33. Currently, we do not show that third digit. However, your Salesforce Admin can always see the full version number on the Installed Packages page.
-
How do I limit access to my production or test profiles?
- The Share Matrix feature is the best way to control which profiles are seen by which users. We currently do not have a way to limit control which profiles go to sandbox, etc.
-
Why am I getting an update failed error when sharing a profile?
- When your Salesforce Admin is upgrading your package to 1.32+ some accounts may require additional configurations to Share Settings that give profile senders edit access to accounts or object which they do not own. Error shown below:
Error Message: Update failed. First exception on row 0 with id 0016900002l9e5MAAQ; first error: INSUFFICIENT_ACCESS_OR_READONLY, insufficient access rights on object id: []
- When your Salesforce Admin is upgrading your package to 1.32+ some accounts may require additional configurations to Share Settings that give profile senders edit access to accounts or object which they do not own. Error shown below:
-
Why doesn't my admin have all access?
- If your Salesforce Admin is trying to access the API Key Getting Connected configuration, they will need to make sure their profile is the standard "System Administrator" (rather than a custom admin profile). Only these admins can manage the connection in Salesforce.
- If your Salesforce Whistic Admin would like all other permissions, they will need all the permission sets to be assigned to them.
-
Why is my Share Profile button not showing?
- Please confirm that the permission set "Whistic User" is applied to view this button.
-
Why do I see '-public' or '-private' at the end of my profile name?
- This is because that profile has public profile sharing turned on. When sharing the '-public' profile, the recipient will receive a snapshot/overview of the profile but will be required to log into see the details of documents and questionnaires. The '-private' option requires login prior to viewing any profile content. More information can be found HERE