I appear to have Zotero working with Hook, with the caveat that you need to install the ‘zotxt’ plugin for Zotero. The GetAddress script queries the inbuilt webserver of Zotero via the API that zotxt exposes twice to get the key of the selected item and then the title of the selected item, and then forms a markdown link for them.
It works for me, but I was hoping that someone who actually knows AppleScript could provide comments (especially the kludge to get the title field from the response). Also it would be useful for other Zotero users to test.
set zotext_result to do shell script "curl -s -d selected=t\\&format=key -G http://127.0.0.1:23119/zotxt/items" set AppleScript's text item delimiters to quote set theTextItems to every text item of zotext_result set link to "zotero://select/items/" & item 2 of theTextItems set zotext_result to do shell script "curl -s -d selected=t\\&format=json -G http://127.0.0.1:23119/zotxt/items" set AppleScript's text item delimiters to "\"title\"" set newText to text items of zotext_result set AppleScript's text item delimiters to "\"" set newText2 to text items of item 2 of newText set theName to item 2 of newText2 set theLink to "[" & theName & "](" & link & ")" return theLink