Salesforce API: Extended Overview
This topic provides an overview of ClientSpace Salesforce API functionality and answers some frequently asked questions about the ClientSpace Salesforce API.
If you have specific questions about the ClientSpace Salesforce API or would like to work with us to create a custom ClientSpace Salesforce integration, log an Extranet case.
What Does the Salesforce API Do?
The Salesforce API is a two-way communication between the Sales processes in ClientSpace and Salesforce. It is customized to your business needs by PrismHR. It maintains data synchronization between a client’s ClientSpace installation and their respective Salesforce system.
Note: A one-way configuration option is also available where you only export data to Salesforce from ClientSpace OR import data to ClientSpace from Salesforce.
If you implement the two-way configuration option, Salesforce sends Accounts, Opportunities and Contacts from Salesforce to ClientSpace at a specified Salesforce Stage In Salesforce, what is referred to as a Stage is the same as a Status in ClientSpace. Examples include Lead, Client, Terminated, etc..
ClientSpace uses this information to create Organizations, Workspaces and Contacts in ClientSpace. ClientSpace then sends Organizations, Workspaces and Contacts information back to Salesforce (primarily to make Salesforce status updates).
For a more detailed overview of the data relationships between Salesforce and ClientSpace, see Salesforce API Data Relationships Overview.
Throughout the implementation, we reference common Salesforce terms such as Stage, Account, Opportunity, Object, and Flow. If you are new to Salesforce or just need a refresher, check out the Salesforce Terms topic. In this topic, we provide definitions of the Salesforce terms and list the comparable ClientSpace terms.
Understanding How the Salesforce API Supports the Deal Life Cycle
During the life cycle of a deal, either Salesforce or ClientSpace is responsible for the data. Typically, Salesforce owns the data in the Lead Discovery Cycle. As changes are made in Salesforce, ClientSpace is updated with those changes. When the deal has reached a certain level, ClientSpace no longer accepts changes from Salesforce but keeps Salesforce up-to-date with certain data as changes are made in ClientSpace.
When ClientSpace dataforms (gen_) are updated from Salesforce, they are saved using Dataform Pipeline Logic, which executes business rules and triggers email templates.
What is Required to Implement the Salesforce API?
You initiate the process by creating a case in the Extranet indicating that you are interested in the Salesforce API. If you decide to proceed, a 16 hour project is created and assigned to a ClientSpace team member who will assist you with the implementation. This kicks off the implementation period which is broken into four phases.
Defining the Four Implementation Phases
In Phase 1, we ask you a series of questions to help us customize the implementation for your company. In Phase 2, we assist you in performing the Salesforce setup steps. In Phase 3, we complete ClientSpace setup steps. Finally, in Phase 4, we guide you in testing the integration and performing some cleanup steps after testing is complete.
Review the primary steps of each implementation phase in the image below:
What Are the Basic Fields that Can Be Mapped from Salesforce to ClientSpace?
The table below lists the basic fields that can be mapped from Salesforce to ClientSpace.
Salesforce | ClientSpace | ||
---|---|---|---|
Technical Field Name |
Salesforce API Path object |
Field Label |
Field Name |
Organization Dataform |
|||
sfAcct.Name |
Account/ |
Name |
Name |
sfAcct.Owner |
Account/ |
Assigned To |
flUserIDOwner |
sfAcct.Phone |
Account/ |
Phone |
Phone |
sfAcct.Fax |
Account/ |
Fax |
Fax |
sfAcct.Website |
Account/ |
Website |
Website |
sfOpptyty.LeadSource |
Opportunities/ |
Source |
crSource |
sfAcct.Industry |
Account/ |
Business Type |
crBusinessType |
sfAcct.BillingStreet |
Account/ |
Address1, Address2 |
Address1 |
sfAcct.BillingStreet |
Account/ |
Address2 |
Address2 |
sfAcct.BillingCity |
Account/ |
City |
City |
SfAcct.BillingState |
Account/ |
State |
State |
sfAcct.BillingPostalCode |
Account/ |
Postal Code |
PostalCode |
sfAcct.BillingCountry |
Account/ |
Country |
Country |
sfAccountID |
Account/ |
ImportID |
ImportID |
Org Other Info Dataform |
|||
sfOppty.CloseDate |
Opportunities/ |
Expected Close Date |
ExpectedCloseDate |
sfOppty.Type |
Opportunities/ |
||
sfOppty.Lead Source |
Opportunities/ |
||
sfOppty.Probability (%) |
Opportunities/ |
Probability of Close |
ProbabilityofClose |
sfOppty.ID |
Opportunities/ |
||
Contact Dataform |
|||
sfContact.AccountId |
Contacts/ |
Organization |
fkOrganizationId |
sfContact.Owner |
Contacts/ |
Assigned To |
fkAssignedToUserID |
sfContact.FirstName |
Contacts/ |
First |
FirstName |
sfContact.LastName |
Contacts/ |
Last |
LastName |
sfContact.Title |
Contacts/ |
Job Title |
Title |
sfContact.Phone + Ext |
Contacts/ |
Business Phone |
BusinessPhone |
sfContact.Email |
Contacts/ |
Primary Email |
Email1 |
sfContact.MobilePhone |
Contacts/ |
Mobile |
CellPhone |
sfContact.Fax |
Contacts/ |
Fax |
Fax |
sfContact.MailingStreet |
Contacts/ |
Address 1 |
Address1 |
sfContact.MailingCity |
Contacts/ |
City |
City |
sfContact.MailingState |
Contacts/ |
State |
State |
sfContact.MailingPostalCode |
Contacts/ |
PostalCode |
PostalCode |
sfContact.MailingCountry |
Contacts/ |
Country |
Country |
sfContactID |
Contacts/ |
Import ID |
ImportId |
Client Master Dataform |
|||
SIC Code |
luAltIndustryCode |
||
Activation Date |
StartDate |
||
sfAcct.ParentId |
Account/ |
Parent Company |
fkParentCompanyID |
Kill Reason |
luKillReason |
||
sfOppty.Descriptions |
Opportunities/ |
Description of Operations |
DescriptionofOperations |
sfOppty.StageName |
Opportunities/ |
Status |
Status |
gen_ClientTeam |
|||
sfOppty.Owner |
Opportunities/ |
Sales Respresentative |
fkSalesRepUserID |
Can I Map Custom Fields?
The ClientSpace Salesforce API allows you to connect custom Salesforce fields to fields in ClientSpace, allowing you to implement an API unique to your business. The exchange of data between the systems is highly configurable. Data elements are mapped at the field level for each system using standard ClientSpace Import Map Headers and Details.
We will work with you to make sure that the fields required for your business needs are mapped appropriately.
Note: In Salesforce, "_c" is added to the end of the Field Name to indicate that it is a custom field:
Which Fields in ClientSpace Can Be Configured to Trigger an Export to Salesforce?
The following table lists the fields that can trigger an export from ClientSpace to Salesforce. These fields are used to trigger a ClientSpace workflow (i.e., automation) that exports to Salesforce when a value in the ClientSpace field listed below is changed. For the default PEO procedure (peo_salesforce_s_available_cs_updates), these fields and the associated system objects are as follows.
Associated System Objects |
Fields |
||
---|---|---|---|
Org Trigger |
|
||
Org Other Info Trigger |
|
||
Contact Trigger |
|
||
Client Master Trigger |
|
||
Incident Trigger Fields (Task)* |
|
||
ContactManagementNote |
|
||
Manual Sync |
|
* Tasks in ClientSpace can be created by Salesforce task records from a Salesforce import. (See the Process Overview diagram for details.) If one of the ClientSpace tasks that was imported from Salesforce has a status change, it can trigger a Salesforce export.
Other FAQs
Here are some other frequently asked questions that our customers have about the ClientSpace Salesforce Integration.
What Is a "Salesforce Expert"?
Earlier in this topic when we listed the primary steps in the four implementation phases of the ClientSpace Salesforce API, we mentioned that in Phase 1 (Initial Prep), we will identify your company's Salesforce Expert. As it relates to the implementation, a Salesforce Expert is someone at your company with the expertise, access permissions, and availability to work with us as a resource during the implementation period (especially during Phase 2 (Salesforce Setup). This can be your Salesforce Admin or another person with the access permissions and knowledge to assist. The resource must be able to perform tasks such as adding new fields or accounts as needed and participate in testing the interface.
SeeSalesforce API Implementation in Salesforce (Implementation Phase 2) for details of the specific steps we ask the Salesforce Expert to perform.
What Format Do We Use to Provide the List of Fields to Map to the ClientSpace Team?
We recommend listing your fields in a new Excel Workbook and adding a tab for each Salesforce Object that you would like to map to ClientSpace with columns on each tab for Field Name, Code Name, and Field Type.
See Best Practices and Tips: Creating the Salesforce List of Fields to Map.
Do You Import All Salesforce Contacts into ClientSpace?
Your company decides which contacts are imported into ClientSpace. For instance, we can bring over all contacts, the primary contact only, or no contacts at all.
-
Salesforce API Implementation in Salesforce (Implementation Phase 2)
-
Salesforce API Implementation in ClientSpace (Implementation Phase 3)