---
title: "Merge two duplicate contacts"
description: "Absorb a duplicate record into the contact you are looking at, on the Merge tab. The record you pick is deleted for good, so a confirm box comes first."
updated: "2026-08-29"
audience: [agent, administrator]
source: "https://helpdesk-docs.svr1.feedapp.click/en/lien-he/gop-lien-he"
---

Someone who writes in over two channels has two records, and you are the one who
knows it is one person. This page walks you through folding those two records
into one, on the **Merge** tab of a contact.

## Goal [#goal]

After the merge, the contact you are looking at holds every conversation,
ticket, channel identity, insight entry and history line of the other record.
The other record no longer exists.

## Before you begin [#before-you-begin]

* The `unlink` permission on **Contacts** for **both** records — the same
  permission that deletes a contact. Administrators always have it; for other
  roles see [Roles and feature permissions](/en/khai-niem/vai-tro-va-quyen).
* Your own evidence that the two records are one person. Still unsure means
  [link the two records](/en/lien-he/lien-ket-ho-so) rather than merge them.
* A decision on which record survives: the one whose detail page you open lives,
  the one you pick on the **Merge** tab is deleted.

## Steps [#steps]

1. Open **Contacts**, find the record you want to **keep**, and press
   **View details** on its row. The merge direction starts here.
2. In the right-hand panel, press the **Merge** tab. The panel carries a search
   field, a list of records you can absorb, and a **Merge contacts** button.

   ![The right-hand panel of a demo customer record with the Merge tab selected, showing the heading Merge a duplicate contact, a search field, a line reporting no suggestions, and a red Merge contacts button](https://helpdesk-docs.svr1.feedapp.click/images/docs/lien-he/gop-lien-he/03-tab-gop.en.webp)

   *The Merge tab on a demo customer record: the search field on top, the suggestion list in the middle — empty on this record — and the merge button below.*
3. Read the **Already marked as the same person** group at the top of the list.
   Those are the records a colleague already tied to this one, so they are the
   closest merge candidates you have.
4. If no name in that group is right, type into &#x2A;*Search by name, email or
   phone…**. The badge at the end of each row says why the system named it.
5. Press the row of the record to absorb. An amber line appears reading
   **Selected — this record will be absorbed and deleted**, with that record's name.
6. Press **Merge contacts**. The &#x2A;*Merge and delete a contact?** box opens, naming
   both records, what moves across, and that the action cannot be undone.

   ![The Merge and delete a contact confirmation box, naming the record that is kept and the record that is deleted, listing the categories that move and the line saying this cannot be undone](https://helpdesk-docs.svr1.feedapp.click/images/docs/lien-he/gop-lien-he/04-hop-xac-nhan.en.webp)

   *The confirm box names both records. The first name is kept, the second is deleted.*
7. Read the two names in the box once more. Right way round, press
   **Merge and delete**; the wrong way round, press **Cancel** and open the other
   record's detail page instead.
8. **Only when both records own a portal login**, the box moves to a second step
   instead of merging. It names which record's login is given up, then asks you to
   **retype the name of the record you have open**; the confirm button stays locked
   until it matches. Press **Copy the name** to copy it and paste it in — the name
   carries diacritics and spaces, and typing it by hand mostly means mistyping it.

   This is not a fault. One unique index carries one account, so a merge is certain
   to cost one of them; retyping the name is where you say which login you know you
   are giving up.

> **A merge is a deletion, and there is no way back:** The absorbed record is removed from the database: no copy is kept, no undo
> button exists. Its data has moved to the surviving record, but the record itself
> is gone. When you are not certain the two are one person, use
> [record linking](/en/lien-he/lien-ket-ho-so) instead: staff still read one shared
> history, and it can be undone at any time.

> **The confirm box names categories, not counts:** The confirm box lists what moves by category — conversations, tickets, channel
> identities, profile history — and does not count how many conversations or
> tickets will move. Merging also works one pair at a time from a detail page; the
> **Contacts** list carries no bulk merge.

## Verify [#verify]

The **Contacts** list now holds one row for this person, and the absorbed record
is gone. Open **Conversations**: the conversations that used to belong to the
other record now carry the surviving record's name and open under it.

On the surviving record, open the **History** tab: below the Created
and Updated timestamps sits a line naming you, the record that was absorbed, and
when the merge happened. That name is read and stored **before** the deletion,
so it stays readable even though the other row is gone.

The same line also appears in the **Linked records** block of the right-hand
panel when you open one of this person's conversations and press the **History**
icon next to the label.

## Troubleshooting [#troubleshooting]

| Symptom                                                                                      | Cause                                                                                                                                                                                                                 | What to do                                                                                                                                                                                                        |
| -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The confirm box reports that both records own a portal login                                 | A customer whose backend record was deleted and re-created is issued a **second identifier**, so both profiles hold a portal account. Only one can be kept, so the server refuses with a `409` and **writes nothing** | No need to leave the page: the box asks whether to give up the absorbed record's login. The surviving record **keeps its own**. If the other login is the one to keep, cancel and merge from that contact instead |
| The absorbed record owns a portal login and the survivor does not                            | Not a fault — the account **moves across** to the surviving record, and the customer signs in exactly as before                                                                                                       | Nothing to do                                                                                                                                                                                                     |
| The merge is refused for lack of permission, or the record you want is missing from the list | The account lacks the `unlink` permission on **Contacts** for one of the two records — it is checked on both                                                                                                          | Ask an administrator for the permission, see [Roles and feature permissions](/en/khai-niem/vai-tro-va-quyen)                                                                                                      |
| The suggestion list is empty                                                                 | Facebook and Zalo return no real email address or phone number for a customer, so there is nothing to match on                                                                                                        | Type the customer's name into the search field                                                                                                                                                                    |
| A conversation still carries the deleted record's name                                       | A title an operator typed by hand is not overwritten by a merge, by design                                                                                                                                            | Rename that conversation by hand                                                                                                                                                                                  |

## Next steps [#next-steps]

* [Link two records as one person](/en/lien-he/lien-ket-ho-so)
* [Start a conversation from a contact](/en/lien-he/mo-hoi-thoai-tu-lien-he)
* [Roles and feature permissions](/en/khai-niem/vai-tro-va-quyen)
