Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 22 additions & 5 deletions docs/audiences.md
Original file line number Diff line number Diff line change
Expand Up @@ -636,11 +636,11 @@ The **`Create new Salesforce records`** toggle is in your Salesforce source sett
Export sync behavior:

- **Export frequency:** Once every 24 hours. Clay assigns each workspace a stable export time automatically — the schedule is not user-configurable.
- **First export:** After you enable Export Sync, the first export does not run immediately — it fires at your workspace's next scheduled export time, which may be up to 24 hours away. The Exports panel shows **Not set up** until the first export completes successfully.
- **Export batch size:** ~10,000 records per batch.
- **Subsequent syncs:** Incremental — only changed records are processed.
- **First export:** After you enable Export Sync, the first export does not run immediately — it fires at your workspace's next scheduled export time, which may be up to 24 hours away. The Exports panel shows **Not set up** until the first export completes successfully. The first export is a **full load** — it processes all records in your Audience regardless of when they were last changed. At high record volumes, this initial run can take considerably longer than subsequent exports.
- **Subsequent syncs:** Incremental — only records whose Audiences fields have changed since the last export are processed, so subsequent exports complete much faster than the initial full load.
- **Monitoring:** The **API usage** card on the Salesforce source settings page shows your daily Bulk API quota and the number of calls made in the last 24 hours — use it to confirm exports are actively running and to check your remaining API capacity.

To estimate API calls for initial export, divide record count by 10,000 and compare against your Salesforce limit.
To monitor API consumption during and after the initial export, check the **API usage** card on the Salesforce source settings page.

**Note:** CRM export is admin-only. Enrichments and signals follow standard Clay table pricing.

Expand Down Expand Up @@ -881,6 +881,23 @@ Add a **Salesforce Update Record** action column directly inside your bulk enric

If you have the Audiences Salesforce export enabled, enriched fields also sync back to Salesforce automatically on the next 24-hour export cycle (see [Writing back to your CRM](#writing-back-to-your-crm)). Adding Update Record directly in the enrichment table is useful when you need immediate write-back or when you are not using the native Audiences Salesforce import.

### How do I keep a "Clay Last Enriched" date current in Salesforce?

To maintain a continuously updated enrichment timestamp in Salesforce, add a formula column to your bulk enrichment table that returns the current date or datetime, then map it to your Salesforce date field with an **Always write** rule.

**Setup:**

1. In your bulk enrichment table, click **Add column** → **Formula**.
2. Enter a formula that returns the current timestamp in the format your Salesforce field expects:
- **DateTime field:** `new Date()?.toISOString?.()`
- **Date field (YYYY-MM-DD only):** `new Date()?.toISOString?.()?.split?.("T")?.[0]`
3. Name the column (for example, **Clay Last Enriched**).
4. In your Salesforce export field mapping, map this formula column to the corresponding Salesforce field and set its write rule to **Always write**.

Each time the bulk enrichment re-runs — whether triggered automatically by a new record entering the segment or manually — the formula produces a new timestamp. Clay writes the updated value to Salesforce on the next 24-hour export cycle.

**Note:** The timestamp re-stamps on every re-run, even when the underlying enrichment data (such as an enriched phone number or job title) has not changed. If you only want the timestamp to update when specific enrichment data actually returned a result, add a run condition on the formula column — for example, set it to evaluate only when a key enrichment column is not empty.

### How do I write enriched data back to HubSpot from Audiences?

Audiences does not have a native HubSpot export destination — Salesforce is currently the only built-in CRM export. To push enriched data to HubSpot, use a Bulk Enrichment with a HubSpot action column directly from within your audience segment:
Expand Down Expand Up @@ -1172,7 +1189,7 @@ For enterprise customers where Salesforce is live and operational, start large i

### Do the API math with nervous admins

Divide your total record count by 50,000 (import batch size) to estimate import API calls, or by 10,000 for export. For most enterprise customers, the math makes this a non-issue — a 5M-record CRM generates only 100 import API calls against a Salesforce limit typically around 150 million records per day.
Divide your total record count by 50,000 (import batch size) to estimate import API calls. For the export direction, use the **API usage** card on the Salesforce source settings page to monitor actual Bulk API 2.0 consumption — it shows your daily quota and the number of calls made in the last 24 hours. For most enterprise customers, even large initial full-load exports are a non-issue — a 5M-record CRM generates roughly 100 import API calls against a Salesforce limit typically around 150 million records per day.

### Start narrow, then expand

Expand Down