Skip to main content
Salesforce

Sync your Salesforce accounts, contacts, notes, tasks, and custom objects to Vitally in real time with our Salesforce integration

Laura Bedoya avatar
Written by Laura Bedoya
Updated over a month ago

Salesforce Overview

Vitally's Salesforce integration can sync the following data between Salesforce and Vitally. We only support Objects that are directly associated to the Account/Organization object in Salesforce:

  • Accounts - Bi-directionally sync and/or import Salesforce Accounts (or the Salesforce object you use as the equivalent) into Vitally as Vitally Accounts. You'll be able to whitelist the Salesforce fields to add to your Vitally account profiles, make changes to those fields in Vitally, and push Vitally's customer analytics (e.g. health scores, indicators) back to your Salesforce records.

  • Contacts - Bi-directionally sync and/or import Salesforce contacts into Vitally as Vitally Users.

  • Opportunities and Custom Objects - Bi-directionally sync any custom object from Salesforce into Vitally, and even create new objects directly in Vitally. Opportunities are treated as Custom Objects and are supported in the same full read/write/create basis.

  • Notes - Sync your Salesforce notes into Vitally and push Vitally's notes back to Salesforce.

  • Tasks - Sync your Salesforce tasks into Vitally and push Vitally's tasks back to Salesforce.

When the Salesforce integration is enabled, we will sync all of an account's objects (i.e., notes, tasks, custom objects) created or updated in the last 12 months.

Salesforce Supported Field Types

Vitally Field

SFDC Field

String

Text

Number

Number

Date

Date

Boolean

Checkbox

Multi-select

Picklist (multi-select)

Textarea

Text Area and Long Text Area

File attachment

N/A

For further information, you can review the Salesforce developer documentation here.

Field Types Salesforce FAQ

Configuring field types to sync in data

Q: Why is my formula (text) field displaying in HTML and not an URL?

A: The Salesforce formula uses a Hyperlink function within the formula. If you remove the Hyperlink function, the value pulls into Vitally as a normal text string.

Enabling the Salesforce Integration

Before you enable the Salesforce integration, ensure that:

  • Your Salesforce account has the REST API add-on

  • The Salesforce user you connect with has the following enabled within their Permission Sets:

    • Read, Create, and Edit Object Permissions enabled for the Salesforce objects you wish to connect

    • Read, Create, and Edit Object Permissions enabled for the Push Topic object, which is used by Vitally to subscribe to Salesforce changes in real time

    • View Setup and Configuration System Permission enabled

  • You haven't exhausted your API credits for the day

How-To

How-To Visual

  1. Navigate to your Settings (βš™οΈ) by selecting your Account Logo on the top left and under Operations select Integrations to find Salesforce (or via Quick Jump Mac: ⌘ + j Windows: Alt + j)

  2. Select Connect to Salesforce button

  3. Follow to steps to grant access in Salesforce

  4. Now you can configure your data sync! Continue below for more specifics on each hierarchy and activity.

Contact our support team if you are looking to connect a Salesforce sandbox to Vitally

Creating Organizations from Salesforce

How-To

