All Collections
Integrations
Salesforce Integration
Salesforce Integration
Updated over a week ago

Baton for Salesforce provides Baton access to your organization's Salesforce instance, enabling features like automatic Project import from Opportunities and syncing Baton data back to Salesforce. You can add filters to the import rules, so not all objects are imported if you don't want them to be. The integration can import from Standard and Custom Salesforce objects. The Salesforce Integration is available with our Enterprise plan. Please contact your CSM for additional information.

Example Use Cases

  1. Connect Sales and Implementation Teams by automatically creating Baton Projects when Opportunities are closed!

  2. Ensure Customer Success has everything they need to onboard that important customer by tailoring what Salesforce information gets pushed to Baton!

The Baton Salesforce can handle both simple and complex cases. If your Salesforce ecosystem does not use the Standard Opportunity object, that is no issue for Baton. We have a separate page to walk through a few Salesforce organizational structures here. We recommend you connect your Salesforce account as directed below before diving into examples.

Prerequisites

The Salesforce account that is configured to connect to Baton must have the following permissions for the integration to work. Your organization's Salesforce administrator may need to ensure these permissions are correctly configured before continuing:

  • PushTopic record create, read, update, and delete permissions

  • Read and update permissions for any objects (Custom or Standard) in Salesforce that you wish to sync Baton data to.

Connect your Salesforce Account

Only Baton workspace administrators will have access to connect Salesforce.

  1. Go to Workspace Management Settings and navigate to Connected Apps. From there, click the Salesforce tab.

    Screen_Shot_2022-02-04_at_10.17.57_AM.png
  2. Click the "Connect Salesforce Account" button. This will bring you to Salesforce, where you may need to log in. Salesforce will ask you if you wish to provide Baton access to your Salesforce organization:

    Screen_Shot_2022-02-04_at_10.18.43_AM.png
  3. Click "Allow" to provide Baton access or "Deny" to cancel.

  4. After clicking "Allow", you will be redirected back to Baton, where you can begin configuring your Salesforce integration. You may revoke Baton's access to your Salesforce organization at any time by clicking "Revoke Access" on this page.

    Screen_Shot_2022-06-01_at_1.40.18_AM.png
  5. To ensure Baton’s access to Salesforce does not expire inadvertently, you will need to check that Salesforce will not expire the connection unless manually revoked. Failing to do this can cause some organizations to need to reauthenticate in the future depending on your Salesforce security policies. Log in to Salesforce. On the left menu under Platform Tools select Apps -> Connected Apps -> Managed Connected Apps. Find Baton in the app list, then click Edit. Make sure your Refresh Token Policy is “refresh token is valid until revoked.”

  6. From here you can configure which object type and criteria will trigger a Project import to Baton, a default Project lead for projects imported from Salesforce, and which Baton fields sync to which Salesforce object fields. If you select Opportunity, Type and Stage will be required. You must select at least one criterion for importing. To import all objects, add a custom Salesforce Checkbox field that’s defaulted to true, and then create an import rule based on that field. All Custom objects can be mapped to Baton plus the following Salesforce objects:

  • Account

  • Campaign

  • Case

  • Contact

  • ContractLineItem

  • Entitlement

  • Lead

  • LiveChatTranscript

  • MessagingSession

  • Opportunity

  • Quote

  • QuoteLineItem

  • ServiceAppointment

  • ServiceContract

  • Task

  • UserServicePresence

  • WorkOrder

  • WorkOrderLineItem

*Note: a common practice some users do in Baton is to have a manual checkbox on their object called something like "Ready for Implementation". It is used to import a project in Baton as a trigger. When the implementation is ready, the user can push over an object to create a Baton project by checking the "Ready for Implementation" box.

Baton to Salesforce Sync

Baton syncs data to Salesforce once every 4 hours for Projects imported from Salesforce Opportunities. Baton can push data into Fields on any Salesforce Object that has a relationship to the Opportunity. This includes Salesforce default Fields, like Opportunity Description, and any Custom Salesforce Fields you may create. We recommend discussing how to map Baton data to Salesforce with your Salesforce Administrator prior to any configuration. Fields that can be mapped back to Salesforce from Baton include types:

  • Date

  • Date/Time

  • Number

  • Currency

  • Text

  • Long-Text

  • Picklist

  • Multi Picklist

