This package contains two types of permission sets.
- Tdx Admin Permissions : It enables user to perform administrative tasks related to manage package. Salesforce administrator should assign these permissions to the user who is going to perform such type of tasks. Users having these permissions will be able to see the screen like admin and contact mapping screen.
- Tdx User Permissions : It enables user to perform day-to-day tasks like campaign and reports. Users having these permissions will not be able to see the screen like admin and contact mapping screen.
Note: Below settings will not work for the users with the standard sales force profile which do not have customise application (System Permission) enabled.
Click on setup - > Manager User -> Users, Select the user from user’s list…
Now click on “Edit Assignments” in Permission set assignment section…
Following screen will display…
Select the permissions you want and click on > button. Click on ‘Save’ button to save the details.
As soon as package is installed, the Administrator needs to proceed with the initial setup, which is mandatory to be done for this integration to work. These are one time settings which Admin needs to configure and need to pay due diligence to configure those.
Admin Tab will be accessible only to Administration Role and Integration User.
1. Administrator needs to set below details on Admin screen before initiating sync process
- API End point: This is the TDX API environment URL (This can be either staging or production based on to which TDX environment we want to integrate this salesforce instance. It should be registered as Remote Site setting. To create remote site setting, please refer the document (RemoteSiteSetting.docx) in Package installation steps.
- Production: https://api.tractionnext.com
- API Key: This is the TDX API user’s key which needs to be configured in TDX. Using this user all the calls to TDX APIs will be made.
- This API key/User should not be used by any other application. This user should be used specific for Salesforce integration.
- Salesforce Integration User ID: Salesforce Integration User Record ID.
- A dedicated salesforce integration user needs to be created for this integration. All backend jobs/processes will be executed by this integration user.
- This integration user should not be used for performing any UI operations in Salesforce apart from triggering Manual sync.
- Administrator needs to put the record Id of the user.
- Please refer this link to extract the integration user id from salesforce.
- TDX Integration User Id: Please provide the Id of the API user which is going to be used for sync and it should be the same API user which has been used to populate the API Key field of Admin Screen.
- Time Zone: Define the TDX instance time zone here.
- Admin needs to select the TDX Account time zone here. Based on this time zone defined here, all the date/time conversions will take place.
After saving these details, the next step for Admin is to proceed to ‘Fields Mapping’ tab for Identifier and Contact field mapping.
The very 1st time when Administrator visits ‘Map Contact Fields’, it will be displayed as below.
It has 2 sections:
Identifier Field Mapping:
- Admin needs to map one of the TDX identifier field with a salesforce contact field.
- This Identifier will be used for as the unique source of identification for contacts in TDX.
- All the contact level integration (sync jobs/salesforce trigger/contact level metrics) will be driven by this Identifier.
- It is NOT advisable to change this identifier once it is defined and saved for a salesforce account.
- As soon as identifier mapping is done a background job is executed to populate ‘SF Identifier’ field in the contact object with this mapped identifier value.
- An info message mentioned as below is displayed to Admin
Identifier mapping process has started successfully; you will be notified by email once completed.
- This job will copy the mapped salesforce identifier value in a new contact field ‘SF Identifier’ in the Contact Object.
- Execution of this job may take some time depending on the count of contacts available on the salesforce side.
- It takes around ~ 30 mins for 50K records.
- Admin has to wait for this job to complete before proceeding with any other configuration settings on salesforce side.
- Admin will be notified by an email once the job is completed.
- In case admin wants to change the already mapped identifier mapping, they will need to do some data clean up on salesforce side before proceeding for the change.
Contact Field Mapping:
- In this section, Admin needs to map TDX fields with respective salesforce fields.
- Only these mapped fields will be synced between the two systems.
- Initially Admin needs to map the Salesforce required fields with respective TDX custom fields.
- After mapping required fields, Admin can proceed with mapping other custom fields.
- Maximum up to 100 custom fields can be mapped as part of the integration.
After mapping of the Identifier and Contact fields, Integration user should be able to initiate the sync process from Admin screen.
- Salesforce integration jobs can only be executed by the Salesforce Integration user which has been defined in Admin Screen.
- Integration user should have Admin permission to execute the jobs.
- Before the execution of the jobs, Admin screen should have been populated correctly.
- Contact Mapping should be defined correctly before the execution of job. Both identifier and fields should be mapped properly. If mapping has not been done correctly then there are chances of bad data creation.
- Administrator will have to execute the Traction Next to Salesforce initial Sync first then Salesforce to TDX.
- Manual and Schedule Sync up can only be executed once the initial Sync of contacts is done.
- If a job is already running than any other job cannot be executed.
- If there is a failed request from older mapping present in the logs, then sync will not work properly for retry failed. For e.g.
- Job 1 runs with some defined contact fields mapping and results in some contacts failure.
- These failed requests are saved in the logs to provide re-try option.
- Before retrying failed request, Admin changes the contact field mapping.
- Now try processing retry failed request.
- In such case, the failed request is with respect to old mapping and will fail again.
- If user change the mapping without clean up than there are chances of failure and bad data creation.
- Contact Sync has been tested properly for 50K records because of memory limitations and document for performance benchmark has been already shared.
- Salesforce administrator should perform thorough analysis of workflow, validation rules, duplicate rules, triggers and assignment rules etc. before the setup of contact sync and make sure some other data/business process is not getting impacted because of the contact sync.
- If administrator executes the contact sync without thorough analysis then there are chances of bad data creation and administrator will have to manually correct/clean the data.