How-To Visual

  1. Navigate to the Organizations tab while in the Salesforce integration configuration page

  2. Toggle the button labeled "Organization sync with Salesforce is disabled. Click to enable"

  3. Select the Salesforce Object that you want to sync into Vitally as an Organization

  4. Select Yes or No if your Salesforce Companies have the external ID of the Organization stored in some field

    1. Select "Yes" if you have a common External ID linking all your customer data from one tool to another as per outlined in the article here

    2. Select "No" if you don't currently track this External ID in Salesforce. In this instance you can configure a Salesforce field that has a value which maps to an existing Vitally Organization trait that is already being synced from one of your other tools. (Must be a "String")

  5. (Optional) Choose a Fallback ID if you've selected "Yes" in the above step. This is useful if you want to import Salesforce Organizations before the above primary External ID field is set

    1. Vitally will create Organizations using this Fallback ID only if the primary External ID for the Organization you want to sync is NULL

    2. Once the primary External ID is set on the Organization, Vitally will automatically switch the ID over to the primary ID and merge any duplicate Organizations created from other systems

  6. Select whether you want to create new Organizations (this also updates existing Orgs) or do not update new organizations (this is update only) It is quite common for Salesforce to track Organizations that aren't actually current customers

    1. Option 1: Allow Salesforce to create Organizations, but define filters to limit the Organizations to import

    2. Option 2: Don't allow Salesforce to create Organizations - only update existing Vitally Organizations with matching Salesforce Organizations

  7. Pick the Salesforce Organization field that contains the name of the Organization

  8. Define conditions to limit which Organizations you want to pull in data for (e.g, only those marked as a "paying customer" to avoid pulling in any prospects)

  9. Pick the traits you would like to pull into Vitally and set the relevant editing permissions

    1. If you select 'no one' to allow edits, that means Vitally can't make updates. Updates can only be done in Salesforce.

  10. Choose Vitally traits to push back to Salesforce (e.g. NPS, Health Scores, Indicators). Please follow to steps below to set this up as Vitally does not create fields for you:

    1. Create the field in Salesforce. When creating your Salesforce field, give it a name that starts with "Vitally" (this is required)

    2. You must match the field type of your new Salesforce field. For example, create a new Number field if pushing our health score

    3. Finally, back in Vitally, select the Vitally trait to establish a link between Vitally and Salesforce You can learn more about the Vitally Organization columns you can push back to Salesforce here

  11. Once all done, select the blue button labeled "Synced my Salesforce data with Vitally"

Step 1-5:

Step 6-11:

Creating Accounts from Salesforce

How-To

How-To Visual

  1. Navigate to the Accounts tab while in the Salesforce integration configuration page

  2. Toggle the button labeled "Account sync with Salesforce is disabled. Click to enable"

  3. Select the Salesforce Object that you want to sync into Vitally as an Account

  4. Select Yes or No if your Salesforce Companies have the external ID of the Account stored in some field.

    1. Select "Yes" if you have a common External ID linking all your customer data from one tool to another

    2. Select "No" if you don't currently track this External ID in Salesforce. In this instance you can configure a Salesforce field that has a value which maps to an existing Vitally Account trait that is already being synced from one of your other tools. (Must be a "String")

  5. (Optional) Choose a Fallback ID if you've selected "Yes" in the above step. This is useful if you want to import Salesforce Accounts before the above primary External ID field is set

    • Vitally will create Accounts using this Fallback ID only if the primary External ID for the Account you want to sync is NULL

    • Once the primary External ID is set on the Account, Vitally will automatically switch the ID over to the primary ID and merge any duplicate Accounts created from other systems

  6. Select whether you want to create new Accounts (this also updates existing Accounts) or do not update new Accounts (this is update only) It is quite common for Salesforce to track Accounts that aren't actually current customers

    1. Option 1: Allow Salesforce to create Accounts, but define filters to limit the accounts to import

      1. For example, any Account with an "Account Type" of "Customer" in Salesforce will create a new Account in Vitally

    2. Option 2: Don't allow Salesforce to create Accounts - only update existing Vitally Organizations with matching Salesforce accounts

      1. Select this option if you'd rather some other system (e.g Segment, Stripe) create the Account in Vitally first before pulling in a matching profile from Salesforce

  7. Pick the Salesforce Account field that contains the name of the Account

  8. Pick the Salesforce Account field that contains a reference to the Account's Organization

  9. Pick the traits you would like to pull into Vitally and set the relevant editing permissions

    1. If you select 'no one' to allow edits, that means Vitally can't make updates. Updates can only be done in Salesforce

  10. Select the Vitally traits to push back back Salesforce (e.g. NPS, Health Scores, indicators). Please follow to steps below to set this up as Vitally does not create fields for you:

    1. Create the field in Salesforce. When creating your Salesforce field, give it a name that starts with "Vitally" (this is required)

    2. You must match the field type of your new Salesforce field. For example, create a new Number field if pushing our health score

    3. Finally, back in Vitally, select the Vitally trait to establish a link between Vitally and Salesforce

    You can learn more about the Vitally account columns you can push back to Salesforce here

  11. Once all done, select the blue button labeled "Sync my Salesforce data with Vitally".

Step 1-5:

Step 6-11:

Creating Users from Salesforce

If you are creating Organizations and/or Accounts via Salesforce, and will also be creating Users via Salesforce; Vitally will inherently only create Users that are related to the synced Organizations and Accounts. If needed, you can add additional filters to the configuration to further limit which Users are synced.

How-To

How-To Visual

  1. Navigate to the tab Users/Contacts while in the Salesforce integration configuration page

  2. Toggle on the button labelled "User sync with Salesforce is disabled. Click to enable"

  3. Select Yes or No if your Salesforce Contacts have the external ID of the User stored in some field

    1. Select "Yes" if you have a common External ID linking all your customer data from one tool to another

    2. Select "No". If you currently don't track this External ID in Salesforce. In this instance you can configure a Salesforce field that has a value which maps to an existing Vitally User trait that is already being synced from one of your other tools (Must be a "String")

  4. (Optional) Choose a Fallback ID if you've selected "Yes" in the above step. This is useful if you want to import Salesforce Contacts before the above primary External ID field is set

    1. Vitally will create users using this Fallback ID only if the primary External ID for the User you want to sync is NULL.

    2. Once the primary External ID is set on the User, Vitally will automatically switch the ID over to the primary ID and merge any duplicate Users created from other systems.

  5. Select whether you want to create new Contacts (this also updates existing Contacts) or do not update new Contacts (this is update only)

  6. Pick the Salesforce Contact field that contains the full name of the user

  7. Pick the Salesforce Contact field that contains the email of the user

  8. Pick the Salesforce Contact field that contains a reference to the Contact's Account in Salesforce

  9. Pick the Salesforce Contact field that contains a reference to the Contact's Organization in Salesforce (if applicable)

  10. Select whether you want to create new Contact records in Salesforce for any users manually created in Vitally:

    1. No - any users manually created in Vitally should not be created in Salesforce

    2. Yes - any users manually created in Vitally should create new Contract records in in Salesforce

  11. Pick the traits you would like to pull into Vitally and set the relevant editing permissions

    1. If you select 'no one' to allow edits, that means Vitally can't make updates. Updates can only be done in Salesforce

  12. Once all done, select the blue button labeled "Sync my Salesforce data with Vitally

Step 1-4:

Step 5-11:

Syncing Notes & Tasks from Salesforce

Vitally's Salesforce integration can be used to achieve a bi-directional sync of notes and tasks between the two systems.

Salesforce enhanced (Lightning) notes can be attached to any number of Salesforce objects. However, Vitally notes can only be attached to a single object. So when importing a Salesforce enhanced note, we will only attach it to the first object that has also been imported in to Vitally.

How-To

How-To Visual

This process is mostly the same for Notes and Tasks:

  1. Navigate to the Notes or Tasks tab while in the Salesforce integration configuration page

  2. Turn on the toggle for the relevant directions you would like to sync the data:

    1. Vitally -> Salesforce (Automatically create a note in Salesforce when a note is created in Vitally)

    2. Salesforce <- Vitally (Automatically create a note in Vitally when a 'Note', 'Call', or 'Meeting' is created in Salesforce)

  3. (Tasks only) Optionally map bidirectional Task traits from Vitally to Salesforce in additional to our default mapping. See chart below for which fields and data types are supported!

  4. (Tasks only) Optionally define import filters to limit the Tasks that get imported from Salesforce to Vitally

  5. Click the blue button labeled "Update Salesforce Configuration"

Mapping Task fields to Vitally fields

Default mappings:

Salesforce (Task Field)

Vitally (Task Field)

Subject

Task name

Description

Task description

IsClosed

Task due date (IsClosed will be set to true if the due date is set)

Owner

Task assignee

Custom mapping:

Salesforce (Task Field Type)

Vitally (Task Field Type)

Text

String

Picklist

String

Picklist (Multi-Select)

Multi-select

Checkbox

Boolean

Task fields in Vitally and Salesforce sync bi-directionally within an hour of any updates. Whether a Task is created in Vitally or Salesforce, any fields addedβ€”either during Task creation or afterwardβ€”will be included in the sync.

Salesforce FAQ: Notes & Tasks

Pushing Vitally Notes -> Salesforce

