I got my robot assistant to clean up my contacts

Inspired by David’s note on sharing what we’ve gotten our robot assistants to do, I want to share a data hygiene project I’ve been putting off for years.

Across iCloud, Google Contacts, and Outlook, I had over 12,000 contacts. I’d tried various tools over the years to clean up my contacts and never properly cracked it. I managed to finally get it done using my robot assistant. The protocol was simple:

  1. Downloaded contacts from all three services and saved backups first.
  2. Switched off “Help improve Claude” for privacy.
  3. Had Claude ingest and analyze everything before touching anything. It immediately surprised me, flagging things like meeting rooms that had been saved as contacts from an old employer’s Exchange setup.
  4. Deleted any contact with neither a phone number nor an email.
  5. Merged duplicates it was 100% certain about automatically.
  6. For anything ambiguous, it generated a spreadsheet with an action column. I reviewed, made my calls row by row, and Claude Cowork read the updated spreadsheet and executed accordingly.

Result: 12,000+ contacts down to 3,700.

I then did something I thought was neat. I downloaded my LinkedIn data archive and had my robot assistant cross reference all 3,700 clean contacts against it, updating company and job title where it was certain, and flagging anything ambiguous in another spreadsheet for my review.

Years of digital dead weight, gone in less than 2 hours. I don’t believe I could have done this as cleanly and as efficiently without my robot assistant.

I hope you find this approach or any of the techniques I used useful. Cheers -

12 Likes

In which format did you give it to Claude? Was it in Apple Contacts and connectedvia MCP or as a csv? Or something different?

How did you let it cross reference it with Linkedin? Did you also let it pull the profile images from linkedin to have them in your contacts software?

The contacts were CSV for Google Contacts and for Outlook, and VCards from my contacts app for iCloud contacts. The export was in the same formats, although I decided to limit to Google Contacts and iCloud only.

There is no MCP for LinkedIn. You can request LinkedIn for a copy of your data that they will email you in a few minutes, and it includes your LinkedIn connections. Photos are not part of that file, nor were photos of interest to me to be honest. I was more concerned with updating the organization and the job title.

1 Like

Great idea! But sadly mine are all iCloud. Wonder if l can export to Gmail, clean them up and then import back to iCloud?

You don’t need to export into Gmail. I did all of that on Claude Cowork. Pull the VCards from Apple Contacts and then have Cowork triage them.

4 Likes

Oh thanks! I will do that today!

1 Like

Great workflow! If you can make it to any of the Robot Builder’s club meetups, you should share more about this.

6 Likes

Absolutely fantastic. Thanks for sharing. This is soo good.

1 Like

Thanks David. I’m planing on joining the one today (evening my time).

1 Like

This is cool, and I understand the first part, but I don’t get how to have Cowork actually update your iCloud contacts after it’s analyzed the CSV and vCard exports. Did you use “computer use” to have it control the Contacts app? Or the Chrome connector, signed in to iCloud.com? Or did you just wipe your contacts and import a revised vCard file?

I guess there’s a few ways to do it. This is where I keep getting stuck. I’ve been doing a good job with getting Claude to analyze data for me, but then taking action on it is a problem.

It was not really efficient to use any MCP/Computer use with this amount of data. I had Cowork do all the data operations and then provide me with export ready files to ingest into iCloud/Google Contacts. I ended up dropping Outlook Contacts. I kept iCloud as my Primary, and I used Google contacts as my back up.

Cowork exported VCards for iCloud and CSV for Google Contacts.

Cowork can take actions, but my opinion, using MCPs or connectors for large data operations usually doesn’t work. Import/Export takes a few minutes so it’s not a terrible tax to pay vs the time saved with the actual data operations/

2 Likes

Once you had the clean contacts file to import back into Contacts, did you DELETE the contacts that were in Contacts.app and Google Contacts before importing them back in?

Yes, I had to. Otherwise I risked server side duplicates.

Can you share your prompt with us?

2 Likes

Yes please, all these nice stories of how the robot assistant is working in X are not really useful without the prompt. My interpretation of the prompt to get such result is clearly inferior as I’ve not even come close to the results folks here mention even given similar data inputs.

1 Like

I did not use a “single prompt”. I spent a 2 hour iterative session working with Claude Cowork (CCW) to consolidate, deduplicate, and enrich my contacts across Gmail, Outlook, Apple, and LinkedIn.

Thank you for suggesting to find a better way of sharing the knowledge. I tasked CCW with creating a “package” to do that, and it packaged the entire workflow into a guide and 6 skill files that can flow into your Obsidian Vault.

The pipeline imports from any source, backs up your originals, removes junk, fuzzy-matches duplicates, and enriches with LinkedIn data, with Excel review sheets at every decision point so you stay in control. Download the linked folder (has read access only), open a CCW session, select your Obsidian vault folder, and upload the Guide.md file and the 6 Skill .md files. CCW will read the files, copy the skills into your vault, and walk you through the whole process.

I asked Claud to do a security assessment audit of the files, and I added the security assessment output as an MD file that is available on the share folder. You can read through it and verify/double check with your own CCW Robot. If anyone catches anything worth flagging, please comment here and I’ll fix it.

Suggested opening prompt:

Please read the guide I just uploaded and help me get started.

4 Likes

Thank you for uploading this. It should be a great help to me.

1 Like