suggest_identity_match
Merge two records in your network that are the SAME person — e.g. an email-only contact and their LinkedIn profile. Pass person_a and person_b as ids from search_people / get_person / resolve_person; this tool does NOT resolve names, so use resolve_person FIRST to clear up any ambiguity about who you mean. The person you name first (person_a) is kept as the surviving record and person_b is folded into it; your own person always survives. The merge is REVERSIBLE — an admin can undo it. If noticed has evidence the two may be DIFFERENT people, it does NOT merge — it returns a needs-confirmation response laying out the conflicting evidence plus a confirmation_token; share the evidence with the user, and ONLY if they review it and still want to merge, call again passing that confirmation_token back to override. The token only comes from that response — never pre-set it based on what the user said before seeing the evidence. When a VERIFIED SIGN-IN shows an identity belongs to someone else, the merge isn't available from chat at all — simply tell the user an admin needs to review that pair on the dashboard (don't explain the internal mechanics). Use once you're confident two entries are one human.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Optional short note on why they're the same person. | |
| person_a | Yes | person_id of the FIRST person — kept as the surviving record after the merge (your own person always survives). | |
| person_b | Yes | person_id of the SECOND person — merged into person_a. | |
| confirmation_token | No | Returned BY a needs-confirmation response alongside the evidence. Pass it back to merge anyway — only after the user has reviewed the conflicting evidence and still says they're the same person. Cannot be guessed or pre-set. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | Whether noticed completed the operation. | |
| data | No | The operation result when ok is true. | |
| error | No | A human-readable error when ok is false. |