Q: Once I enable the push to Salesforce, are past notes already in Vitally created in Salesforce?

A: No - not at the moment. However, if you'd like to have your existing Vitally notes pushed to Salesforce, please contact our support team.

Q: Is there a delay when creating/updating a Vitally note before the change is pushed to Salesforce?

A: There may be a slight delay, but the update should be applied to Salesforce in near real-time.

Q: What happens if I take a note on an account in Vitally not linked to a Salesforce object?

A: Nothing - no note will be created in Salesforce.

Q: Can I push Vitally notes to Salesforce as tasks instead?

A: Not at the moment, but if this is essential for your Salesforce integration, please let us know the feedback!

Q: Does Vitally modify the note in any way when pushed to Salesforce?

A: Yes - we clean the note of all rich text formatting when creating the Salesforce note. This occurs because Vitally's notes support HTML, while Salesforce's default note field does not.

Q: How are owners set in the Salesforce note?

A: Vitally will attempt to set the note owner to a Salesforce user with the same email as the user that created the note in Vitally. If a user is not found with a matching email, the API user is then set as the note owner.

Q: What happens when a note that was pushed to Salesforce is deleted in Vitally?

A: If the note was first created in Vitally (i.e. it is not a 'clone' of a Salesforce-owned note), then Vitally will delete the note in Salesforce. If the note was first created in Salesforce and the Vitally 'clone' is deleted in Vitally, it is not deleted in Salesforce.

Q: What happens when a note pushed to Salesforce is deleted in Salesforce?

A: Nothing - the note in Vitally will remain.

Q: Some of the formatting didn't properly sync to Salesforce (salesforce lightning)

A: Currently Bold, Italic, and Underline are the only formatting supported to write back from Vitally to Salesforce. So for example, if you're using bullets to make a list that won't sync over to Salesforce.

Q: I edited a note in Vitally, why isn't that change syncing back to Salesforce?

A: Notes created or edited in Vitally will not sync changes back from Salesforce. The reason for that is that in Vitally you can format the note and embed things in it like tasks and traits and we don't send a representation of that to Salesforce in a way that preserves the embedded information. That means that if we allowed changes from Salesforce to come back, it could wipe out those parts of the note and loosing information.

Importing Salesforce Notes -> Vitally


​Q: Once I enable the import from Salesforce, are past notes already in Salesforce created in Vitally?

A: By default, we import Salesforce notes created or updated in the last 12 months. If you'd like to have more historical Salesforce notes imported into Vitally, please contact our support team.

Q: Is there a delay when creating/updating a Salesforce note before the change is pushed to Vitally?

A: Yes - there is a maximum of a 1 hour delay.

Q: How are owners set on the Vitally note?

A: Vitally will attempt to set the note owner to a Vitally user with the same email as the user that owns the note in Salesforce. If a user is not found with a matching email, Vitally will auto-create a new Vitally user and associate the note to the newly auto-created profile. Note that auto-created users do not count against teammate limits on your Vitally plan.

Q: What happens if the Salesforce note doesn't have an owner in SFDC?

A: Salesforce automatically sets the creator of the note as the owner if one is not specified.

Q: What happens when a note that was imported from Salesforce is deleted in Vitally?

A: If a Salesforce-imported note is later deleted in Vitally, then Vitally will not delete the note in Salesforce. This way, you can selectively clean up notes imported from Salesforce without affecting your Salesforce data.

Pushing Vitally Tasks -> Salesforce


​Q: Once I enable the push to Salesforce, are past tasks already in Vitally created in Salesforce?

A: No - not at the moment. However, if you'd like to have your existing Vitally tasks pushed to Salesforce, please contact our support team.

Q: Is there a delay when creating/updating a Vitally task before the change is pushed to Salesforce?

A: There may be a slight delay, but the update should be applied to Salesforce in near real-time.

Q: What type of task is created in Salesforce?

A: A task with a subtype of task (which is confusingly a thing in Salesforce πŸ˜…)

Q: What happens if I create a task on an account in Vitally not linked to a Salesforce object?

A: Nothing - no task will be created in Salesforce.

Q: Does Vitally modify the task in any way when pushed to Salesforce?

