Keep your contacts tidy
I have the same person in twice. Can I fix that?
Add contacts, let ContactsQ point out the duplicates, merge them into one record you can still undo, and look anyone up by their number.
What you get: one clean record per person, built up from the terminal, with numbers and addresses kept masked. You need: a signed-in profile; merging needs an organisation admin (we ran every step as the owner). About 6 minutes.
Do it yourself
Section titled “Do it yourself”1. Add a contact
Section titled “1. Add a contact”quox contacts add "Priya Shah" --email [email protected] --organisation "Harbour Dental" --relationship customerID Name Kind Status Relationship Identifiersct_mw2qlxb8_2233421bc6bd Priya Shah person active customer email:p•••@harbourdental.exampleⓆ CONTACTSQ │ contacts add │ ct_mw2qlxb8_2233421bc6bd The name is split into given and family names for you. --organisation finds the organisation by name, or creates it, and links the two. Repeat --email or --phone to add several at once. Identifiers are stored encrypted and shown masked.
2. Add the same person again, as happens
Section titled “2. Add the same person again, as happens”quox contacts add "Priya Shah" --email [email protected] --phone +442079460958 --organisation "Harbour Dental" --job-title "Practice manager" --relationship customerID Name Kind Status Relationship Identifiersct_mw2qmopc_14ed3862e6b6 Priya Shah person active customer phone:•••••••958 email:p•••@example.comⓆ CONTACTSQ │ contacts add │ ct_mw2qmopc_14ed3862e6b6quox contacts find PriyaID Name Kind Status Relationship Identifiersct_mw2qlxb8_2233421bc6bd Priya Shah person active customer email:p•••@harbourdental.examplect_mw2qmopc_14ed3862e6b6 Priya Shah person active customer phone:•••••••958 email:p•••@example.comⓆ CONTACTSQ │ contacts list │ 2 contacts 3. Let ContactsQ find the duplicates
Section titled “3. Let ContactsQ find the duplicates”quox contacts duplicatesA B Why Suggested survivorct_mw2qlxb8_2233421bc6bd Priya Shah ct_mw2qmopc_14ed3862e6b6 Priya Shah name_org ct_mw2qlxb8_2233421bc6bdⓆ CONTACTSQ │ contacts duplicates │ 1 pairs A pair is suggested when two contacts share an identifier, or share a name at the same organisation (name_org, as here).
4. Merge them
Section titled “4. Merge them”quox contacts merge ct_mw2qlxb8_2233421bc6bd ct_mw2qmopc_14ed3862e6b6✖ Merging moves identifiers, history and facts onto the survivor. Re-run with --yes to confirm (undo: `quox contacts unmerge <merge-id>` within 30 days).quox contacts merge ct_mw2qlxb8_2233421bc6bd ct_mw2qmopc_14ed3862e6b6 --yesmerge_id mg_mw2qmxcj_e2073ee962afsurvivor ct_mw2qlxb8_2233421bc6bdmerged ct_mw2qmopc_14ed3862e6b6undo_until 2026-12-04T23:18:36.883Zidentifiers 2provenance 1touchpoints 0edges 0edges_dropped 1leases 0facts 0Ⓠ CONTACTSQ │ contacts merge │ mg_mw2qmxcj_e2073ee962af (undo: quox co… The first id is the one that stays. Without --yes the merge refuses and tells you what it would do. The counts say what moved onto the survivor: here the second contact’s two identifiers and where it came from. The merge can be undone until the undo_until date.
5. Look someone up by number
Section titled “5. Look someone up by number”quox contacts show ct_mw2qlxb8_2233421bc6bdid ct_mw2qlxb8_2233421bc6bdname Priya Shahkind personstatus activerelationship customeridentifiers email:p•••@harbourdental.example phone:•••••••958 email:p...flagsgiven Priyafamily ShahⓆ CONTACTSQ │ contacts show │ ct_mw2qlxb8_2233421bc6bdquox contacts resolve +442079460958ID Name Kind Status Relationship Identifiersct_mw2qlxb8_2233421bc6bd Priya Shah person active customer email:p•••@harbourdental.example phone:•••••••958 email:p...Ⓠ CONTACTSQ │ contacts resolve │ Priya Shah resolve is caller ID: give it a phone number or an email address and it returns the contact it belongs to, and says if that number or address is suppressed. To add another number or address to a contact later, use quox contacts add-id <id> --phone <number> --label work.
6. Archive who you no longer deal with
Section titled “6. Archive who you no longer deal with”Lee Grant was added earlier in the same way as Priya.
quox contacts archive ct_mw2qm5dp_0622349d2bc6Ⓠ CONTACTSQ │ contacts archive │ archivedquox contacts find LeeNo results.Ⓠ CONTACTSQ │ contacts list │ 0 contactsquox contacts find Lee --status archivedID Name Kind Status Relationship Identifiersct_mw2qm5dp_0622349d2bc6 Lee Grant person archived customer email:l•••@example.com phone:•••••••123Ⓠ CONTACTSQ │ contacts list │ 1 contacts Archiving takes a contact out of everyday searches without erasing anything. --status archived finds them again. To erase someone for good, see Handle a privacy request.
What just happened
Section titled “What just happened”Every change was made to your organisation’s ContactsQ records. Numbers and addresses were stored encrypted and never printed in full. The merge has its own id, and that id is what quox contacts unmerge takes to reverse it.
Check it yourself
Section titled “Check it yourself”quox contacts show <id> after each step shows the record as it stands, and quox contacts find <name> shows who is in your contacts.
quox contacts unmerge <merge-id> restores both contacts exactly as they were, within 30 days of the merge. It needs an organisation admin, like the merge.