Comment on page
Sync your Salesforce accounts, contacts, notes, tasks, and custom objects to Vitally in real time with our Salesforce integration
Vitally's Salesforce integration can sync the following data between Salesforce and Vitally:
- 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 we do the initial/historical sync we sync all custom objects that were created/ updated in the past 12 months.
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:
- You haven't exhausted your API credits for the day
Contact our support team if you are looking to connect a Salesforce sandbox to Vitally
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.
Vitally's Salesforce integration can be used to achieve a bi-directional sync of notes 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.
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.
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 7 days. 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 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.
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 for some reason is a thing 🙄)
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
statusfield to your first task status that is defined as a
closedstatus. If it is not completed, then your default task
statuswill 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: 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 7 days. 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
Callare 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.
Alongside Notes and Tasks, you can also sync any object associated with your mapped Account 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. Another important aspect to note is Vitally can sync up to 25 records of a particular custom object for an individual Vitally Account.
Learn how to configure a Custom Object Layout and how to use Custom Objects in Vitally by navigating to our Custom Objects article below:
There may be instances where you may want to map data from your Custom Objects to the Account level in Salesforce so that you can utilize this in Vitally features 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 to 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. Note to follow these, you will need admin access in Salesforce. Expand the below to follow a step-by-step:
Step 1 - Create a Lookup Relationship field in Salesforce on your Account
In Salesforce's Object Manager, find the Account object (or whatever object you've mapped into Vitally). 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.
Step 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.
Step 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 very well 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!
Step 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 first select and any fields you want to pull in from that opportunity in the second select. That's it! You'll now see the newly-mapped Opportunity fields on your Vitally accounts.
We support a bidirectional sync for Key Roles. You will simple need to sync the trait with your CSM and then finish configuring that under Key Roles.
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.
To ensure that your data is syncing correctly, you can see when there is an error with your integration or with a specific account. This helps self-serve troubleshooting to correct that so your data is consistently syncing to and from Vitally.
We will display the errors that Salesforce sends Vitally and display those exactly as they're being sent.
Examples of 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':
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 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
Related to this as well, we will delete Salesforce integration data is if the user deletes Notes & Tasks that originated in Vitally - we’ll also delete them 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 they key roles not mapping from Salesforce to Vitally? A: If you have selected a non-email trait in our key roles mapping feature then for example the CSM/AE who is associated in Salesforce will not appear in Vitally against the relevant key role field. You will also need to ensure the team member who you are matching to exists in Vitally and has a seat for us to make a match.
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 of 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.