sfdc-duplicate-contract-creation
Salesforce Widget: Duplicate Contract Creation (Same Opportunity)
What This Skill Debugs
Reports that more than one contract was created from the SpotDraft Salesforce embedded app for the same Opportunity (and often the same template), when the customer believed a single contract should exist.
This is usually not a failed API call: each POST may succeed. The gap is client-side deduplication: the widget only warns about an existing contract in SIGN display status (awaiting signatures). Contracts in DRAFT or INFO_COLLECTION for the same opportunity are not treated as blockers, so each fresh widget session can call createContract() again.
Earliest failure point to validate: Confirm whether the customer (or automation) triggered multiple successful creation requests (distinct timestamps / HTTP requests), versus a single request that forked server-side (rare).
When to Use / Not Use
| Use this skill | Do not confuse with |
|---|---|
| Same Opportunity ID → multiple contracts from SFDC flow | hubspot-sfdc-conditional-overpersistence (hidden fields persisted incorrectly, activity-log mass cleanup) |
| User opened widget multiple times, clicked through questionnaire | questionnaire-hidden-variable-data-loss (missing fields after edit; may co-occur as motivation to retry — cross-check dates) |
| Need to pick which contract to keep and void extras | Generic contract-lookup alone (use this for SFDC-specific dedupe logic) |