Freshsuccess supports a variety of third-party system integrations to provide a 360-degree view of your customers. In this article, we explore how accounts are synchronized between third-party systems.



Our complete list of supported integrations can be found here.


Requests for new integrations can be sent to support@freshsuccess.com.



MUST READ: Choosing an effective account_id


All objects synchronized with Freshsuccess requires an account_id, so they can be successfully tied to an account upon insertion.


Create programmatically


Avoid manually created account_ids at all costs because they invariably lead to mismatches. An account_id must be an exact (case sensitive) match across multiple systems. Whenever possible, create account_id through a consistent, automated, programmatic approach.


Numbers are better


If manual entry is your only option, account_id containing only numbers and no spaces are best because they are not case sensitive.


Store it as text


Freshsuccess processes all account_id as String/Text.


It is important to store all account_id as either String/Text (preferred) or Integer/Long (acceptable).


Problems can arise if account_ids are stored as Decimals/Float (e.g. “12345.0” will not match “12345”).


Is it accessible in your product?

  • Product usage events and metadata must contain user_ids, and optionally account_ids.

  • If account_ids are not present in product usage events, a mapping table must exist in FDCS containing the association between user_ids and account_ids.

  • Using an account_id that is already present in your product will help reduce engineering effort.


Propagate new account_ids automatically

  • New account_ids will need to be propagated across all of your systems.

  • Ensure that new account creation can be fully automated across all systems, as it will help reduce operational costs, and also make new accounts appear in Freshsuccess without delay.



MUST READ: Choosing the Accounts System of Record


For any object other than an account to be successfully inserted into Freshsuccess, the supplied account_id must exist in FDCS, otherwise, that object is rejected.


The first step for data integration consists of "loading" your accounts into Freshsuccess.


To automate the loading of accounts into Freshsuccess, we ask that one system become your “System of Record” (SOR) which contains the complete list of your accounts.  Automating this step via an FDCS integration is important so that new accounts are loaded without delay in the future.


Will it include all of your accounts?


Pick a SOR that includes all of your accounts and will stay up-to-date in the future.


Does it include mandatory fields?


Freshsuccess accounts require 3 fields:


  • account_id: as discussed in the previous section, the SOR must include the account_id you have chosen

  • Name: The SOR must include account names as you want them to appear in Freshsuccess. Think about how you reference your customers internally, you should be able to search for these same names within Freshsuccess.

  • Join Date: this is the date Freshsuccess uses to start looking for account activity and revenue.


Can it be filtered?


You will likely want to filter the accounts so that only revenue-generating and/or active accounts appear in Freshsuccess.


To do this, the SOR must include a way for FDCS to filter your accounts, usually by checking the value of a field. The SOR must either include this field, or a path must exist from the SOR to the system with the field.


For example, you could choose Salesforce as your SOR and only import Salesforce Accounts that also exist in Zuora. In this case, a mapping between Zuora and Salesforce account_id’s must exist in either system.



MUST READ: Where to store the account_id?


 

BEST CHOICE

ACCEPTABLE CHOICE

CRM

Salesforce

Custom field in Account Object


A custom field value, typically from your product.


Store it as Text.


Account.Id or Opportunity.Id


Choosing a native Salesforce ID as account_id mandates that the Salesforce ID is propagated to your other systems, or vice versa.


Freshsales

Id field in sales_accounts Object


Id is typically sent from your product.


Sales_Account_id field in Contact Object


This approach may lead to problems as multiple contacts could match the same company, it's best when only one object maps to an account.


Capsule

Custom field in Party/Organisation Object


Typically sent from your product.


Contacts.website.webaddress field in Organisation Object


This is a manually entered field.


CUSTOMER SUPPORT

Freshdesk

Custom field in Companies Object


Typically sent from your product.


Email field in Contacts Object


If all emails exist under Freshsuccess account users or contacts, it can potentially be used to map support tickets to an account.


Note that this is a manually entered field.


Zendesk

External_id field in Organizations Object


Typically sent from your product.


Email field in Users Object


If all emails exist under Freshsuccess account users or contacts, it can potentially be used to map support tickets to an account.


Note that this is a manually entered field.


JIRA

Custom field in Issues Object


Typically sent from your product


Store existing Id field in Jira Issues as account_support_id in Freshsuccess Accounts


If Jira Issues object has an Id referring to an account, you can add that Id within Freshsuccess Accounts as account_support_id and we can use that field to link support tickets to your accounts.


FINANCIAL

Recurly

Store and map Recurly Account.account_code into an external system.


Recurly support for custom fields is non-existent.


The best practice is to create your new accounts in your SOR then create Recurly accounts automatically, and store the Recurly account_code in your SOR.


Email field in Account Object


If all emails exist under Freshsuccess account users or contacts, it can potentially be used to map Recurly accounts to Freshsuccess accounts.


Note that this is a manually entered field.


Chargebee

Custom field/metadata in Customers Object


Typically sent from your product.


ID field in Customers Object


Choosing a native Chargebee ID as account_id mandates that this ID is propagated to your other systems.


Chargify

Reference field in Customers Object


Typically sent from your product.


Email field in Customers Object


If all emails exist under Freshsuccess account users or contacts, it can potentially be used to map Chargify accounts to Freshsuccess accounts.


Note that this is a manually entered field.


Stripe

Custom field/Meta Data in Customers Object


Typically sent from your product.


Email field in Customers Object


If all emails exist under Freshsuccess account users or contacts, it can potentially be used to map Stripe accounts to FDCS accounts.


Note that this is a manually entered field.


Xero

AccountNumber field in Contacts object


Populate it with your own product account ID.


Email field in Contacts Object


If all emails exist under Freshsuccess account users or contacts, it can potentially be used to map Xero accounts to FDCS accounts.


Note that this is a manually entered field.


INTERACTIONS

Intercom

Company_id field in Companies Object


Typically sent from your product.


Custom_attributes field in users Object


Typically sent from your product.


NPS

Delighted

 

Person.email field in SurveyResponse Object


If all emails exist under Freshsuccess account users or contacts, it can potentially be used to map Delighted contacts to FDCS accounts.


Note that this is a manually entered field.