Salesforce Operations
Salesforce duplicate rules that preserve staffing inquiries
Configure duplicate handling by intake channel. A practical guide to Web-to-Lead, recruiter entry, ATS integrations, repeat inquiries and safe review.
By Gosai Digital · 5 min read
Reviewed
A returning candidate applying for another role is valuable activity. A second person record created by a retry is usually a data-quality problem. A useful duplicate policy preserves the first and prevents or resolves the second.
Start by separating identity from intent. The person, application, client inquiry and integration message are different things. A matching email address may suggest an existing person; it does not establish that a new application or inquiry should be discarded.
Salesforce supplies matching rules to identify potential duplicates and duplicate rules to decide what happens when a match is found. Neither determines your staffing firm's identity policy or resolves every conflict automatically. Salesforce matching rules
Item 1: Lane 1: Jordan applies for a new role
Retain role, campaign, time and preferences
Item 2: Identity review
Check identifiers without exposing private matches
Item 3: Existing person + new application
Preserve genuinely new business activity
Item 4: Lane 2: ATS repeats an earlier update
Compare stable source ID and update identity
Item 5: Existing update acknowledged
No extra person or downstream notification
Item 6: Shared email: uncertainty branch
Named review; never automatic merge
Begin with an intake map
For every route into Salesforce, record the object created, running user, active matching and duplicate rules, error destination, and person responsible for rejected records. Include candidate forms, client inquiry forms, recruiter entry, ATS syncs and imports. Two forms on the same website may use entirely different integration paths.
Use this decision matrix as a starting point, then prove each row in a sandbox:
| Intake route | Practical starting point | What must be checked |
|---|---|---|
| Recruiter in a supported Salesforce UI | Alert on plausible matches; use blocking only for sufficiently reliable identity rules | Can the recruiter inspect an existing record, and what happens when that record is restricted? |
| Native Web-to-Lead | If repeat inquiries must be accepted, evaluate a narrowly scoped Allow + Report rule without Alert | Other applicable rules, the default creator, rejection monitoring and downstream review |
| Custom form or API client | Handle duplicate responses explicitly and preserve the submission | Actual API/version, headers, permissions, retry behavior and privacy of returned match details |
| ATS sync or import | Match on a stable source identifier where available; reconcile rejected rows | Create versus update semantics, merge redirects and results for every row |
The Web-to-Lead exception matters
For native Web-to-Lead, Allow + Alert can block a matching submission because the automated process cannot acknowledge the warning. Salesforce documents Allow + Report without Alert, scoped to the default Web-to-Lead creator, as one alternative. Do not assume that the word “Allow” means a duplicate website submission will be saved. Salesforce's Web-to-Lead duplicate guidance
That alternative needs careful scoping. A broadly applicable blocking rule can still affect the same intake. A user-based condition also affects other work performed as that user. Inventory those paths before using the default creator as the dividing line. A submitted, user-editable “source” field should not become a trusted bypass switch.
Allow + Report deliberately accepts duplicate records for later handling. The Report option does not create your firm's staffed exception queue, assign an investigator, capture an override justification or preserve an application relationship. Those are additional process and configuration decisions.
API behavior requires an explicit contract
Salesforce REST API provides a Duplicate Rule Header whose options include acknowledging an enabled alert, returning match details and applying the current user's sharing. Its defaults and availability are documented. Use the options deliberately, rather than adding a blanket “allow duplicates” setting. Do not assume an alert-handling option overrides a blocking policy. REST API Duplicate Rule Header
Keep match details on the trusted server side. A public candidate form should never reveal that an email belongs to a confidential candidate record, which recruiter owns it, or what assignments that person has held. A neutral receipt or review message is safer than exposing an internal duplicate-search response.
A worked staffing example
Illustrative scenario: Jordan already has a candidate record and applies for a warehouse role through a new campaign. The ATS also retries an earlier profile update after a timeout.
These events need different outcomes:
- Jordan's new application is retained with its role, campaign, submission time and contact preferences. After an identity check, it can be linked to the existing candidate.
- The ATS retry refers to the same source candidate and update. Processing it again should not create another person or repeat a downstream notification.
- A second applicant using a shared household email is not automatically merged into Jordan's record. The match is reviewed against other appropriate identifiers.
Native duplicate rules can flag likely person matches. Creating an application, resolving identity, making retries idempotent and recording a review decision require the relevant ATS capability, integration logic or additional Salesforce configuration. They are not delivered by a duplicate rule checkbox.
Design matching and resolution together
Prefer a stable ATS identifier for integration identity when the ATS provides one. Keep that identifier distinct from email and telephone fields that people can change or share. Define normalization deliberately: telephone country codes, whitespace and case handling can improve consistency, but aggressive cleanup can erase meaningful distinctions.
A useful review record contains the incoming source identifier, possible matches, reason for uncertainty, owner, decision and links to preserved business activity. Restrict sensitive comparison fields to the reviewers who need them.
Before merging, confirm the surviving record, external identifiers, applications, placements, activities, files and attribution. A merge decision also needs an integration plan: will the ATS still send updates to the retired identifier? Do not test bulk merges directly against production records without a recovery strategy.
Test outcomes rather than the warning message
Build a small, synthetic test set covering:
- An exact person match submitting a genuinely new inquiry
- A near name match with different contact information
- Shared email or telephone details belonging to different people
- A candidate whose matching record the running user cannot see
- A lead matching a contact, including the conversion path
- A retry after the destination saved successfully but the response was lost
- An import containing accepted, duplicate and invalid rows
For each test, verify the submission, person record, owner, application or inquiry, duplicate evidence and integration response. A browser thank-you page alone does not prove a Salesforce record exists. Salesforce documents that duplicate rules can reject imported data; inspect result files instead of treating an upload completion message as success. Salesforce import duplicate guidance
After release, review rejected intake, unresolved duplicate work and repeat-inquiry preservation. Set response expectations from actual volume and risk. The outcome to protect is simple: every legitimate inquiry has a traceable destination, and identity uncertainty has an owner.
Review your intake boundary
Talk through your duplicate-handling workflow with Gosai Digital. Bring the intake channels, current rule configuration and a few anonymized failure examples. We can help identify where a native rule is sufficient and where the surrounding workflow needs attention. Do not send candidate personal data through the initial contact form.
Sources and review scope
Reviewed against Salesforce documentation on October 9, 2026. Linked sources cover matching rules, native Web-to-Lead behavior, REST duplicate headers and import rejection. Rule interactions depend on configuration, running user and the actual intake implementation. Re-test after material rule, package or integration changes.