Salesforce Integration

by Morty Frey


What is it?

The betterworks Salesforce integration allows betterworks users to connect their Goals to data from Salesforce reports. The value of those users’ Goals updates automatically based on those reports.


To use the integration, you must meet the following pre-requisites:

  • The person doing the setup should be a betterworks admin and an SFDC admin
  • Create a Salesforce account that the integration will use for data collection. We recommend naming this account “"
  • The service account you create must have the “Manage Package Licenses” user permission so that you can assign licenses for the managed package. To grant this permission to the service account, click the checkbox on the user profile creation page in Salesforce.

For security and privacy, this user should follow these profile guidelines:

  • The profile must match the lowest access level of any Salesforce user in your organization who also uses betterworks
    Note: If you give higher-level access to this profile, it might expose sensitive data to the rest of your organization
  • The profile must have Read Only permissions
  • The profile must have Managed Package Licenses
  • The profile must be REST API enabled


Before you can deploy the Salesforce integration to end users, you must install the betterworks app in your Salesforce Business Org. You can find the betterworks app in the AppExchange.

  1. Download the betterworks managed package from Salesforce. You must be a Salesforce admin to install the app.
  2. In the installation screen, select “Install for All Users” and click Upgrade or Install. A loading screen opens.

  3. After the installation completes, the betterworks managed package opens. 

    To access the managed package in the future, navigate to Setup > Build > Installed Packages and click “Manage Licenses” next to the app name “betterworks Managed.”

    Note: Depending on your installation type, the navigation path may read Setup > App Setup > Develop > Installed Packages.
  4. Submit a ticket to with your Organization ID to have the Salesforce integration enabled in betterworks. Support will confirm with you when the integration is enabled.
  5. Log into betterworks as an administrator.
  6. Click Admin in the top toolbar and click into the Integrations section.
  7. Click to expand the Salesforce integration section.
  8. Input the Server host URL and credentials and click Save. Note: The credentials should be those of a service account configured specifically for betterworks.



When entering the credentials, more specifically the field that says password, please be sure to enter this in the form passwordtoken with no spaces between, before, or after as shown in the screenshot above.  So if your password was 123 and your token was abc, you would enter 123abc in the field with no spaces between, before, or after.


Note: Find out how to retrieve your security token by reading Salesforce’s documentation.

The Salesforce integration is now enabled in your betterworks instance! 

By default, your app contains 30 licenses. You may add and remove users from this panel. We recommend assigning initial licenses to the administrator or operations team member who will be setting up the goals for the extended team.

To add more licenses, contact your betterworks Customer Success Manager.

Additionally, read about how to create a user that does not require password updates. We recommend disabling password updates for users who will use the Salesforce integration. Requiring password updates for your user may prevent the integration from functioning correctly.

If you use Single Sign-On to access Salesforce, you will need to generate a password for the newly created user. To do this, log in to Salesforce as the new user, navigate to the Profile Settings page, and create a password.

You can connect a Salesforce report to betterworks as easily as adding a metric to a goal. Connecting a metric to a report will update the goal’s value every hour. The current value of the metric represents the most recent version of the Salesforce report.

Creating a Connected Goal

To connect your goals to Salesforce data, start by creating a new goal in betterworks. Add a milestone and select the Salesforce icon (blue cloud symbol under Use and integration to update progress) to begin the process. This is where you add a Salesforce report.

Important Note: Once the credentials have been successfully saved in betterworks as described in Deployment step 8 above, it can take up to two hours for the blue Salesforce cloud icon to appear in the integrations section of the Create/Edit view.
  1. Click the Salesforce icon and a modal will pop up
  2. Select any Salesforce report by entering the name of the report in the “Search for a report” field.
  3. Once you’ve connected a report, choose a summary field from which to pull the value of the goal. Available summary fields will appear in the Select Field dropdown once the report is connected. SFDC_3.png

    Note: If the unit matches a betterworks default unit (dollars, percent), the unit will import, but you also have the option to select a custom unit if none of the default units match.

  4. Optional - use the Group By function to select key fields from your Salesforce Report. In this scenario, we're grouping by the opportunity owner (Trevor) and the time the contracts closed.
  5. Save the report and it will default back to your creation page. You'll want to set a target metric for this milestone or key result on the right-hand side and then complete the creation process by clicking the Submit button. Once a goal is successfully integrated and updated, a blue Salesforce icon will show up next to the goal in the goal list view! Note: This target value does not have to match targets set in Salesforce.

Working with Connected Goals

Once a betterworks metric is connected to a Salesforce report, the metric’s current value will reflect the latest value of the report. The value imports automatically from Salesforce. You cannot manually update the current value without disconnecting the report.

If you own an existing metric and would like to connect to a Salesforce report, you can add the report by clicking on the metric and selecting Edit from the Actions menu. You can edit or disconnect reports at any time without disrupting existing check-ins.  


Why can't I select a summary field for a Salesforce integrated milestone?

First, check the Salesforce report to confirm there is a summary field.

If there is a summary field and you are not able to select it for your milestone, there may be custom objects within the report that the user created for the Salesforce integration cannot see.

How often does Salesforce data import to betterworks?

Salesforce values are updated every hour.

Can I push betterworks data back to Salesforce?

No. We currently do not offer backwards compatibility with Salesforce.

How long will it take the Salesforce report to appear in betterworks?

Report values are added to the goal immediately upon creation and values will be refreshed hourly. On the goal's due date, the value will conclude syncing and the final value will be saved as the goal’s final progress.

Can I connect my goals to other Salesforce records?

No. We currently only support connection to Salesforce reports.

Do you recommend enabling the "Password Never Expires" setting in the Administrative Permissions section of the profile?

Yes.  We recommend enabling the "Password Never Expires" setting in the Administrative Permissions section of the profile. This will prevent passwords from expiring for all users using that profile. You can access profile settings via Setup, Manage Users, Profiles.

Here are 2 links that have further information about this.

I've entered my credentials as listed in deployment step 8. How come I can't see the blue Salesforce cloud icon yet?

Once the credentials have been successfully saved in betterworks, it can take up to two hours for the blue Salesforce cloud icon to appear in the integrations section of the Create/Edit view.

If this is not appearing after 2 hours, please make sure that the Salesforce profile of the service account/user has the "API Enabled" and the "Manage Package Licenses" permissions enabled under the Administrative Permissions section of the Profile page (Accessed via Setup > Manage Users > Profiles > Select Profile of User Account used in betterworks Integrations page).


If you continue to see issues, please make sure the user that is having this issue is defined as an active user in our managed package for your salesforce instance.  It's important to make sure that the users defined in your Active Users list are correct and that their email addresses match those on your betterworks accounts (this is how the integration matches Salesforce and betterworks users).

If after trying all this and if you still need assistance, please feel free to reach out to for additional assistance.


Article is closed for comments.