diff --git a/orgQSLib/getItemMetadata.applescript b/orgQSLib/getItemMetadata.applescript
index 14b201e..6e1f089 100644
--- a/orgQSLib/getItemMetadata.applescript
+++ b/orgQSLib/getItemMetadata.applescript
@@ -78,7 +78,11 @@ on getItemMetadata(theProtocol, theApp)
 											if (theApp as string) = "Finder" then
 												linkFinder(theProtocol, theApp)
 											else
-												linkApplication(theProtocol, theApp)
+												if (theApp as string) = "Address Book" then
+													linkAddressbook(theProtocol, theApp)
+												else
+													linkApplication(theProtocol, theApp)
+												end if
 											end if
 										end if
 									end if
@@ -404,6 +408,29 @@ on linkFinder(theProtocol, theApp)
 	set theLink to theProtocol & escScheme & escPath & "/" & escTitle & "/" & escShortTitle & ":" & escApp
 end linkFinder
 
+
+on linkAddressbook(theProtocol, theApp)
+	tell application "Address Book"
+		set theScheme to "address:"
+		set AllContacts to selection
+		if number of items in AllContacts = 1 then
+			set one_contact to item 1 of AllContacts
+			set theID to id of one_contact
+			set theName to name of one_contact
+		else
+			tell application "System Events"
+				activate
+				display dialog "Error: Choose one contact"
+			end tell
+		end if
+	end tell
+	
+	set escID to encodeURIComponent(theID)
+	set escName to encodeURIComponent(theName)
+	set escScheme to encodeURIComponent(theScheme)
+	set theLink to theProtocol & escScheme & escID & "/" & escName & ":" & escApp
+end linkAddressbook
+
 on linkApplication(theProtocol, theApp)
 	tell application (theApp as string)
 		set theScheme to "file:/"
