I have all of my contacts loaded into Google Contacts but the problem is, I’m never convinced that they are up to date or even sure if I should still have the person’s contact details listed.
To address this I created the following script which will send me an email every day with a randomly selected contact.
I can then review the contact’s details, compare it with LinkedIn, Facebook and Twitter and then either update their contact details or send them an e-mail to catch up with them.
function reviewContacts() { var contacts=ContactsApp.getContacts() var contactCount=contacts.length var randID=Math.ceil(Math.random()*contactCount) var aContact=contacts[randID] var contactArray = aContact.getId().split('/') var contactID = contactArray[contactArray.length - 1] Logger.log(contactID) var contactName = aContact.getFullName() Logger.log(contactName) if (aContact.getCompanies().length > 0) { var companyName = aContact.getCompanies()[0].getCompanyName() } else { var companyName = "" } Logger.log(companyName) if (aContact.getEmails().length > 0){ var emailAddress = aContact.getEmails()[0].getAddress() } else { var emailAddress = "" } Logger.log(emailAddress) var strMessage = 'Please review the contact information for ' + contactName + ' from ' +companyName +'.\n' strMessage += 'Send an email to: ' + emailAddress + '.\n' strMessage += 'Edit the contact https://www.google.com/contacts/#contact/' + contactID + ' ' + contactName + '.\n' strMessage += 'Search LinkedIn http://www.linkedin.com/search/fpsearch?type=people&keywords=' + encodeURI(contactName) + '.\n' strMessage += 'Search Facebook https://www.facebook.com/search/results.php?q=' + encodeURI(contactName) + '.\n' strMessage += 'Search Twitter https://twitter.com/search?q=' + encodeURI(contactName) + '.\n' Logger.log(strMessage); GmailApp.sendEmail(Session.getEffectiveUser().getEmail(), 'Review Contact - ' + contactName + ' from ' + companyName , strMessage); // UrlFetchApp.fetch("https://script.google.com/macros/s/AKfycbwG7J3xWQlljkIzkh_rOBhNPLAqriHvScwroIg1RFXYnWcJVd99/exec?scriptName=reviewContacts"); RGLibrary.logScriptExecution('reviewContacts') };
https://github.com/RossGoodman/GoogleAppsScript/blob/master/reviewContacts
The script picks a random number, selects the contact associated with that number and formats an email with actionable links embedded within it.
I then create a trigger to run this script once per day at lunch time, allowing me to review the contents whilst I’m having my lunch.
See also this post for a similar search but built into Microsoft Outlook.