Workflow: Get ESV Bible Verse
One common challenge I run into while taking notes during regular Bible reading is writing down the text of a verse or short passage that was meaningful to me. I usually like to jot down the actual text in Day One and write a few notes about what “stood out” during my reading - but because I prefer to read from a physical Bible, the tedious part is typing out the words.
An API For the Bible
I recently came across an article from Chris Bowler about the ESV API, and I was somewhat thrilled to discover that Crossway actually has a fully-functional REST API for the ESV Bible. Last weekend I spent an hour or so reading over their documentation, and I even created an account, mulling over the possibilities of using the API for various needs. One morning a few days ago, I realized I could use the ESV API to help with noting down verses that stand out during my daily Bible reading.
A New Workflow
I did a bit of research first to see if anyone had ever used a REST API in Workflow, and it appears that it’s actually quite common. Armed with a few examples, I built a new workflow from scratch while on my lunch break. Here’s the general plan I followed:
- Get the input text. I’m assuming the input is some sort of Bible reference.
- URL Encode the input text so we can put it in the query string of our API call
- Build a URL that includes the query, along with a few default parameters
- Use a
GET
call to query the API, passing my Authorization token in the Headers as described in the API docs. - From the output of the call, get a “Dictionary” value called
passages
which contains the verse text. - Copy the resulting text to the clipboard.
This workflow allows me to use the “share” action on a selected Bible reference (e.g. “Matthew 6:5-8”) and run my Get ESV Bible Verse workflow. Then, all I have to do is paste, and the actual text from my clipboard replaces the original reference.
If you’re interested, feel free to download the workflow and try it out!