A: Yes - we clean the task of all rich text formatting when creating the Salesforce task. This occurs because Vitally's tasks support HTML, while Salesforce's default task does not.

Q: How are owners set in the Salesforce task?

A: Vitally will attempt to set the task owner to a Salesforce user with the same email as the user that is assigned to, completed, or created the task in Vitally (in that order). If a user is not found with a matching email, the API user is then set as the task owner.

Q: What status does Vitally set on the task?

A: If the task is completed in Vitally, we'll set the Salesforce task's status field to your first task status that is defined as a closed status. If it is not completed, then your default task status will be used.

Q: What happens when a task that was pushed to Salesforce is deleted in Vitally?

A: If the task was first created in Vitally (i.e. it is not a 'clone' of a Salesforce-owned task), then Vitally will delete the task in Salesforce. If the task was first created in Salesforce and the Vitally 'clone' is deleted in Vitally, it is not deleted in Salesforce.

Q: What happens when a task pushed to Salesforce is deleted in Salesforce?

A: Nothing - the task in Vitally will remain.

Q: Task Status is not syncing

A: Salesforce task statuses do not map to our native task statuses. Make sure to update the task status name in Vitally settings -> task -> task statuses to match Salesforce status names. For example, Vitally's default is 'not started', but in Salesforce, it is 'open.' Once you update the status name in Vitally to 'open' they will start to sync correctly!

Importing Salesforce Tasks -> Vitally


​Q: Once I enable the import from Salesforce, are past tasks already in Salesforce created in Vitally?

A: By default, we import Salesforce tasks created or updated in the last 12 months. If you'd like to have more historical Salesforce tasks imported into Vitally, please contact our support team.

Q: Is there a delay when creating/updating a Salesforce task before the change is pushed to Vitally?

A: Yes - there is a maximum of a 1 hour delay.

Q: What types of Salesforce tasks are supported?

A: Only Salesforce tasks with a subtype of Task or Call are imported into Vitally. Email tasks are not currently synced.

Q: How are owners set on the Vitally task?

A: Vitally will attempt to set the task assignee to a Vitally user with the same email as the user that owns the task in Salesforce. If a user is not found with a matching email, Vitally will auto-create a new Vitally user and associate the task to the newly auto-created profile. Note that auto-created users do not count against teammate limits on your Vitally plan.

Q: What happens when a task that was imported from Salesforce is deleted in Vitally?

A: If a Salesforce-imported task is later deleted in Vitally, then Vitally will not delete the task in Salesforce. This way, you can selectively clean up tasks imported from Salesforce without affecting your Salesforce data.

Q: Task Status is not syncing to Vitally

A: SFDC status does not map to our native task statuses. Make sure to update the task status name in Vitally settings > task statuses to match SFDC status names. For example, Vitally's default is 'not started', but in Salesforce, it is 'open.' Once you update the status name in Vitally to 'open' they will start to sync!

Syncing Custom Objects from Salesforce

Sync any Salesforce object associated with your mapped Account and/or Organization object into Vitally. This includes standard objects like Opportunities and Cases, and also any custom objects you create in Salesforce.

On the initial sync, Vitally will import all Custom Objects created or updated in the last 12 months.

How-To

How-To Visuals

  1. Navigate to the Custom Objects tab while in the Salesforce integration configuration page. There, you'll see the ability to map any object into Vitally

  2. Once you select an object from Salesforce, you'll be able to configure these details:

    1. Account reference field - here you'll need to select the field on the object that references the Account the object belongs to. We'll try our best to suggest a field that references your mapped Account object. It is important that the field you select is only populated with the ID for an Account otherwise we will not be able to import your data

      1. If we are unable to find a direct field relationship with Account you may see a warning like this:

    2. Organization reference field - here you can select the field on the object that references the Organization the object belongs to

      1. If you configure an association to both Accounts and Organizations, and an object has an association to both, the association to the Account will be preferred

    3. Name field - choose the Salesforce field that serves as the main 'name' of the object. If you allow your users to create new objects in Vitally, we will sync those objects back to Salesforce in real-time

    4. Create permissions - choose who, if anyone, should be able to create new objects in Vitally

    5. Fields - select the fields on the object to import into Vitally, as well as whether the field can be edited in Vitally. We'll sync any edits back to Salesforce near real-time (can take up to an hour at times)

  3. Once you're happy with the set up; click the blue button labelled "Sync my Salesforce data with Vitally"

