Importing Salesforce Data Overview

Updates Allowed

• An internal flag _CSUpdateAllowed is used to determine if Salesforce data is allowed to be imported into ClientSpace. This is a configurable setting that changes programmatically depending on the state of the Client Master Status.

Work Queue

• Object must be named Work_Queue__c
• Must contain OpportunityID__c and Complete__c fields
• Complete__c must be set to false when the record is created in Salesforce
• Duplicate Opportunities in multiple Work Queue records are ignored
• If the import is successful,
• Work Queue OpportunityID__c is set to Empty
• Complete__c is set to true

Organization

• Creates new Org or updates an existing Org
• General Notes marked Updated/Created from the SalesforceAPI
• Org ImportID is set to Salesforce Account ID
• Only updates existing Org data with Salesforce data if _CSUpdateAllowed
• Org is saved from the database, no biz logic executed

Org Other Info

• Creates new Org Other Info or updates existing Org Other Info
• All fields and values are retrieved from the current installation (custom fields are available)
• Only updates existing Org Other Info data with Salesforce data if _CSUpdateAllowed (or when creating a new record)
• Org Other Info is saved from the database, no biz logic executed

Client Master

• Creates new Client Master and workspace if associated Org has no workspace (must have client template configured for this to function)
• Updates Client Team Sales Admin User after workspace is created (to Org Assigned To)
• The new Client Master is saved using the dataform pipeline Default
• After the new Client Master is created (or Client Master exists)
• fkParentCompanyID is set to Salesforce Account/ParentId associated CS Organization (if exists)
• All fields and values are retrieved from the current installation (custom fields are available)
• Adds Org Node for Biz Logic access (similar to a Client Master save from the UI)
• Only updates existing Client Master data with Salesforce data if _CSUpdateAllowed
• Updated Client Master is saved from the dataform pipeline SalesforceAPI
• Client Location
• Creates new Client Location or updates existing Client Location
• If new, sets LocationName("MAIN"), luLocationType("Main"), SyncToM("P"), SyncToB("P")
• All fields and values are retrieved from the current installation (custom fields are available)
• Only updates existing Client Location data with Salesforce data if _CSUpdateAllowed (or when creating a new record)
• Client Location is saved from the dataform pipeline SalesforceAPI
• Contacts
• Retrieves all Salesforce Contacts associated with Salesforce Account
• Looks up each contact by ClientSpace ImportID
• Creates new Contact if ImportID not found
• Always set IsActive(True), SyncWithOrganizationAddress(false), ImportID(SF Contact ID)
• Ignores _CSUpdateAllowed (always syncs Salesforce data)
• Contact is saved from the database, no biz logic executed
• Contact Other Info
• Updates or creates Contact Other Info for each Salesforce Contact (from Contacts above)
• All fields and values are retrieved from the current installation (custom fields are available)
• Ignores _CSUpdateAllowed (always syncs Salesforce data)
• Contact Other Info is saved from the database, no biz logic executed
• Other Dataforms
• Any Dataform mapped (Import Map Header) is included
• Iterates through each mapped Dataform
• Retrieves existing Dataform from Workspace associated with Salesforce Account (CS Organization)
• Creates dataform if one does not exist in Workspace
• Dataform is saved from the dataform pipeline SalesforceAPI
• Only updates existing dataform data with Salesforce data if _CSUpdateAllowed (or when creating a new record)

Related Topics: