TL;DR: If a Salesforce sync is slow, check for automations, process builders, or Apex triggers on the objects being written, because Census uses the bulk API and must wait on those; pause automations on that object for full syncs. [Official Census docs (Salesforce destination)]: To clear a Salesforce field, sync NULL values from your source; Salesforce ignores empty strings and makes no changes.

## Fix
1. If a Salesforce sync is slow, check for automations, process builders, or Apex triggers on the objects being written, because Census uses the bulk API and must wait on those; pause automations on that object for full syncs.
   Expected: this specific failure stops.
2. Press Refresh Fields one last time before saving a sync to pick up newly created fields.
   Expected: this specific failure stops.

## Details
[Official Census docs (Salesforce destination)]: To clear a Salesforce field, sync NULL values from your source; Salesforce ignores empty strings and makes no changes. Multi-select picklists need strings separated by semicolons (Snowflake: LISTAGG with ';', BigQuery: ARRAY_TO_STRING with ';'). Context: Official docs (Census/Activations Salesforce destination): documents three Salesforce sync gotchas that trip agents. Empty strings do not clear fields, only NULL does. Slow syncs are usually blocked by automations, process builders, or Apex triggers on the bulk API. Multi-picklist fields need semicolon-separated strings, and lookup fields require the external ID to be exposed.

## When to use
You hit exactly this: Census Salesforce syncs: NULL clears fields (not empty strings), pause automations for full syncs in Census Salesforce syncs.

## When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.

## Compatibility
Census Salesforce syncs.

## Edge cases
- For lookup fields, the looked-up field must be exposed as unique and an external ID on the synced object.