If you turn off the Salesforce Sync (e.g., you are moving to another platform and therefore no longer need to integrate with Salesforce), all properties with the exception of Custom Objects will remain in your Vitally account. Traits will become stale and we will archive Custom Objects.

Mapping Custom Object Traits to the Account

There may be instances where you want to map data from your Custom Objects to the Account level in Salesforce so you can utilize this in Vitally, such as Lifecycle Tracking, Notes, Docs etc.

As an example, if you track revenue at the Opportunity level you may want to sync the Opportunity "Amount" from the last closed Opportunity into Vitally as that Account's MRR. If you have a list of Custom Objects like this associated with an Account and want to use specific fields from one of those objects in Vitally at the Account level, you can do so by following these instructions. You will need admin access in Salesforce to configure this. Expand the below to follow a step-by-step:

Using Custom Object fields (e.g. Opportunity amount, close date, etc) at the Account level

  1. Create a Lookup Relationship field in Salesforce on your Account


    In Salesforce's Object Manager, find the Account object (or whichever object you've mapped to Vitally Accounts). Go to that object's Fields & Relationships and create a new field. For Data Type, select Lookup Relationship.


    Hit Next and relate the field to the Opportunity object (or whichever custom object has the field you're wanting to leverage in Vitally).


    Name your field something appropriate (e.g. Most Recent Opportunity) and work through the rest of the form to create your field.
    ​

  2. Create a Flow to update the Lookup Relationship field
    ​
    Now that you have a field on your Accounts ready to reference your most recent Opportunity, we now need to set that field. To do so automatically in Salesforce, you can use a Flow (or a Process if you aren't yet on Flows).
    ​
    First, create a new Record-Triggered Flow:


    Trigger the flow anytime an Opportunity (or whichever custom object has the field you're wanting to leverage in Vitally) is created or updated:


    Since in this example, we are only wanting to track the most recent Closed Won Opportunity, we can also add Entry Conditions to ensure this Flow only runs on Opportunities when the Stage is set to Closed Won. We'll also set the option to run the flow every time a record is updated and meets the condition requirements:


    For Optimize the Flow for, select Actions and Related Records. Then, hit Done.
    ​
    In the Flow, hit the + button to add a new element to the Flow.

    Scroll down in the options and select Update Records:


    ​

    Configure your Element to mimic the below. The below simply looks for the Salesforce Account that owns the Opportunity going through the Flow and updates the Most Recent Opportunity field created in Step 1 above.

  3. (Optional) - Trigger an update on all your Salesforce Opportunities
    ​
    With the above steps, moving forward, anytime an Opportunity is created or updated, the Flow will run and update the Most Recent Opportunity Account field. Now, you may want to set the field for all you current Accounts. To do that, given the above Flow configuration, you simply need to trigger an update on all Opportunities. There's a few ways to do this in Salesforce, which they detail here. Another option not listed in that article is to create another Flow to update all Opportunities. Whichever route you choose is up to you!
    ​

  4. Update your Salesforce configuration in Vitally to pull in fields from the Most Recent Opportunity object
    ​
    Now that you have a field on your Accounts in Salesforce that tracks the most recent Closed Won Opportunity, you can now pull fields from that Opportunity into Vitally and attach them to your Vitally Accounts!
    ​
    To do so, simply head over to your Salesforce Integration page in Vitally.
    ​
    Scroll down to the option where you map the Salesforce fields to be synced into Vitally. Select the newly-defined Most Recent Opportunity object in the left column and any fields you want to pull in from that object in the second column:


    That's it! You'll now see the newly-mapped Opportunity fields on your Vitally accounts πŸŽ‰
    ​

Syncing Key Roles from Salesforce

Vitally allows you to map traits from Salesforce to key roles, providing a seamless way to keep your contact information updated.

One thing to keep in mind is when you use a Vitally custom trait to map to a key role (instead of Salesforce traits), the sync between the custom trait and the key role is not bidirectional. This means:

  • Updating the key role in the Key Roles card will not update the value of the mapped custom trait.

    • For example, if you change the key role directly within Vitally, that change will not reflect back on the custom trait.

  • To ensure that the custom trait and the key role remain consistent, we recommend updating the mapped custom trait directly rather than making changes to the key role.

How-To

How-To Visuals

  1. Navigate to your Settings (βš™οΈ) by selecting your Account Logo on the top left and under Operations select Integrations to find Salesforce (or via Quick Jump Mac: ⌘ + j Windows: Alt + j)

  2. Click Add a trait to pick the email trait that holds the Key Role you'd like to pull into Vitally.

    1. This must be a reference trait to the email on the User object in Salesforce.

  3. In the left side Object column, choose the name of the reference object. This is usually is the name of your trait followed by __r (User). In the example screenshot, see the Reference trait Account_Executive__r (User)

  4. Set the relevant editing permissions If you select 'no one' to allow edits, that means Vitally can't make updates. Updates can only be done in Salesforce

  5. Select the Update Salesforce Configuration button.

  6. Then you'll want to navigate to Key Roles in your Settings (βš™οΈ)

  7. Hover over the Key Role to access the three-dot menu to edit or create a new Key Role.

  8. Select the Salesforce reference email trait you synced in above.

  9. Then select the sync mode

    1. Salesforce to Vitally Only

    2. Bi-directional

    3. Vitally to Salesforce Only

  10. Select Save

If you don't set a sync mode to your key role, Vitally will default to a one way sync from SFDC to Vitally only.

Salesforce: Errors

To ensure your data is syncing correctly, you'll see an error when there is an issue with your integration or a specific account. Remedying these errors are important to ensure your data consistently synca to and from Vitally.

We will display the errors that Salesforce sends Vitally and display those exactly as they're being sent.

Common Errors

  • Salesforce Error Code: INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST. When you enter a value into a field in Vitally that is subsequently mapped to a field in Salesforce, this situation arises if the latter cannot accept the provided value.

  • Salesforce Error Code: INVALID_FIELD. This situation occurs when we send a query to Salesforce in an attempt to retrieve data from a Salesforce field that no longer exists (e.g. Salesforce field gets deleted after being mapped in our integration).

Checking the integrations card is one of the best ways to get insight into errors. You can hover over each of the established links to see vital information about the last update between Salesforce and Vitally. For example, an error can look like "Push was unsuccessful as Salesforce returned an error: 'Received unknown push error from Salesforce':

Reconnect Salesforce Integration

If you need to change the user who authenticated the Vitally <> Salesforce integration, you can easily do so without affecting your current configuration settings. Mapped fields, import filters, and other integration specifics will be retained! Remember, the Salesforce user you connect with has to have the following enabled within their Permission Sets:

  • Read, Create, and Edit Object Permissions enabled for the Salesforce objects you wish to connect

  • Read, Create, and Edit Object Permissions enabled for the Push Topic object, which is used by Vitally to subscribe to Salesforce changes in near real time

  • View Setup and Configuration System Permission enabled

How-To

How-To Visual

  1. Navigate to your Settings (βš™οΈ) by selecting your Account Logo on the top left and under Operations select Integrations to find Salesforce (or via Quick Jump Mac: ⌘ + j Windows: Alt + j)

  2. Select the Reconnect button

  3. Follow to steps to grant access in Salesforce

Salesforce FAQ

Q: If I delete data in Salesforce, will it also delete in Vitally?

A: We now will auto-clean up Vitally records based on data deletions in Salesforce. That is, if an object in Salesforce is deleted, it triggers some cleanup of the linked record in Vitally. What that cleanup is depends on the Vitally record:

  • For Accounts, Organizations, and Users - the link to the Salesforce record is removed, and any Salesforce traits are wiped out. However, the record will remain in Vitally and will not be auto-archived since Vitally can have a lot of data underneath these records (like notes, projects, etc). If you want these records to be auto-removed in Vitally when the linked Salesforce record is deleted in Salesforce, you can use track rules to ignore them.

  • For Custom Objects - the linked Vitally record is archived in Vitally and will no longer display in views or search results

Q: If I delete data in Vitally, will it also be deleted in Salesforce?

A: Only some data is deleted in Salesforce depending on the record:

  • For Notes and Tasks - if they originated in Vitally, they will be deleted from Salesforce.

  • For Custom Objects - if they originated in Salesforce, the record won't be deleted from Salesforce. However, it will be permanently deleted from Vitally and will not re-sync, even if the record remains in Salesforce.

Q: Is it possible to sync Conversations from Vitally to Salesforce and vice versa?

A: No, that is not part of our native integration. The best suggestion to get conversations from Vitally into Salesforce would be to have team members add their 'bcc to salesforce' email address within their personal email settings to track messages sent from Vitally to Salesforce.

Q: How can I use traits from a custom object in Vitally features like Lifecycle Tracking, Notes, Docs etc?

A: To view traits from a custom object such as Opportunities in Salesforce at the Account level, you will need to create a lookup relationship mapping and a workflow to trigger this as per the instructions here.

Q: Why are the key roles not mapping from Salesforce to Vitally?

A: This feature will only work if you use a reference to an email field on a user record in Salesforce. For us to make the match, your key role holder must have a user record in Salesforce and a seat in Vitally (it can be an Observer seat).

Q: Should I use a Fallback ID?

A: This is optional but useful if there is a delay in the "External ID" being set on your Accounts. For example, say you sign a new contract with a customer but don't provision their product instance for a few weeks. If your "External ID" is the primary ID of the Account in your database, you won't have that ID until their instance is provisioned, meaning they won't show in Vitally until that occurs. To resolve this, you can specify a 'fallback ID' here (for example, Salesforce's record ID). The Vitally platform will then create Accounts using this fallback ID if the primary external ID is not set. Once the primary external ID is set on the Account, Vitally will automatically switch the ID over to the primary and merge any duplicate Accounts created from other systems.

Q: Where can I see all Salesforce tasks?

A: Many Salesforce tasks aren't actual tasks that should be done at some future date. Given that, since many Salesforce tasks are 'completed' by default, you may wonder where they show in Vitally. Whenever viewing a task list in Vitally, be sure to turn on completed tasks if you'd like to view your Salesforce-completed call tasks.

Q: Why is my calculated Salesforce field not syncing into Vitally when it updates?

A: This is a Salesforce limitation. calculated and calculatedFormula properties in Salesforce don't modify the record and, therefore, the timestamp. This is what triggers us to update the data in Vitally when we scan for updates. When there is another update to the record, at that point we'll update that data point and the calculated field.

Q: Can I change the user who authenticated the Salesforce integration?

A: Yes! Follow the steps outlined above in Reconnect Integration

Q: Why don't I see all of my fields in the field dropdown when configuring Salesforce?

A: It is likely that the fields are not accessible by the authenticated Salesforce profile. To resolve this, please navigate to the object & field within Salesforce Object Manager, click View Field Accessibility, and ensure the profile has read-only or edit permissions, depending on what you need.

Q: Can Users created manually in Vitally be created in Salesforce?

A: Yes, there is now an option within the Salesforce Integration page for Users that allows you to set the option to Yes - any users manually created in Vitally should create new Contact records in Salesforce, which will then allow any Users manually created in Vitally to be created in Salesforce. We will automatically check for Salesforce Contacts based on the email you provide in Vitally to prevent duplicate profiles from being created in Salesforce.

Q: What happens when I turn off the Salesforce integration?

A: Trait data becomes stale in Vitally, but traits will not be deleted. They will still appear in Table Views, Account 360s, etc. Custom Objects are archived, but not permanently deleted! They will not appear in Table Views or Account 360s. If you decide to re-enable the Salesforce integration in the future and sync the same Custom Objects, all the records will reappear in Vitally.

Q: Why can't I update the values of a multi select in Vitally?
A: If you edit a Salesforce trait you'll see an error that says "This trait's options are managed by the Salesforce integration. Removing or adding options from Vitally is not supported." Enumerated Salesforce multi select fields and reference fields are all managed by their respective integration (Salesforce) so you'll need to make edits to the values in Salesforce.

Did this answer your question?