Review Pre-Sync Validation Results
When you run a sync or save a sync schedule, the Pre-Sync Validator checks your Data Sync configuration before any data transfer begins. The validator reports issues with specific details and remediation steps, so you can resolve them before they affect your data.
Limitations
- Validates configuration, not data: The validator checks your sync configuration, such as field mappings, credentials, and permissions. It does not inspect or validate the actual data records in Salesforce or the Platform.
- Reduces, but does not eliminate, runtime issues: Pre-Sync Validation catches the most common and high-priority configuration problems. Some edge cases may still appear during the sync run.
- Coverage is scoped to enabled, ETL-direction objects: When you do not select specific objects, the system validates only objects with the Is Enabled? toggle turned on and Sync Direction set to ETL.
Download the Validation Report
You can download a full validation report after any validation run. The report includes detailed results for each category, a list of affected objects and fields, remediation steps for each issue, and validation metadata.
- After the validation completes, click Download Report in the validation results dialog box.
- Open the report and review each section: Credentials, Schema, Mapping, Runtime Dependency, and Metadata.
- Follow the remediation steps for each failed check.
- After you resolve all hard (P1) failures, return to the Data Sync module and retry the sync or save.
Report Structure
{
"ValidationTriggerId": "<unique ID for this validation run>",
"ValidationStatus": "Queued" | "InProgress" | "Completed",
"ValidationName": "Validation-<ID>",
"CanProceedWithSync": true | false,
"ValidationOutcome": "Blocked" | "Warning" | "Clear",
"Credentials": { ... },
"Schema": [ ... ],
"Mapping": [ ... ],
"RuntimeDependency": { ... },
"Metadata": { ... }
}
Validation Failure Types
Failure Type | Description | Effect on Sync |
|---|---|---|
| Hard (P1) | A critical issue that will cause the sync to fail if not resolved. | Blocks sync execution or schedule save. |
| Soft (P2) | A non-critical warning that may affect data quality but does not prevent the sync from running. | Shown in results but does not block the sync. |
| Informational | A notice about a setting change that could affect sync behavior (for example, the Skip Delete Sync flag). | No blocking effect. Review is recommended. |
Validation Categories
Validation results are grouped into the following categories. Each category is included in the downloadable report.
Checks that the client credentials for both the Salesforce and Platform connections are valid and can authenticate successfully.
| Status | Meaning | Action Required |
| Pass | Connection was successful. | None. |
| Fail | The credentials are invalid or have expired. | Update the client ID and secret in Data Sync Settings and run validation again. |
"Credentials": {
"Salesforce": {
"Status": "Pass",
"Message": "Connection successful"
},
"Platform": {
"Status": "Pass",
"Message": "Connection successful"
}
}
Checks that the context user can access all objects and fields referenced in your mappings, that all objects exist in both the source and target systems, that all mapped fields exist in the target schema, and that picklist values in the source and target systems are aligned.
| Issue Type | Severity | What It Means | Remediation |
| SourceObjectNotAvailable | Hard | A Salesforce source object referenced in the mapping does not exist or is not accessible to the connected user. | Verify that the object exists in Salesforce. Confirm that the connected user has the required permissions to access it. |
| TargetObjectNotAvailable | Hard | A platform target object referenced in the mapping does not exist or is not accessible. | Verify that the object exists in the Platform and that the mapping references the correct object name. |
| FieldNotAccessible | Hard | A field referenced in the mapping exists in Salesforce, but the context user does not have Field Level Security read access to it. | Verify that the field exists in Salesforce. Grant Field Level Security read permissions to the context user for each field listed. |
| FieldNotFoundInTarget | Hard | A field referenced in the mapping exists in the source but does not exist in the target schema. | Verify that the field exists in the target schema. If the field is missing, create it in the target or update the field mapping to use an existing target field. |
| PicklistValueMismatch | Soft | The picklist values configured in the source field do not match the picklist values in the corresponding target field. Values missing in the target may cause sync failures. | Review the source and target picklist values. Add any missing values to the target field to ensure alignment. |
"Schema": [
{
"Severity": "Hard",
"ObjectName": null,
"Issues": [
{
"Type": "SourceObjectNotAvailable",
"Fields": {
"Objects": [
"Product10"
]
},
"Remediation": "The Salesforce object could not be found or is not accessible. Verify the object exists in Salesforce and that the connected user has the required permissions."
}
]
},
{
"Severity": "Hard",
"ObjectName": null,
"Issues": [
{
"Type": "TargetObjectNotAvailable",
"Fields": {
"Objects": [
"Location_c",
"AccountContact_c",
"AccountDimension_c"
]
},
"Remediation": "The Platform object could not be found or is not accessible. Verify the object exists in Platform."
}
]
},
{
"Severity": "Hard",
"ObjectName": "User",
"Issues": [
{
"Type": "FieldNotAccessible",
"Fields": [
"Account_ID__c"
],
"Remediation": "Ensure these fields exist in the source and grant Field Level Security read permissions in Salesforce for these fields."
}
]
},
{
"Severity": "Hard",
"ObjectName": "Product",
"Issues": [
{
"Type": "FieldNotFoundInTarget",
"Fields": [
"HasSearchAttributes1"
],
"Remediation": "Ensure these fields exist in the target schema, or update the field mappings."
}
]
},
{
"Severity": "Soft",
"ObjectName": "Hierarchy",
"Issues": [
{
"Type": "PicklistValueMismatch",
"Fields": {
"SourceField": "Apttus_Config2__Type__c",
"TargetField": "Type",
"SourceType": "picklist",
"TargetType": "Picklist",
"SourceValues": [
"Option Group",
"Both"
],
"TargetValues": []
},
"Remediation": "Picklist values are not aligned; these values are missing in target. Ensure all required values exist to avoid sync failures."
}
]
}
]
Checks that all mapped fields exist in both the source (Salesforce) and target (Platform) schemas.
| Issue Type | What It Means | Remediation |
| Missing in Target | The source field exists in Salesforce but the corresponding target field does not exist on the Platform object. | Create the missing field in the Platform schema, or update the mapping to use an existing target field. |
| Missing in Source | The target field exists on the Platform but the source field has been deleted, renamed or not accessible in Salesforce. | Update or remove the mapping entry. Verify the current field name in Salesforce. |
| Missing in Both | The field does not exist in the source or the target. The field may have been deleted after you created the mapping. | Verify the field names and update the mapping to use fields that exist on both sides. |
"Mapping": [
{
"Severity": "Hard",
"ObjectName": "User",
"MappingId": "4bfb4612-0e12-4e24-a88d-a2999735a123",
"Issues": [
{
"Type": "FieldNotInSchema",
"Fields": [
{
"MappingId": "73ea4e3f-ff60-45b9-8134-1e2c7f8e9b42",
"SourceField": "ContactId",
"TargetField": "ContactId_c",
"MissingIn": "Target"
},
{
"MappingId": "90102894-c6d7-4657-95aa-ea02ec71bb7a",
"SourceField": "AccountId",
"TargetField": "AccountId_c",
"MissingIn": "Target"
},
{
"MappingId": "c4f17dd9-da6b-428d-a3b9-1868b582ccd8",
"SourceField": "Account_ID__c",
"TargetField": "Account_ID_c",
"MissingIn": "Both"
}
],
"Remediation": "Ensure all mapped fields exist in both source
(Salesforce) and target (Platform) schemas,
or update the field mappings."
}
]
}
]
Checks that the sync scope includes parent objects for all lookup and reference fields in your mappings. The report lists each dependency as either resolved or missing, and provides a global ingestion sequence recommendation when a better object execution order is detected.
| Field | Description |
| ObjectName | The name of the object being validated for dependency completeness. |
| Severity | Soft dependency warnings do not block the sync. The system flags them so you can review and act on them. |
| Message | A summary of the dependency issue found for the object. |
| Dependencies: Resolved | Parent objects that are referenced by the mapping and are already included in the sync scope. No action is required for resolved dependencies. |
| Dependencies: Missing | Parent objects that are referenced by the mapping but are not included in the sync scope. Consider adding these objects to the sync scope to maintain referential integrity. |
| GlobalRecommendation | An optional section that appears when the validator detects a more efficient object execution order. It shows the current ingestion order, the recommended ingestion order, and the suggested sequence changes with existing and new sequence numbers for each affected object. Following the recommendation is optional. |
"RuntimeDependency": {
"Objects": [
{
"ObjectName": "Contact",
"MappingId": "7ad01e01-f66a-4cc5-8453-b6e9cec02328",
"Severity": "Soft",
"Message": "Some dependencies are not included in sync",
"Remediation": "Consider including the missing objects
in the sync to ensure referential integrity",
"Dependencies": {
"Resolved": [
"Account"
],
"Missing": [
"LegalEntity",
"User"
]
}
}
],
"GlobalRecommendation": {
"Message": "Suggested sequence optimizes ingestion order based on
object dependencies. Runtime resolves dependencies automatically;
out-of-order ingestion may require additional processing cycles.",
"CurrentIngestionOrder": "Account → ProductCategory → Product",
"RecommendedIngestionOrder": "Account → Product → ProductCategory",
"SuggestedSequence": [
{
"MappingId": "59d0bd41-c364-42b7-acb7-4a7c095aabd0",
"ObjectName": "Product",
"ExistingSequence": 18,
"NewSequence": 10
}
]
}
}
The report includes the following metadata about each validation run:
- Execution Context User: The user under whose identity the sync runs.
- Validation Mode: Indicates whether validation ran for all objects or a selected subset.
- Categories Validated: The list of checks that were run.
- Started Time / Completed Time: The timestamps for when validation began and finished.
"Metadata": {
"ValidationMode": "Selective",
"CategoriesValidated": [
"SalesforceCredentials",
"PlatformCredentials",
"Schema",
"Mapping",
"RuntimeDependency"
],
"ObjectMappingIds": [
"4bfb4612-0e12-4e24-a88d-a2999735a123"
],
"ExecutionContextUser": {
"Id": "650461c3-bd4c-8d78-c829-f5fe61c1c357",
"Name": "migrationmanager Test-01"
},
"StartedTime": "2026-04-15T19:06:04.338+00:00",
"CompletedTime": "2026-04-15T19:06:06.862+00:00"
}
