> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conversion.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Syncing Out

> How Conversion syncs data updates out to Salesforce.

This page explains what happens behind the scenes when a change in Conversion is pushed to Salesforce. For controls over **what** syncs (objects, fields, sync modes), see [Object Sync Preferences](/product-docs/sync/salesforce/sync-preferences) and [Field Sync Preferences](/product-docs/sync/salesforce/setup/field-sync-preferences).

***

## What Gets Synced to Salesforce

When you change a record in Conversion (through the UI, a form submission, an import, an API call, or a workflow), Conversion can push that change to Salesforce as one of the following objects:

| Conversion change                                                    | Salesforce object                                          |
| -------------------------------------------------------------------- | ---------------------------------------------------------- |
| Contact created or updated                                           | **Lead** or **Contact**                                    |
| Company created or updated                                           | **Account**                                                |
| Contact added to, removed from, or updated in a campaign             | **CampaignMember**                                         |
| Campaign created                                                     | **Campaign**                                               |
| Contact deleted (via a workflow's Delete contact action)             | **Lead** or **Contact** deletion                           |
| Contact removed from a campaign                                      | **CampaignMember** deletion                                |
| Workflow [Salesforce node](/product-docs/workflows/nodes/salesforce) | **Task**, **CampaignMember**, or **Lead** queue assignment |

Whether new contacts become **Leads** or **Contacts** (and how they're linked to **Accounts**) is controlled by your [object sync preferences](/product-docs/sync/salesforce/sync-preferences#new-contact-creation-settings).

<Info>
  Outbound syncing only happens when **Write to Salesforce** is enabled for that object type. If outbound is disabled, changes still happen in Conversion — they just aren't pushed to Salesforce.
</Info>

***

## Deleting Records in Salesforce

Conversion can push two kinds of deletions out to Salesforce. Each has its own setting under **Settings → Syncing**. Contact deletions are disabled by default; campaign member deletions are enabled by default.

### Contact deletions

A contact is only ever deleted through a workflow's **Delete contact** action, which can also delete the linked Salesforce Lead or Contact. That outbound delete only happens when **Sync contact deletions to Salesforce** is enabled. When it's disabled, the contact is still removed in Conversion, but the Salesforce record is left in place.

### Campaign member deletions

When you remove a contact from a campaign in Conversion, Conversion can also remove the matching campaign member in Salesforce. This is controlled by **Sync campaign member deletions to Salesforce**, which is enabled by default. Turn it off to leave Salesforce campaign members in place when contacts are removed from a campaign in Conversion.

For the settings themselves and their inbound counterparts, see [Object Sync Preferences](/product-docs/sync/salesforce/sync-preferences#deletion-settings).

***

## Batching and Latency

Conversion does not push every individual change to Salesforce immediately. Instead, changes are **batched** and processed on a fixed schedule. This keeps your Salesforce API usage predictable and avoids hammering your API limits.

**What this means for you:**

* On average, a change made in Conversion appears in Salesforce within about **10 seconds**.
* During periods of high activity (large imports, bulk workflow runs), changes are still grouped into bulk requests, so Salesforce sees fewer, larger updates rather than a flood of small ones.

<Note>
  Latency can be longer if you're near your Salesforce API limit (see [API Rate Limits](#api-rate-limits) below) or if a large backlog has built up. The queue always drains in the order changes were made.
</Note>

***

## When Both Systems Change at Once

It's common for the same record to be edited in both systems around the same time — for example, a sales rep updates a contact in Salesforce while a form submission is processing in Conversion. Conversion is designed not to overwrite a fresher Salesforce value with a stale Conversion one.

Right before sending an update, Conversion checks Salesforce for the current version of the record and decides what to send based on each [field's sync mode](/product-docs/sync/salesforce/setup/field-sync-preferences):

| Field sync mode                    | What Conversion sends                                                          |
| ---------------------------------- | ------------------------------------------------------------------------------ |
| **Two-Way Sync**                   | Sent only if Conversion's value is newer than Salesforce's. Otherwise dropped. |
| **Prefer Salesforce Unless Empty** | Sent only if the Salesforce field is currently blank.                          |
| **Always Prefer Conversion**       | Always sent, regardless of what Salesforce currently has.                      |
| **Always Prefer Salesforce**       | Never sent.                                                                    |
| **Do Not Sync**                    | Never sent.                                                                    |

If, after this check, no fields are left to send, Conversion skips the update entirely — no Salesforce API call is made for that record.

***

## API Rate Limits

Salesforce enforces a **daily API request limit** on every org. Conversion respects this limit and adds an optional second layer of protection so you can reserve API capacity for other tools.

### How limits are enforced

Before each batch is sent, Conversion checks current Salesforce API usage. If usage is at or above any configured limit:

* **The batch is not sent.**
* **The items stay in the queue** — nothing is dropped or lost.
* The next time the queue is checked (about every 10 seconds), Conversion checks usage again. As soon as you're back under the limit, the queue starts draining automatically.

<Info>
  Inbound sync (Salesforce → Conversion) is also subject to the same limits — when you're over the threshold, Conversion stops pulling new data from Salesforce until usage drops.
</Info>

### Configuring your own limit

In addition to your overall Salesforce daily limit, you can set a **Conversion daily limit** to cap how many of those API calls Conversion is allowed to use. This is useful when other tools (data warehouse syncs, integrations, custom scripts) share the same Salesforce API budget.

To configure it, go to **Settings → Syncing → Overview**, find the **Conversion daily limit** card, and click **Add limit** (or edit an existing one).

***

## Monitoring the Queue

You can see the current state of outbound syncing on **Settings → Syncing → Overview**:

| Metric                     | What it shows                                                                                                      |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Conversion daily limit** | Your current Salesforce API usage for the day, as a fraction of your configured Conversion limit (if set).         |
| **Salesforce daily limit** | Your org's total daily Salesforce API limit.                                                                       |
| **Queued batch items**     | The number of items currently waiting to be pushed to Salesforce. In normal operation this should hover near zero. |

A high or growing **Queued batch items** count usually means one of three things:

* A large import or bulk workflow run is in progress and the queue is steadily draining.
* You're at or above an API limit and the queue is paused.
* An upstream issue (e.g. an expired Salesforce connection) is preventing batches from completing — check **Settings → Syncing → Sync Logs** for failed batches.

***

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="How long until my changes appear in Salesforce?">
    On average, about 10 seconds. Changes are batched and each outbound queue is checked roughly every 10 seconds. If you're near an API limit or have a large backlog, it can take longer, but changes are processed in order and never dropped.
  </Accordion>

  <Accordion title="What happens if I hit my Salesforce API limit?">
    Outbound syncs pause. Pending changes stay in the queue and resume automatically once usage drops back under the limit. You won't lose any data.
  </Accordion>

  <Accordion title="Will Conversion overwrite changes a sales rep just made in Salesforce?">
    For fields in **Two-Way Sync** mode, no — Conversion only sends fields whose Conversion-side timestamp is newer than Salesforce's `LastModifiedDate`. For fields set to **Always Prefer Conversion**, Conversion will overwrite Salesforce's value by design. See [Field Sync Preferences](/product-docs/sync/salesforce/setup/field-sync-preferences) for the full conflict-resolution rules.
  </Accordion>

  <Accordion title="Can I see exactly what Conversion sent to Salesforce?">
    Yes. **Settings → Syncing → Sync Logs** lists every outbound (and inbound) sync batch, including which records were updated, which were skipped (and why), and which failed. Use this view to investigate if a change you expected isn't showing up in Salesforce.
  </Accordion>

  <Accordion title="Why is the 'Queued batch items' count high?">
    Some growth is normal during bulk operations (large imports, broad workflow triggers) — the queue will drain on its own. Sustained growth usually indicates an API limit being hit or a connection problem. Check the API usage metrics on the same page and review **Sync Logs** for failed batches.
  </Accordion>
</AccordionGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Object Sync Preferences" icon="sliders" href="/product-docs/sync/salesforce/sync-preferences">
    Control which objects sync and how new contacts are created in Salesforce.
  </Card>

  <Card title="Field Sync Preferences" icon="arrows-rotate" href="/product-docs/sync/salesforce/setup/field-sync-preferences">
    Configure conflict resolution per field with five sync modes.
  </Card>
</CardGroup>
