ChurnZero supports a very robust integration with Salesforce. Read below for details on requirements for the integration, the objects included, and the types of syncing that are supported.
Integration Requirements
In order to connect your Salesforce instance to your ChurnZero instance, the following is required:
-
AccountExternalID must be in Salesforce. In order for ChurnZero to map together data from Salesforce with data from other sources - such as usage data from your product - you need an ID that identifies an account that is available in both your product AND in Salesforce. We call this the AccountExternalID. This ID can be whatever you would like (typically it's numeric or alphanumeric), though we do NOT recommend using the customer's name (as names are not unique in Salesforce). Additionally, if you chose to use the Account Salesforce ID as your AccountExternalID, you MUST use the 18-digit version, not the 15-digit version (AccountExternalIDs are NOT case sensitive and the 15-digit SFDC ID is only unique across all accounts if it is treated as case sensitive).
-
ContactExternalID must be in Salesforce. In order for ChurnZero to map together data from Salesforce with data from other sources - such as usage data from your product - you need an ID that identifies a contact that is available in both your product AND in Salesforce. We call this the ContactExternalID. This ID can be whatever you would like but 99% of the time it's Email Address. Please note that it is NOT required that all your users are contacts in Salesforce; ChurnZero will match as we are able.
-
Complete the Salesforce Questionnaire from your Implementation Worksheet. You must have fully completed the Questionnaire and reviewed it with your Implementation Specialist and/or CSM. We will not begin work on your sync configuration until this worksheet is confirmed and all the necessary fields are available (and decently populated!) in Salesforce.
-
Authorize your Salesforce instance within ChurnZero. To authorize, log into your ChurnZero Production account, go to Admin > Salesforce Setup and follow the instructions. Whatever user account is used for authorization must have the permissions necessary to read, update, and/or create against the entities you want ChurnZero to leverage. Confirm the authorization with your Implementation Specialist and/or CSM when you are done.
Integration Capabilities
The following objects are supported by our Salesforce integration. Please read each section carefully; behavior varies between object types.
Salesforce CRM Object
|
ChurnZero Sync Capabilities
|
Accounts |
Accounts become Accounts in ChurnZero. Accounts are a core object in ChurnZero. At the Account level you can create Segments, trigger Alerts, run Plays, send NPS Campaigns, manage Journeys, and calculate ChurnScores.
-
ChurnZero Core Account Fields
- Can be populated by Salesforce, either by:
- Fields on the Account.
- Example: Map the SFDC Account field Renewal_Date__c to Next Renewal Date in ChurnZero.
- Custom definitions based on objects associated directly with the Account.
- Example: Find all Opportunities where Contract Start Date is in the past and Contract End Date is today or in the future. From these Opps, map the Contract End Date that is the furthest out to Next Renewal Date in ChurnZero.
- Can be bidirectionally synced between Salesforce and ChurnZero. Note that this is only possible if there is a 1:1 relationship between a field in SFDC and a field in ChurnZero.
- In other words, if Next Renewal Date in ChurnZero is based on an Account field called Renewal_Date__c, then this field COULD be bi-bidirectionally synced. But if Next Renewal Date in ChurnZero is based on Opps, bi-directional syncing would not be possible.
- Edibility is set on a field-by-field basis and is OFF by default.
- If a core field is set to Editable, specific settings must be manually changed by the ChurnZero team to allow bidirectional syncing of these fields. Please work with your Implementation Specialist or CSM.
-
Custom Account Fields
- Can be bidirectionally sync between Salesforce and ChurnZero.
- Edibility is set on a field-by-field basis and is OFF by default.
- If a custom field is set to Editable, the sync will automatically adjust; no setting changes are required.
-
Parent/Child Accounts
- Salesforce supports Parent/Child relationships and these relationships can be reflected in ChurnZero.
-
ChurnZero Account Data in Salesforce
- Outside of the core and custom fields described above, ChurnZero can push account attributes into Salesforce upon request (this is not default behavior).
- The most common attributes that are pushed for accounts include "Primary ChurnScore" and URL to ChurnZero Account Profile".
- ChurnZero will NOT push usage data into Salesforce.
- If you want attribute(s) pushed into Salesforce, you must first create an account field(s) where ChurnZero can place the data. Please consult for Implementation Specialist and/or CSM to make sure you are creating the correct type of field. Once the field(s) are created, the ChurnZero team will finish the configuration.
- Additionally, a great way to share ChurnZero data in Salesforce is via the ChurnZero Salesforce Dashboard. To make this available, follow the instructions for Creating a Connected App.
|
Contacts |
Contacts become Contacts in ChurnZero. Contacts are a core object in ChurnZero. At the Contact level you can create Segments, trigger Alerts, run Plays, and send NPS Campaigns. Note that ChurnZero will sync ALL contacts associated with Accounts that meet the sync filters. We do not recommend filtering the contacts that sync to ChurnZero for a variety of reasons.
-
ChurnZero Core Contact Fields
- Can be populated by Salesforce.
- Can be bidirectionally synced between Saleforce and ChurnZero.
- Edibility is set on a field-by-field basis and is OFF by default.
- If a core field is set to Editable, specific settings must be manually changed by the ChurnZero team to allow bidirectional syncing of these fields. Please work with your Implementation Specialist or CSM.
-
Custom Contact Fields
- Can be bidirectionally sync between Salesforce and ChurnZero.
- Edibility is set on a field-by-field basis and is OFF by default.
- If a custom field is set to Editable, the sync will automatically adjust; no setting changes are required.
-
ChurnZero Contact Data in Salesforce
- Outside of the core and custom fields described above, ChurnZero can push contact attributes into Salesforce upon request (this is not default behavior).
- The most common attributes that are pushed for contacts include "Most Recent NPS Date", "Most Recent NPS Rating" and "Most Recent NPS Comments".
- ChurnZero will NOT push usage data into Salesforce.
- If you want attribute(s) pushed into Salesforce, you must first create an contact field(s) where ChurnZero can place the data. Please consult for Implementation Specialist and/or CSM to make sure you are creating the correct type of field. Once the field(s) are created, the ChurnZero team will finish the configuration on our side.
|
Task/Activities |
Activities where Record Type = Task become Tasks/Activities in ChurnZero; this is the only type of Salesforce Activity that will sync with ChurnZero. In addition, only Tasks/Activities at the Account and Contact level will sync with ChurnZero; Tasks associated with other objects (like Opportunities) are not synced.
-
Activity Type = Task
- Bidirectionally synced between Salesforce and ChurnZero.
- This is the default functionality. If bidirectional syncing is not desired, specific settings must be manually changed by the ChurnZero team. Please work with your Implementation Specialist or CSM.
- If a filter is set for Task syncing, it only prevents tasks from coming into ChurnZero from Salesforce. The filter will not exclude tasks from syncing to Salesforce, so all tasks created in ChurnZero should inherently satisfy the filter criteria.
-
Activity Type = Any other (Email, Events, etc.)
- These activity types do not sync natively with ChurnZero in the same way Tasks/Activities do. However, you can sync these activity types to Custom Tables.
-
Activity Type = Meeting
- This activity type cannot be synced between ChurnZero and Salesforce.
-
Special Notes on Emails
- If you have a tool/system that automatically logs your emails as Salesforce Task Activities, those WILL sync into ChurnZero.
- If emails are logged as another Activity type, they will not sync to ChurnZero.
- If you want messages (emails and in-app announcements) sent by ChurnZero to be in Salesforce, this can be set up. It is not default behavior.
- ChurnZero will not sync our messages to the Activities table because too much information is lost trying to map our message data into the defined fields of a Task/Activity.
- Instead, we will have you build a Custom Table to house ChurnZero messages. We will provide the fields that should be created so that all message meta data can be captured.
- We will only sync messages triggered by ChurnZero into this Custom Table. Messages from Gmail or Outlook will NOT be synced.
- Messages can only sync if they are sent from a ChurnZero User Account which is also synced to Salesforce
|
Custom Objects
|
ChurnZero can sync any objects that are directly related to Accounts and/or Contacts (i.e. there is a lookup to the Account and/or Contact as a field on the table); we generically refer to these as Custom Objects. Common examples include Opportunities and Cases. Custom Tables are secondary objects in ChurnZero. They can be used in Segments and they can trigger Alerts, but Plays, Journeys, NPS Campaigns, and ChurnScores cannot run against a Custom Object.
- Only records associated with Accounts that meet the sync filters will be brought into ChurnZero.
- Can sync any and all fields from Custom Objects.
- Can edit Custom Object fields within ChurnZero (i.e. you could edit an Opp from within ChurnZero). *
- Can create new records in ChurnZero and have those push back to Salesforce.* This is not default behavior, please contact your ChurnZero CSM to have this feature turned on.
- If an edit/create is made that breaks any validation rules you have setup within Salesforce, we will instantly return a validation error. ChurnZero has no control over the message that is returned as that is configured within Salesforce. We highly recommend that any edit and record creation for custom objects are done in Salesforce, not ChurnZero.**
Note: We do not integrate with External Objects.
|
User Accounts
|
User Accounts become User Accounts in ChurnZero.
- ChurnZero users will be automatically created from your existing Salesforce users.
- ChurnZero automatically syncs all Salesforce users so that references to those users - say on an Account or in a Task - are not broken.
- Please note that ChurnZero customers are only charged for users that access ChurnZero, NOT for all users that are created in ChurnZero.
- If you want to filter the users that sync to ChurnZero (even though this could break references), you'll need to provide a user field that ChurnZero can reference to filter users.
- Example: Only sync users if "Sync to ChurnZero" is set to YES.
- When no filters are implemented, the default filter of "UserType = 'Standard'" is applied to users syncing from Salesforce.
- Reporting hierarchies between users (i.e. managers and team members) are based on Salesforce Role Hierarchies by default.
- Reporting hierarchies can also be based on the standard "Manager" user field. Please work with your Implementation Specialist or CSM if this is the set-up you need.
- User data is pulled from Salesforce into ChurnZero. User data is not Editable in ChurnZero; updates must be made in Salesforce.
- ChurnZero supports logging into ChurnZero using SFDC credentials. Simply select the "Log in with Salesforce" option on the right-hand side of the Login Page.
- All individuals that have a user account in ChurnZero technically can access ChurnZero. If you want to purposefully block users from accessing ChurnZero, you'll need to provide a user field that ChurnZero can reference to filter the users who can log in.
- Example: Only allow users to log in if "Access to ChurnZero" is set to YES.
- ChurnZero supports using either a User Lookup Field or the Salesforce Account Team Member object for determining Account Ownership in ChurnZero
|
Sync Behavior
The ChurnZero <> Salesforce integration supports two types of syncing to ensure timely transfer of data between the two systems.
Whenever possible, ChurnZero uses the Salesforce Bulk API to minimize our impact on your API limits. When it's not possible to use the Bulk API - some entities are not supported via the Bulk API - we use the Salesforce REST API. It is not possible to predict exactly how many calls ChurnZero will use during syncing, as this depends on the number of entities we need to sync + the amount of data that needs to be updated. But compared to other tools that leverage the Salesforce APIs, our customers report that ChurnZero's impact is very small.
Sync Type |
ChurnZero Behavior
|
Routine Syncing
|
Default: Every 15 minutes
- Picks up records that Salesforce has flagged as changed since the most recent routine sync.
- Records (i.e. Accounts, Contacts, etc.) that newly meet the sync filters will be brought into ChurnZero as part of routine syncs.
- When new fields are added to your sync, these fields will be populated by the next routine sync.
- Ex: If a new Account field is added to your sync, on the next routine sync ChurnZero will do a full sync of just the Accounts object so that all Accounts are updated with this new field.
- When new fields are added, it could take a few hours to get all data into ChurnZero (depending on how much data there is to move).
- Note: Changes to SFDC formula/calculated field do not update the last modified date of a record
|
Full Syncing
|
Default: Weekly
- Full syncs will occur over the weekend unless a full sync is forced. Forced syncs will run within twenty minutes.
- Updates all records for all objects included in the sync. Done to ensure that records that may have not been flagged as changed are updated.
- All records (Accounts, Contacts, Tasks, etc.) that no longer meet the sync filters are only removed from ChurnZero during a full sync (i.e. routine syncs will not remove these records).
|
*ChurnZero needs to make API calls to Salesforce In order to properly validate required information from any edits or record creation for custom objects. This means we must utilize their Rest API, instead of relying on their Bulk API. This could cause an increased amount of API calls made to Salesforce. You can view the statistics on your API calls on the Salesforce Setup page under Admin. Please talk to your Salesforce Administrator if you have any concerns.
** Please work with your Salesforce Administrator to identify if you have required fields and field dependencies. You will need to ensure all required fields are configured to sync to ChurnZero an be editable in order to prevent situations of receiving a validation error, and not being able to correct it.
Comments
0 comments
Article is closed for comments.