The Scenario
You are a data quality analyst. Last month the company ran a CRM reconciliation that revealed 45 Intercom contacts where a legacy lead record and a real user record exist for the same person. Your sheet has 45 rows: column A is the Intercom lead ID to remove, column B is the user ID to keep. Both IDs per row represent the same human.
These duplicates are skewing health scores, triggering duplicate onboarding messages, and making contact search results noisy. Whoever was supposed to handle the merge after the reconciliation handed it off to you.
The bad version:
- Open Intercom's API docs to find the merge endpoint. Find it. Read the authentication section.
- Try to use Postman. Realize you have not used Postman in two years and your API credentials are stored somewhere you cannot remember.
- Ask the engineering team for help. Get told it is not in the current sprint.
The health scores are wrong for 45 accounts and nobody can explain why to the VP of CS.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads each lead-user pair and merges the lead into the user contact in Intercom, logging the outcome per row.
For each row in this sheet (columns: Lead ID, User ID), merge the Intercom lead into the corresponding user contact and write "merged" or "error" into column C.
What You Get
- Each lead contact merged into its corresponding user contact in Intercom.
- The lead record is removed; the user record survives with the merged history and attributes.
- "merged" written to column C for successful merges.
- "error" with a brief description written to column C for rows where a lead ID or user ID was not found, or where the merge was rejected.
- Column C fills in as each merge completes — you can watch the progress in real time.
What If the Data Is Not Quite Ready
Some lead IDs have already been merged in a previous partial attempt
Before the request got to you, someone ran a few merges manually and may have already handled some rows.
For each row in this sheet, attempt to merge the lead (column A) into the user (column B) — if the lead ID is already merged or does not exist, write "already_merged" or "not_found" to column C rather than erroring.
A few rows have the IDs reversed — the user ID is in column A and the lead ID in column B
Manual data entry mistake from the reconciliation process.
For each row in this sheet, check which ID belongs to a lead-type contact and which to a user-type contact — then merge the lead into the user regardless of which column each appears in — write "merged" or "error" to column C.
You want to preview which contacts will be affected before actually merging
A sanity check before running irreversible operations on 45 records.
For each row in this sheet, look up the Intercom contact details for the lead ID in column A and the user ID in column B — write the contact email and type for each into columns C and D so I can review before merging.
Preview first, validate the direction, then merge and log results in one controlled sequence
You want a two-phase approach: review first, then execute.
In phase one, look up both contact IDs per row and write their emails and types to columns C through F — then, after I confirm the data looks right, run phase two: merge each lead into its user counterpart and write "merged", "already_merged", or "error" to column G.
Try It
Get the 7-day free trial of SheetXAI and open the deduplication sheet from your CRM reconciliation — ask it to process the merges in Intercom so the health scores and onboarding sequences reflect clean data. For auditing the contact list after merges are done, see the export-contact-list spoke and the Intercom hub overview.