For mapping to Baton objects, the following field types are typical.

Baton Field

Salesforce Type

Project Title

Text

Project Private Notes

Text

Project Due Date

Date

Project Start Date

Date

Client Lead Email Address

Text

Project Description

Text

Contract Value

Number

Implementation Budget

Number

Budget Shown To Client

Number

Estimated Duration (Hours)

Number

Custom Field: Drop Down

Picklist, Text

Custom Field: Numeric

Number

Custom Field: Text

Text

Custom Field: Date

Date

Baton Fields Available to sync to Salesforce

The following fields can be synced back from Baton to Salesforce. We also include the type in Salesforce that can be linked.

Baton Field

Salesforce Type

Project ID

Text(255) (External ID) (Unique Case Insensitive)

Project URL

URL(255)

Project Title

Text

Project Private Notes

Text

Projected Project Due Date

Date

Project Risk Status

Text

Project Due Date

Date

Project Start Date

Date

Project Started Date

Date

Project Completed Date

Date

Project Status*

Text

Project Phase

Text

Project Archived

Text

Vendor Lead Email Address

Lookup(User,Group)

Client Lead Email Address

Lookup(Contact)

Average Milestone Feedback

Number(3, 1)

Tasks Complete Percentage

Percent(3, 0)

Hours Used Percentage

Percent(3, 0)

Budget Used Percentage

Percent(3, 0)

Project Health

Text

Project Health Note

Text

Project Description

Text

Contract Value

Number

Implementation Budget

Number

Budget Shown To Client

Number

Estimated Duration (Hours)

Number

Custom Field: Drop Down

Picklist, Text

Custom Field: Numeric

Number

Custom Field: Text

Text

Custom Field: Date

Date

*Baton Project Statuses in Salesforce

Salesforce can import project statuses from Baton, but they look slightly different in the translation from the UI of Baton. Below is a quick translation from what you see in the Baton UI vs what shows up in Salesforce

Baton UI Status

Salesforce Status

Notes

Draft

Missing Required Info

Before initial project details are entered or confirmed

Draft

Planning

After the initial project setup page is completed

In Progress

Doing

After a project is set active

Complete

Done

When 100% of tasks in a project are completed

Salesforce to Baton Sync

Opportunities that transition to the configured Stage will be imported to Baton as Projects in near real-time. This Project import process typically takes only a few seconds but could take up to five minutes. Once a Project is imported to Baton from a Salesforce Opportunity, no additional data will sync to Baton from Salesforce.

*Note: When the Integration is initially set up, Salesforce objects that meet the import criteria will not all be imported at once to avoid a firehose of projects in your workspace. To import in-progress Projects from Salesforce, you can either

  1. Go to Project/Overview/Details and enter the Object ID

  2. Change a detail on the project in an import trigger field to something else and back

  3. Add a manual checkbox called something like Import to Baton, include that in project trigger logic, and check that box for current and future objects that you want to import into Baton

Creating New Salesforce Fields to Sync With Baton

Some fields that exist in Baton will not have corresponding fields in your Salesforce Opportunity (or other objects). As such, you'll need to create a new field in Salesforce for that object and then sync it to Baton. Instructions to create a new Salesforce field can be found here. Fields will need to be of the type:

  • Date

  • Date/Time

  • Number

  • Currency

  • Formula

  • Text

  • Long-Text

  • Picklist

  • Multipicklist

in order to work with Baton. Note it may take a few minutes for a new field to appear as an option in Baton to sync after it has been created due to Salesforce throttling limitations.

Tracking History Of Salesforce Fields

Salesforce allows users with Customize Application permissions to denote up to 20 fields to track the history. This will show you the current value over time and how the field has changed over time. Fields synced to Baton can be tracked if you want to see this audit trail. Salesforce documentation for enabling this can be found here.

Uninstall Legacy Baton Salesforce Integration

This section only applies to organizations that installed the Baton/Salesforce Integration before February 1, 2022. This integration has been deprecated, so needs to be uninstalled to not interfere with the new version referenced above. To uninstall this version:

  1. Go to Setup > Apps > Packaging > Installed Packages

  2. In the list of Installed Packages, click on the "Uninstall" link to the left of the package name, "Baton".

Did this answer your question?