# Find a reference

**URL:** https://discourse.devontechnologies.com/t/find-a-reference/86887
**Category:** Automation
**Created:** [May 9, 2026, 4:47am UTC](https://discourse.devontechnologies.com/t/find-a-reference/86887 "2026-05-09T04:47:36Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![kewms](https://discourse.devontechnologies.com/letter_avatar_proxy/v4/letter/k/85f322/32.png) [@kewms](https://discourse.devontechnologies.com/u/kewms)
#### Post date: [May 9, 2026, 4:47am UTC](https://discourse.devontechnologies.com/t/find-a-reference/86887/1 "2026-05-09T04:47:36Z")

</div>

So I’m reading along in a technical paper, and I come to a reference like:  
N. Modolo, et al., IEEE EDL, 42, 5 (2021).  
I’d like for my electronic minion to go out, find that paper, and put a link to it in a database group that I specify. Ideally with a pointer back to the paper that referenced it. Ideally without me having to explain that “IEEE EDL” stands for “IEEE Electron Device Letters.”  
Even better, I’d like to create a list of “more reading” as I go, and have it waiting for me.

The Chat Assistant (Ollama’s gemma4 model) said “Sorry, can’t find it.” DT’s “Search with Google” option gave a bunch of links that referenced this paper, but not the paper itself. Same with Google Scholar. I ultimately found it by searching the IEEE site, which is exactly the sort of manual task I’d like to avoid. Perplexity.ai also successfully found it.

This sounds like the sort of thing DevonAgent should be able to do, but the IEEExplore plugin didn’t even get in the right ballpark.

Any suggestions?

---

<div class="post-metadata">

### Author: ![cgrunenberg](https://discourse.devontechnologies.com/user_avatar/discourse.devontechnologies.com/cgrunenberg/32/7172_2.png) [@cgrunenberg](https://discourse.devontechnologies.com/u/cgrunenberg)
#### Post date: [May 9, 2026, 7:14am UTC](https://discourse.devontechnologies.com/t/find-a-reference/86887/2 "2026-05-09T07:14:01Z")

</div>

> [@kewms](#):
>
> So I’m reading along in a technical paper, and I come to a reference like:  
> N. Modolo, et al., IEEE EDL, 42, 5 (2021).  
> I’d like for my electronic minion to go out, find that paper, and put a link to it in a database group that I specify. Ideally with a pointer back to the paper that referenced it. Ideally without me having to explain that “IEEE EDL” stands for “IEEE Electron Device Letters.”

This depends on the minion a lot 😉 E.g. I just tried the above quote in DEVONthink’s chat assistant, I only inserted “(YOU)” behind minion:

 ![Screenshot 2026-05-09 at 9.11.04 AM](https://devontech-discourse.s3.dualstack.us-east-1.amazonaws.com/uploads/original/3X/f/8/f89e0311562326b173c0fa0bc0164c05a22e1105.png)

Of course not an ideal prompt but the medium Gemini model did the job. An improved prompt in a script, smart rule or batch processing could be used to automate this.

NOTE: DEVONthink was selected in _Settings \> AI \> Search_ for web & Wikipedia searches.

---

<div class="post-metadata">

### Author: ![kewms](https://discourse.devontechnologies.com/letter_avatar_proxy/v4/letter/k/85f322/32.png) [@kewms](https://discourse.devontechnologies.com/u/kewms)
#### Post date: [May 10, 2026, 2:21am UTC](https://discourse.devontechnologies.com/t/find-a-reference/86887/3 "2026-05-10T02:21:43Z")

</div>

By quoting the post directly into the prompt, you added additional context that I expressly do _not_ want to add.

> [@kewms](#):
>
> Ideally **without** me having to explain that “IEEE EDL” stands for “IEEE Electron Device Letters.”

This isn’t just semantic quibbling, because in many of these ultra-abbreviated references – used to squeeze into conference page limits – I don’t actually know what the abbreviation stands for.

In any case, could you elaborate a bit on how you might automate this task?

---

<div class="post-metadata">

### Author: ![cgrunenberg](https://discourse.devontechnologies.com/user_avatar/discourse.devontechnologies.com/cgrunenberg/32/7172_2.png) [@cgrunenberg](https://discourse.devontechnologies.com/u/cgrunenberg)
#### Post date: [May 10, 2026, 7:19am UTC](https://discourse.devontechnologies.com/t/find-a-reference/86887/4 "2026-05-10T07:19:04Z")

</div>

> [@kewms](#):
>
> By quoting the post directly into the prompt, you added additional context that I expressly do _not_ want to add.

You’re right but this was just my lazy prompting, this works also without this information (tested with Gemini 3.1 Flash Lite & Gemini 3.1 Pro).

> [@kewms](#):
>
> In any case, could you elaborate a bit on how you might automate this task?

A simple script and prompt could look like this:

```AppleScript
tell application id "DNtp"
	try
		if not (exists think window 1) then error "No window is open."
		
		set theSelection to selected text of think window 1
		if theSelection is missing value or theSelection is "" then error "Please select a citation or reference first."
		
		set thePrompt to "Find the URL for the following academic reference by performing a web research. Return ONLY the URL without any additional text, markdown, or explanations:" & return & return & "<reference>" & theSelection & "</reference>"
		
		set theResponse to get chat response for message thePrompt with tool calls
		
		if theResponse is not "" then
			display dialog "Found Reference URL:" default answer theResponse buttons {"Cancel", "Create Bookmark"} default button "Create Bookmark"
			
			if button returned of the result is "Create Bookmark" then create record with {name:theSelection, type:bookmark, URL:theResponse} in current group
		else
			error "No URL could be found for the selected reference."
		end if
		
	on error error_message number error_number
		if the error_number is not -128 then display alert "DEVONthink" message error_message as warning
	end try
end tell

```

After selecting the reference and running the script, I get this using Gemini 3.1 Flash Lite:

 ![Screenshot 2026-05-10 at 9.14.48 AM](https://devontech-discourse.s3.dualstack.us-east-1.amazonaws.com/uploads/original/3X/3/4/34f00b2ff2dd0039f2e0e9b0dbab02afa3cbd7ab.jpeg)
