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.