---
id: SCR-CRM-DQ-010
title: Possible duplicates and Merge on a record page
route: >-
  The contact and organization record pages
  (/console/{tenantId}/crm/contacts/{id},
  /console/{tenantId}/crm/organizations/{id})
surface: console
product_area: crm
module: data-quality
revision: 1
status: draft
design_intent: proposed
implementation_evidence: partially-observed
inference: []
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
purpose: >-
  Expose duplicate review and merge entry within record pages and explain
  absorbed-record navigation.
supports:
  - JNY-CRM-DQ-002
  - JNY-CRM-DQ-006
  - CAP-CRM-DQ-010
  - CAP-CRM-DQ-018
  - CAP-CRM-DQ-008
permission: >-
  crm.duplicates.read to see the indicator; crm.duplicates.review to dismiss;
  the record type merge and read keys to merge
entry_from:
  - Contact or organization record navigation
  - An old reference to an absorbed record
exits_to:
  - '/console/{tenantId}/crm/merges/new'
  - '/console/{tenantId}/crm/dataQuality/duplicates/{objectType}/groups/{groupId}'
  - The suggested record page
displays:
  - field: Open medium-or-higher duplicate suggestions with likelihood and reasons.
    source: listRecordDuplicateCandidates (DOM-CRM-DQ-001)
  - field: A survivor-navigation notice with absorbed and retained record numbers.
    source: >-
      The gone answer of the Entities record route, from DOM-CRM-DQ-004 absorbed
      identity
actions:
  - label: Not A Duplicate
    operation_id: dismissDuplicateCandidate
    permission: crm.duplicates.review
    confirm: false
  - label: Undo
    operation_id: restoreDuplicateCandidate
    permission: crm.duplicates.review
    confirm: false
  - label: Merge (with the selected suggestions or any record)
    operation_id: createMergePlan (through SCR-CRM-DQ-007)
    permission: the record type merge and read keys
    confirm: false
states:
  - empty
  - loading
  - error
validation:
  - BR-CAP-CRM-DQ-010-04
  - BR-CAP-CRM-DQ-010-05
  - BR-CAP-CRM-DQ-010-06
  - BR-CAP-CRM-DQ-010-07
  - BR-CAP-CRM-DQ-018-08
patterns:
  - RecordDuplicateIndicator
  - MergedRecordNotice
component: >-
  components/console/record/record-duplicates.tsx (RecordDuplicates) and
  merged-record-redirect.tsx
evidence:
  - >-
    react-console at baf6dae3: components/console/record/record-duplicates.tsx,
    merged-record-redirect.tsx; components/duplicates/indicator/*.tsx;
    components/duplicates/history/merged-record-notice.tsx;
    components/console/organization/organization-header.tsx;
    components/record-views/cards/contact/duplicates.tsx.
controls: [TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-006, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-LOG-004, TC-LOG-005, TC-PI-001, TC-PI-003, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-TEN-004]
---

# Possible Duplicates And Merge On A Record Page

## What the Screen Is For

These components sit within record surfaces owned by Entities. They provide a quiet duplicate indicator, deliberate merge entry and a notice when an old link follows an absorbed identity.

## What It Shows and Lets People Do

The indicator requires duplicate-read authority and omits low-only suggestions. Reviewer authority enables pair rejection and undo; type-specific read-and-merge authority enables a selected-record launch that includes the current record.

## States and Errors

No matches leave no reserved indicator space. Absorbed navigation follows the destination and presents the explanatory notice. The surrounding record mounts remain partially verified under the registered source boundary.

## Patterns It Must Respect

The host resolves permission keys into booleans for the indicator. The organization merge availability switch is enabled at the pinned console commit.
