Inside the VanillaSoft Unite app, you will see two tabs: one for Salesforce to VanillaSoft integrations created inside the app, and one for VanillaSoft to Salesforce integrations created inside VanillaSoft.
To create a new integration from within the Unite application, navigate to the VanillaSoft to Salesforce tab and click the "Add New VanillaSoft Integration" button.
Note: Creating integrations within the VanillaSoft Unite app will only be possible if the necessary app permissions have been granted in the project you're integrating with. To find out more on this, check out our Enter Salesforce Credentials and Define App Options article.
Configuration
First you need to ensure that you have active and valid Salesforce credentials entered. Once you have that confirmed, click the "New Integration" button to get started.
Next you'll be on the integration setup page. The first section is where you set up your overall configuration:
Name: This is the name of your integration. A unique name is automatically generated on creation, but this can be replaced with a more memorable name. This is only visible to the admins setting up the integration.
Active: This box determines whether or not the integration is active. Until the integration is ready to go live, this box should remain unchecked.
Action: This tells the integration what action path it should follow when it sends data to Salesforce. All posts will attempt to update, but what occurs when we cannot find a matching record to update is determined by this. The possible actions available are:
- Update Only (Lead or Contact): This will attempt to match by either Salesforce ID or a secondary key to a Lead or Contact object. If a match is found, all mapped fields and objects are updated accordingly. If no match is found, it will fail.
- Update, and create LEAD if no match found: This will attempt to match by either Salesforce ID or a secondary key to a Lead or Contact object. If a match is found, all mapped fields and objects are updated accordingly. If no match is found, it will create a new Lead object according to your mapping defined.
- Update, and create CONTACT if no match found: This will attempt to match by either Salesforce ID or a secondary key to a Lead or Contact object. If a match is found, all mapped fields and objects are updated accordingly. If no match is found, it will create a new Contact object according to your mapping. If defined, it will also attempt to match/associate with an Account, as well as update/create an Opportunity.
- Update and CONVERT LEAD if LEAD match found, and create CONTACT if no match found: This will attempt to match by either Salesforce ID or a secondary key to a Lead or Contact object. If no match is found, it will create a new Contact object according to your mapping. If a Lead object is found to be a match, it will convert the Lead to a Contact and update its fields according to the Contact mapping. If defined in either case, it will also attempt to match/associate with an Account, as well as update/create an Opportunity.
- Note on conversions: When a Lead is converted to a Contact, VanillaSoft will attempt to find the correct account as defined by your secondary key for Account objects. If no match is found, it will create a new Account using the mappings defined.
More details on Actions can be found in our Detailed Action Breakdown for VanillaSoft to Salesforce article.
Associate with Campaign: This is an optional setting that will associate updated objects with the designated Campaign within Salesforce.
Email on Error: This is a mandatory field where you can list one (or more) email addresses that should be notified if an error should occur when transmitting data from VanillaSoft to Salesforce.
Salesforce Object Owner: This is an optional setting that will associate newly created objects with the user defined. If no user is defined, it will default to the credentials being used for the integration itself.
Result Code Triggers
Data is only sent to Salesforce when a triggering Result Code is used from the Caller-side interface of VanillaSoft. Use this section to determine white Result Code(s) should trigger an update to Salesforce for this integration.
Once you click "Select Triggers", you will be able to select from all active Result Codes in your project.
Note: A Result Code can only be used once for an integration within a project. So while you can have multiple integrations active simultaneously, one Result Code cannot trigger multiple integrations at once.
Salesforce Lead Mapping
This section allows you to define what Lead field(s) VanillaSoft will send data to, and to create mappings so the information is stored correctly. You can customize your field mapping by clicking the "Edit Mapping" button. Several default mappings exist for fields that are standard between Salesforce and VanillaSoft, though these mappings may be removed or changed as needed.
VanillaSoft Field: This is the source field from VanillaSoft. Whatever data is contained within the selected field is what will post into Salesforce.
Salesforce Field: This is the destination field in Salesforce. Data from the corresponding VanillaSoft field will be sent here. It should be noted that if a field is blank in VanillaSoft, it will also be made blank in Salesforce, even if data was present before - except when using Default Value (see below). Last Name, Company, and Status are required fields for new Leads in Salesforce.
Default Value: If the data in VanillaSoft is blank (empty), or if you've selected the "No Field - Uses Default Value" mapping option, the Default Value will be passed to Salesforce instead.
Update Key: The Salesforce ID field in VanillaSoft is used as the default update key for Leads. When VanillaSoft creates or receives a Lead from Salesforce, we capture its unique Salesforce ID and use it for future updates.
2nd Key: The 2nd Key lets you specify one or more fields to be used as a backup/alternative update key. This will be used in cases where VanillaSoft does not know the Salesforce ID. You can select as many fields as you wish, and VanillaSoft will only perform the update if we can find a single Lead that is an exact match to all fields selected.
Salesforce Contact Mapping
This section allows you to define what Contact field(s) VanillaSoft will send data to, and to create mappings so the information is stored correctly. You can customize your field mapping by clicking the "Edit Mapping" button. Several default mappings exist for fields that are standard between Salesforce and VanillaSoft, though these mappings may be removed or changed as needed.
VanillaSoft Field: This is the source field from VanillaSoft. Whatever data is contained within the selected field is what will post into Salesforce.
Salesforce Field: This is the destination field in Salesforce. Data from the corresponding VanillaSoft field will be sent here. It should be noted that if a field is blank in VanillaSoft, it will also be made blank in Salesforce, even if data was present before - except when using Default Value (see below). Last Name is a required field for new Contacts in Salesforce.
Default Value: If the data in VanillaSoft is blank (empty), or if you've selected the "No Field - Uses Default Value" mapping option, the Default Value will be passed to Salesforce instead.
Update Key: The Salesforce ID field in VanillaSoft is used as the default update key for Contacts. When VanillaSoft creates or receives a Contact from Salesforce, we capture its unique Salesforce ID and use it for future updates.
2nd Key: The 2nd Key lets you specify one or more fields to be used as a backup/alternative update key. This will be used in cases where VanillaSoft does not know the Salesforce ID. You can select as many fields as you wish, and VanillaSoft will only perform the update if we can find a single Contact that is an exact match to all fields selected.
Salesforce Account Mapping
Account mapping lets you define which fields should be written to an Account object. Since VanillaSoft's records contain all data in a single entity instead of separating Contacts and Accounts, information contained on the VanillaSoft contact will be what it written to both the Contact and Account in Salesforce. We find the Contact's associated Account through its relationship within Salesforce. If a Contact doesn't already have an Account, we try to find it by matching based on the 2nd Key.
Default Holding Account: This allows you to specify a default Account for new or converted Contacts to be placed into, in the event that we can't find a match through the Contact record or the 2nd Key. Clicking 'Select...' will let you search through your accounts and select which to use as the default. If none are specified, Contacts may end up stranded without an Account associated.
VanillaSoft Field: This is the source field from VanillaSoft. Whatever data is contained within the selected field is what will post into Salesforce. Note that you may map fields to an Account that are already mapped to a Contact.
Salesforce Field: This is the destination field in Salesforce. Data from the corresponding VanillaSoft field will be sent here. It should be noted that if a field is blank in VanillaSoft, it will also be made blank in Salesforce, even if data was present before - except when using Default Value (see below).
Default Value: If the data in VanillaSoft is blank (empty), or if you've selected the "No Field - Uses Default Value" mapping option, the Default Value will be passed to Salesforce instead.
Update Key: VanillaSoft uses the associated Contact record to locate/learn the correct Account to update. All updates are made through this relational lookup.
2nd Key: The 2nd Key lets you specify one or more fields to be used as a backup/alternative update key if the Contact doesn't already have an Account associated with it. You can select as many fields as you wish, and VanillaSoft will only perform the update if we can find a single Account that is an exact match to all fields selected. If no Account is found, it will use the Default Holding Account; if none is defined, the Account update will fail.
Note on Contact conversions: When a Lead is converted to a Contact, if VanillaSoft cannot find an Account and there is no Default Holding Account, a new Account will be created using the field mappings defined. This is native Salesforce behavior when a Lead is converted.
Salesforce Opportunity Mapping
Opportunities can be created and updated through this optional integration. When an Opportunity is created, VanillaSoft stores the Opportunity Salesforce ID with the Contact for future updates. Only a single Opportunity can be associated with a Contact at a time.
VanillaSoft Field: This is the source field from VanillaSoft. Whatever data is contained within the selected field is what will post into Salesforce.
Salesforce Field: This is the destination field in Salesforce. Data from the corresponding VanillaSoft field will be sent here. It should be noted that if a field is blank in VanillaSoft, it will also be made blank in Salesforce, even if data was present before - except when using Default Value (see below). Close Date, Name, and Stage are required fields for new Opportunities.
Default Value: If the data in VanillaSoft is blank (empty), or if you've selected the "No Field - Uses Default Value" mapping option, the Default Value will be passed to Salesforce instead.
Update Key: The Salesforce ID field in VanillaSoft is used as the default update key for Opportunities. When VanillaSoft creates an Opportunity in Salesforce, we capture its unique Salesforce ID and use it for future updates.
2nd Key: The 2nd Key lets you specify one or more fields to be used as a backup/alternative update key. This will be used in cases where VanillaSoft does not know the Salesforce ID. You can select as many fields as you wish, and VanillaSoft will only perform the update if we can find a single Opportunity associated with the Contact that is an exact match to all fields selected.
Activities (Tasks/Events)
VanillaSoft is able to both create open Tasks and Events in Salesforce, as well as pass Call History data to Salesforce as logged Activities.
Create Salesforce Task/Event for "Call-Backs": This will create an open Task or Event whenever a Result Trigger is used with the "Schedule a Callback" action. The Task or Event will be set for the day and time of the callback.
Create Salesforce Task/Event for "Appointments": This will create an open Task or Event whenever a Result Code trigger is used with the "Schedule an Appointment" action. The Task or Event will be set for the day and time of the appointment.
Enable Call History Export to Salesforce Activity History: Enabling this option allows for VanillaSoft's Call History to be sent to Salesforce as Activities. All historical entries are represented as closed Tasks. By default, it will create an Activity entry only for the corresponding Result Code trigger.
Send entire Call History on each trigger: With this option enabled, VanillaSoft will send the entire Call History log for the record when the update is triggered. This includes non-triggering result code history.
Salesforce Task Mapping
Task Mapping defines what information is passed for all Call History entries. It also controls mapping for callbacks and appointments that trigger open Tasks to be created.
VanillaSoft Field: This is the source field from VanillaSoft. Whatever data is contained within the selected field is what will post into Salesforce.
Salesforce Field: This is the destination field in Salesforce. Data from the corresponding VanillaSoft field will be sent here.
Default Value: If the data in VanillaSoft is blank (empty), or if you've selected the "No Field - Uses Default Value" mapping option, the Default Value will be passed to Salesforce instead.
Update Key: The corresponding Lead or Contact object will always be what is updated. It leverages the record's Salesforce ID to match.
Salesforce Event Mapping
Event Mapping defines what information is passed if you opted to create Events for "Appointment" or "Call-Back" Result Actions.
VanillaSoft Field: This is the source field from VanillaSoft. Whatever data is contained within the selected field is what will post into Salesforce.
Salesforce Field: This is the destination field in Salesforce. Data from the corresponding VanillaSoft field will be sent here.
Default Value: If the data in VanillaSoft is blank (empty), or if you've selected the "No Field - Uses Default Value" mapping option, the Default Value will be passed to Salesforce instead.
Update Key: The corresponding Lead or Contact object will always be what is updated. It leverages the record's Salesforce ID to match.