Planhat's bi-directional integration with Salesforce is a powerful way to get your customer data into Planhat quickly and easily. In addition, you can push customer data from Planhat to Salesforce, ensuring your systems and teams (sales, marketing, leadership, etc) are always on the same page with up-to-date customer information.

πŸ“ Use case: Pushing data like health scores from Planhat back to Salesforce can help your Sales team keep better tabs on customers and when they are ready to expand. Similarly, since Planhat can create Contact records from any connected system, consider syncing Contacts back to Salesforce if your marketing team is working there.

In this set-up guide, we will go over what types of data can be synced, how to sync them, what the syncing process is like, and how you can make adjustments to your Salesforce integration settings.

  1. Allowing Data to Sync to Planhat

  2. Overview

  3. Syncing SF Objects

  4. Users or Team Members

  5. Accounts

  6. Contacts

  7. Notes

  8. Logged Activities & Tasks

  9. License Data

  10. Cases

  11. Projects & Assets

  12. Open Opportunities

Each time you map an Object in the SalesForce integration you follow the same simple process:

  • Choose the object to be synced

  • Choose the sync direction

  • Filter the object so you only bring in what you need

  • Add any related custom fields if needed.

Allowing Data to Sync with Planhat

Before you can begin syncing data to Planhat, you need to make sure you have the correct settings in Salesforce.

Step 1: Authorize Planhat in Salesforce

  1. Navigate to Planhat's integration page, select Salesforce and click "Connect with Salesforce"

  2. A new window in your browser will appear displaying the login page to Salesforce.

    πŸ“Œ Important to note: If you already have an active session it may not pop up meaning you have to find the browser tab.

  3. Salesforce will ask for your permission to allow the connection with Planhat. Click "Allow".

Step 2: Configure Sync Details

At this point, the Salesforce integration is active, but still not sending or receiving any data. If you refresh your browser, you will see the integration options.

πŸ“Œ Important to note: If you are on a very basic Salesforce plan you may get an error when trying to sync, that says:

This message is from Salesforce. It means you do not have the Salesforce API as part of your plan so will need to upgrade your plan before syncing data to Planhat.


The sync between Salesforce and Planhat is bi-directional, meaning you can choose to push data to, and pull data from each system. You have the ability to choose sync direction you would like for each of the objects and which fields will be synced.

  • Send = information is sent from Planhat into Salesforce

  • Receive = information is sent from Salesforce into Planhat

  • Both Directions = both platforms will receive information from one another

  • None = there will be no sync of this information between the platforms

You will be able to specify, per object and field, in which direction the data should be synced.

You will also be able to filter objects to receive from Salesforce.

πŸ“Œ Please note that if an object is created in Planhat from Salesforce, and then ceases to match the filter for the Salesforce integration, the Salesforce object will receive updates from Planhat, but updates will not flow the other way.

Information that can be synced:

Objects in Salesforce:

  • Accounts

  • Contacts

  • Activities (Tasks, Notes, logged and planned)

  • Opportunities (most common) or any standard / custom object that stores revenue data (it requires an account lookup field).

  • Cases

  • Custom Objects (syncing to Planhat's Licenses, Assets or Projects objects)

Objects in Planhat:

  • Companies

  • Contacts

  • Licenses

  • NRR

  • Planned Activities (Tasks)

  • Logged Activities / Notes (Conversations)

  • Tickets (Cases)

  • Assets

  • Projects

  • Opportunities (Advanced integration)

  • Invoices (Advanced integration)

πŸ“Œ Important to note: For safety and data security reasons, regardless of direction, one system cannot delete objects in the other system but objects and fields can be updated.

Team Members

First, you can select which Salesforce users you want to create as Team Members in Planhat.

πŸ“ Use case: This is a simple way to update your Planhat account with those employees who already access Salesforce.


  1. Choose the sync direction of the Account sync.

    πŸ“Œ Important to note: On the Account object you can set the sync direction for each individual field and that will overwrite the main sync direction. For example, if the Account sync direction is set to "Receive from Salesforce" and you have a custom field sync direction set to "Both Directions", the data will be sent to Salesforce.

  2. Specify which accounts in Salesforce you would like to sync into Planhat. To do this, choose the parameters by which you will identify accounts to be synced.

  3. Choose what lifecycle stage you want a new Customer to land in, once synced from Planhat. All Accounts synced to begin will land here and can be moved within Planhat, but thereafter, this will be the first lifecycle stage for new Accounts. If you want, you can also sync the Salesforce account owner to Planhat.Β 

    πŸ“ŒImportant to note: The setting "Do you want to sync the owner of accounts from Salesforce" isn't bi-directional, it will only sync accounts from Salesforce to Planhat. If you would like to sync the account owner bi-directionally, you will need to map the Planhat "Owner" field to the Salesforce "Owner ID" field using the "Team Member" data type (see below).

  4. It is likely that you will later want to display customer usage data in Planhat. To do this, Planhat needs an ID for each customer. If you store that ID in Salesforce make sure you add it in the field mapping section.

  5. With Custom Fields you can pick any field on the Account object in Salesforce and sync it to Planhat as well. These could be out of the box fields you want visible to your CS team in Planhat or custom fields you have created in Salesforce and want to sync over.Β 

πŸš€ Quick tip: any Account level field in Planhat can be synced back to Salesforce. For example, customer usage data or a customer health score could be pushed from Planhat to a field on the Account object in Salesforce.

The table below explains how to set up these matches.

The table flows from left to right, with the left side being fields in Planhat (blue and pink) and the right side being fields in Salesforce (orange and purple).
(BLUE) You can choose to sync Custom Fields, Attributes and Metrics.

πŸš€ Quick tip: Attributes are fixed fields in Planhat, Metrics are data points created in Planhat and Custom fields are natively created fields in Planhat.

(PINK) Choose or write the name you would like to use for the selected fieldΒ 

(ORANGE) Choose whether the type in Salesforce is a string / number / date / boolean.Β 

(PURPLE) Pick from the drop-down menu the desired field in Salesforce.

Click 'Add a Match' to add additional fields and don't forget to hit Save when done.


This section is fairly quick and simple to set up.

  1. You choose which direction you would like Contacts to sync.

  2. Custom Fields are optional and follow the same logic as on the Account object.

Again, remember to Save all of your changes.

Notes, Logged Activities, & Tasks

If you use the "notes" section on your Accounts in Salesforce and would like those to show up in Planhat, or have the notes you create in Planhat appear in Salesforce, then you can sync these as well!

To sync Notes & Tasks:Β 

1. Choose which direction you would like to sync the information

2. Click check user to see if the permissions have been enabled in Salesforce to allow Planhat to map the user. Watch the video below to see which permissions need to be enabled in Salesforce:

3. Show Profiles allows you to choose only selected users from which to fetch tasks . Clicking it will display the users in Salesforce below and you can select which users you would like to fetch tasks for. If no profiles are selected then Planhat will fetch all tasks.

How Notes Are Synced

Salesforce -> Planhat

When a note is created/updated in Salesforce, Planhat receives it within 10 minutes and saves it as a note.

πŸ“Œ Important to note: Only company notes will be fetched.

Planhat -> Salesforce

When a note is created in Planhat the note will be sent as soon as possible to Salesforce, and it will be saved as a company note in Salesforce. This is normally instant.Β 

How Tasks & Logged Activities Are Synced

Salesforce to Planhat

When a user creates a task in Salesforce, Planhat will receive this task within 10 minutes.

πŸ“Œ Important to note: As a default, all tasks created in Salesforce and sent to Planhat are created as a task in Planhat, however you can choose to have them mapped as a "call" or "email" as well.

When a Salesforce task, that is a call or an email, is completed in Salesforce, Planhat receives that task and saves it as completed. This also updates the "Last Touch" attribute of the customer (if the date of the task is more recent than the Last touch attribute currently on the customer from Planhat) and creates a logged activity which is shown in the activity section of the customer.

πŸ“Œ Important to note: Comments on completed tasks do not sync with the corresponding activity in Planhat.

Planhat to Salesforce

New Tasks in Planhat are sent to Salesforce as a "Task." The task will appear in the task section in Salesforce.

When a user completes a task in Planhat, this will also complete the task in Salesforce and this action will appear in the activity section.

The log of a completed planned activity will be synced as a note to Salesforce.

License Data

License data in Salesforce is often stored on the Opportunity object, but can live in a variety of other locations. Planhat makes this easy by enabling you to bring in license data from any standard or custom object (Opportunity, Subscription etc). Β 

Typically you will have fields for contract value, contract start date and contract end date, and potentially others to provide more detail such as revenue type or auto-renewable. All of these can be synced to Planhat.

1. Β Specify which direction you would like the data to sync

2. Select the object you use in Salesforce to store the subscription and revenue data. You will also need to identify which field has the relation to the Parent account (it will most likely be the Account ID)

πŸ“Œ Important to note: The object you selected that contains the subscription information should have at least one field with a relationship to the account (like account_id). If this relationship does not exist, or the relationship field is not linked to the object you specified for accounts the licenses will not be synced to Planhat.

3. You will then need to specify which fields in Salesforce are related to any additional license information you would like to sync into Planhat.

πŸ“Œ Important to note: We will not sync licenses with no start date, but will sync those with no end date.

4. To ensure only the correct licenses are brought in, you should also select a field to identify relevant licenses. Often this will be the Stage field and 'Closed Won' option.

You can see the example options we provide below:

5. Finally, set up the default options if applicable and any required custom fields as before.

πŸš€ Quick tip: You have to select a notice period (which only impacts settings you are using our auto-renewal function) in order to "Save" your License settings.

Zero-value licenses

It is possible to sync revenue records from Salesforce that have a 0 as a contract value (or MRR/ARR) but also negative values (e.g. credit notes) - if that's your case, simply set the option to "Yes".

πŸ“Œ Important to note: Records with empty values in the specific field won't be synced.


You can select any currency as the default, but if you have activated multi-currency in Salesforce then instead of the option to select a default currency, a message will display saying:

"Salesforce Account with Multicurrency: ON"

Your licenses will then be mapped based on the currencies used in Salesforce.
πŸš€ Quick tip: You need to add these currencies to Planhat first, by adding them under Settings.Β 

Again, always Save after every section to make sure your settings are being stored and the Salesforce sync is successful.


Similar to the objects above, the Cases sync lets you first filter which Cases you want to bring over, and then add any custom fields you also want to display in Planhat.

πŸš€ Quick tip: Cases in SFDC sync under Conversation Type = ticket in Planhat.

Assets and Projects

Like Licenses, Assets and Projects can sync with any standard or custom object. Assets and Projects are associated with Accounts in Planhat and are typically used to represent data stored on custom objects in Planhat. Use cases include:

  1. Bringing in data about different customer environments, instances or tenants

  2. Bringing in data about customer campaigns or projects

  3. Bringing in data about customer products

  4. Bringing in data about open Opportunities (if Opportunities are not synced with Licenses)

Your CSM or Technical Account Manager can help you understand if using Assets or Projects makes sense for your specific use case.


While most customers want to sync Closed/Won Opportunities to the License object in Planhat as they represent revenue, there are also many use cases for syncing Open Opportunities from / to Salesforce as well. If you are focusing on CSQLs you may want your CS team to identify the Opportunity, create it in Planhat and sync it to Salesforce later, or you may just want totally transparent visibility for all teams in both systems.

To do this you need the advanced SF integration (more details here). As with all other objects, select the direction of sync and the filter for which Opportunities should come over.

πŸš€ Quick tip: If you are syncing Open Opportunities only, you need to add a custom field in Planhat to map to the Salesforce Close Date field. This field is mandatory in Salesforce but since your Opportunities will be Open in Planhat it does not exist yet. A custom field will do the job.

Did this answer your question?