clickwrap-tray-salesforce-sync-triage
Clickwrap → Salesforce (Tray) Sync Triage
What this skill debugs
Post-execution issues: the clickwrap contract is created in SpotDraft (often with salesforce_id / external link), but mapped Key Pointer (KP) fields on the Salesforce Account or Opportunity stay empty. Customer may report no entries in Tray logs for that contract_id.
Common root cause (production-confirmed pattern): The Tray.io solution instance that listens for KP Created (or equivalent reverse-sync webhooks) was disabled for a date range. Contracts created while disabled never triggered a successful Tray run — enabling Tray again does not retroactively send webhooks.
Architectural constraint: Native reverse sync expects contracts tied to a workflow. Clickthrough audits are often tied to a contract type only, not a workflow — so Native reverse sync can fail for clickthrough while Tray-based custom sync works. Do not enable Native and Tray reverse sync together for the same flow without explicit integration-team approval (incident: mutual exclusion required — Tray on, Native off for mitigation).
When to use / when not to use
Use when:
- CLICKWRAP / clickthrough contract + Salesforce sync-back / KP fields
- Empty Tray logs for contract id filter
- Discussion of solution instance disabled, re-enable, retrigger webhooks