Skip to content

docs(audiences): document field-level write rules for Salesforce export#1617

Merged
george-dilthey merged 1 commit into
mainfrom
docsbot/doc-1224-intercom-tag-0717-d2b7f356
Jul 17, 2026
Merged

docs(audiences): document field-level write rules for Salesforce export#1617
george-dilthey merged 1 commit into
mainfrom
docsbot/doc-1224-intercom-tag-0717-d2b7f356

Conversation

@george-dilthey

@george-dilthey george-dilthey commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

What changed

Added a Field-level write rules table to docs/audiences.md in the "Writing back to your CRM" section. The table defines the three export write rules for Salesforce field mappings — Never write (default), Always write, and Write if empty — explains what each does, how to change them (click the pencil icon), and calls out that "Never write" is the default for all newly added field mappings.

Why

Intercom conversation #215475130065193 (Saviynt / Gabriel Griffith): Customer had mapped fields to Salesforce on the Accounts object and was confused about why data wasn't syncing. A human admin (Peter Johnston) resolved it by explaining that the Export sync toggle must be enabled as the master switch, and that the first export runs within the next 24-hour window. The existing FAQ ("I've mapped fields to Salesforce but the data isn't syncing — why?") already covers the master toggle correctly. However, nowhere in the doc are the three field-level write rules defined — they are referenced by name but never explained. A customer who maps new fields but doesn't know "Never write" is the default would not know to change the rule, and the doc currently gives no guidance on this.

Why this is materially new vs. PR #1615: PR #1615 (also open on this file) mentions the three rule names in a troubleshooting FAQ ("Field-level write rules (Always write, Write if empty, Never write) control which fields get pushed...") but does not define them, does not explain that "Never write" is the default, and does not show the behavioral table. This PR adds that explanatory content to the main setup section.

Source link(s)

  • Intercom conversation: https://app.intercom.com/a/inbox/w28k1kwz/inbox/conversation/215475130065193
  • Write rules enum (PASS — three rules exist as code): /workspace/clay-base/libs/api-contract/src/audiences/lib/import-types.ts:38-42MappingRule.AlwaysWrite = 'ALWAYS_WRITE', MappingRule.WriteIfEmpty = 'WRITE_IF_EMPTY', MappingRule.NeverWrite = 'NEVER_WRITE'
  • Never write is the default (PASS): /workspace/clay-base/apps/frontend/src/components/Audiences/utils/AudienceMappingHelpers.ts:20export const DEFAULT_MAPPING_RULE = MappingRule.NeverWrite;
  • UI display names match (PASS): same file lines 22–31 — getDisplayTextForMappingRule returns 'Always write', 'Write if empty', 'Never write' for each enum value
  • Slack support thread confirming write rules flow: https://clay-hq.slack.com/archives/C08RHUMFP6Z/p1773072006772409

Uncertainties

None — all behavioral claims (write rules definition, Never write as default, UI display names) verified PASS by verifier sub-agent and direct code inspection against the above file:line citations.

Related observations

Closes DOC-1224

Add explanation of Never write / Always write / Write if empty rules
to the "Writing back to your CRM" section, including that Never write
is the default for all newly mapped fields.
@linear-code

linear-code Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

DOC-1224

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant