Guidelines for Datasync Configuration
The following are the guidelines and best practices for the Data Sync.
- Forward, ETL, and Reverse Sync:
- Separate object mappings should be set up for each type of syncs : Forward, ETL , Reverse Sync.
- ETL sync set up will not work for Forward sync and vice versa.
- Forward syncs need to be triggered from the API only using custom code.
- Do not set up forward sync on objects in SF that have zero records.
- Ensure the user set up under data sync settings, has permissions on all fields on SF side for all the fields adding in data sync mapping.
- Selected ETL syncs in scheduled job do not require to be kept enabled. Schedule job will consider all selected ETL sync in the job during execution irrespective it is enabled or not.
- If attributes need to be synced for an object ensure that : IsAttributesSyncRequired is set to true for the object. This field can be updated using the data sync API : api/datasync/swagger/index.html.
- Reverse Sync: This is the sync which happens when we 'Finalize' the cart on the click of button. For reverse sync the objects should be enabled. The field mapping should be enabled, and the data type should be same for the fields to sync the field.
- Enable object mapping with SyncDirection = Reverse.
- Enable field mapping and set the IsReverseSyncEnabled flag in field mapping.
- Reverse sync is near real-time only. It syncs data created or updated in the platform; it does not support syncing existing data or using the Sync Now button.
- For attributes and attribute extension objects, ensure valid object mapping exists. Field mapping is generated at runtime for these objects.
- For failed syncs, download the JSON error details or query the RunHistoryInfo object for more information.
- JSON Error: Go to Admin console> Data sync> Run History button> click on Pipeline Id> on right hand side click Error to download the error in JSON format.
- The pipeline id is fetched from the data sync UI Run history. For more information, see Data Sync documentation.
- Reverse sync does not support default Salesforce system fields (e.g., IsDeleted, CreatedDate).
- The reverse sync process is designed to sync updates and new records from the Conga Platform to Salesforce, but it does not handle deletions. The deletion event is not captured or processed by the reverse sync worker, so the corresponding Salesforce records remain untouched.
- ReverseSync APIs may not work as expected if synced line items have associated attribute value records
ix. Reverse sync criteria (especially for cart lines ) have to be added in reverse sync object mapping so that we can control when records are reverse synced otherwise they sync every create/update operation.
- We can have criteria on lineitem to sync the lineitem records only when the product config status is 'Finalized'.
- Formula LineItem.Configuration.Status=="Finalized".
- Object Mapping:
- Custom Query: Use this if you want to sync specific fields based on a query. It should only query with a select command without using any Where clause(filter condition).
- Unless there is a business need, please don't modify the Source Filter Criteria condition even if it is blank.
- Do not provide where clause in both Source Filter Criteria and Custom Query. This will override the Source Filter Criteria condition.
- Field Mappings:
- Ensure that the data type of the source field matches the target field during field mapping.
- Select the appropriate target field name and align it with the source field name.
- Specify the correct object for lookup or reference fields.
- Enable only those fields that should sync back to Salesforce after completing field mapping; do not enable formula fields.
- Verify that the source and target fields are compatible data types. Use transformation rules or typecasting if necessary.
- Ensure that picklist values match between the source and target systems, or use transformation logic to map values correctly.
- Update your field mappings in Conga CPQ if you change field names or remove fields in Salesforce to prevent errors during document generation or data sync.
- Map only the fields necessary for your business process to maintain efficient sync operations.
- Consider the sequence of object and field mappings for high-volume or complex objects to optimize sync performance.
- Value Transformations:
- Value Transformations are essential when the source field data format does not match the target field requirements in Conga CPQ. This ensures that data syncs correctly between systems and avoids errors due to mismatched formats or values.
- Use transformation rules on Field mappings , if you need to convert data formats.
- The example below demonstrates how the Expression field settings are configured to convert expression syntax from Salesforce (SF) to Advantage Platform format.
- Only enable transformation rules that are required for your business process. This keeps the sync efficient and reduces the risk of unnecessary data manipulation.
- After configuring value transformations, test them with real data to ensure the mappings work as expected and that no data is lost or incorrectly transformed during sync.
- Scheduled Jobs:
- Perform the creation or deletion of scheduled jobs exclusively through the user interface, as illustrated in the accompanying screenshot.
- While it is possible to create or delete schedules using Data Sync APIs, it is recommended to use the user interface for these operations.
- Ensure that transaction data syncs are organized into a separate job, distinct from master data syncs, which should be scheduled separately.
- Avoid exporting and importing scheduled jobs between different organizations.
DataSync Migration
You should perform the migration of value transformations using the export-import feature in data sync APIs.
