in Notes

Zapier to PDF in DevonThinkPro – Tutorial

As a follow-up to my last post on my automations for DevonThinkPro and some feedback on DevonThink’s blog post covering my workflow, below is a more detailed tutorial for how I archive PDFs of web content I want to preserve. To recap, using a combination of Pocket /RSS, Zapier, CloudConvert, Dropbox and Hazel, I end up with the following:

1) Paginated searchable PDFs in a synced DevonThinkPro database, searchable on my iPad, iPhone and MacBook.
2) Links saved to Pinboard (and saved for good measure using Bookmark Archiving)
3) Running list in Slack of the latest archived content

Prerequisites

  1. Pocket and/or RSS feed to supply your content
  2. Zapier account
  3. CloudConvert account (a free one will be fine to start with)
  4. Dropbox account (installed on the same device as DevonThinkPro)
  5. DevonThinkPro installation

In Zapier’s Account Settings, make sure you’ve connected to Pocket, CloudConvert and Dropbox.

Optional
Pinboard account
Slack account

Part One – Trigger (Pocket)

01-pocket

  1. Create a new Zap and choose Pocket as your Trigger App.
  2. Select the Pocket Trigger “New Tagged Item” (3rd one down), Save + Continue.
  3. Make sure your Pocket account is selected (and works via the Test button) and “Save + Continue” again.
  4. Choose the Tag you want to use (I chose “ark” as it’s short), go to Pocket and tag an item with the tag you chose, then return to Zapier and click Continue.
  5. If all goes well, you’ll get a success message, and clicking Continue will take you to the Action section of your Zap.

02-pocket-test

Part Two – Action A (CloudConvert)

03-cloudconvert

  1. In the “Choose an Action App” page, select CloudConvert, click Continue, then select “Show Less Common Options” and select “Save Website”, then click Save + Continue.

04-cloudconvert-select

  1. Make sure your CloudConvert account is selected (and works via the Test button) and click Continue.

  2. This section sets the CloudConvert options for converting the website to PDF using its API. Here is how mine is set up:

05b-cloudconvert

NB CloudConvert allows you to create certain presets for conversions here, I created a simple preset for PDF, no javascript, set margins and saved as Standard, hence the preset name in the 3rd box above. “Converter Options” can be left blank.

05-cc-preset

To get the entry, for example, for Website URL, click the dropdown icon on the right of the entry box, wait for Zapier to load the options (i.e. all the information it has parsed from your Pocket Trigger item) and select Resolved URL.

Enter a tag if you like (particularly if you’re using CloudConvert for anything else, and I choose No for whether I want to resulting file saved on CloudConvert, as we will be saving this to Dropbox.

06-cc-final

  1. Click Continue and make sure the test is successful. Don’t click “Finish” at this stage as we need to add another Action, click Continue on the above page and then click “Add a Step”.

07-cc-success

Part Three – Action B (Dropbox)

08-dropbox-select
1. In the “Choose an Action App” page, select Dropbox and select Upload a File and Save + Continue.
2. Make sure your Dropbox account is selected (and works via the Test button) and click Save + Continue.
3. In this section, you should select where you want the file saved (in Dropbox on my Mac I created a separate “DTP Incoming” folder).
09-dropbox-options
4. In the “File” section, click the dropdown icon on the right of the entry box, wait for Zapier to load the options, select the second item (2. Save Website and then Output File at the bottom).
5. In the “Filename” section, click the dropdown, select the first item (1. New Tagged Item) and select Resolved Title or come up with your own naming system.
6. In “Specify File Extension”, type in pdf and click Continue.
7. Make sure the output on the test page looks correct and click Continue.
10-dropbox-output

At this stage, if you just want a PDF of your articles saved to Dropbox, you can simply name and turn on your Zap and we’re done with Zapier and you can skip to Part Six below.

If you’d also like to save a link to Pinboard and/or drop a message into Slack, read on.

Part Four – Action C (Pinboard)

  1. Head back into the Zapier Dashboard, select the dropdown on the right of your Zap and select Edit.
    11-pinboard-select
  2. In the familiar Zap screen, scroll down to the bottom of the left-hand column and select the large plus icon, and in the “Choose an Action App” page, select Pinboard and after checking Create a bookmark is selected, click Save + Continue.
  3. In the Pinboard options screen, using the dropdown on the right, for URL select Resolved URL, for Title select Resolved Title and for Description, I use the Excerpt option (all of the above in the 1. New Tagged Item section).
  4. Complete the remaining options according to preference and click Continue, testing if you wish on the next screen. At this stage, if you don’t want Slack logs, you can re-enable your Zap (it is automatically disabled each major edit) and you’re done with Zapier and can skip to Part Six below.

Part Five – Action D (Slack)

  1. As above, edit your Zap and in the “Choose an Action App” page, select Slack and after checking Send Channel Message is selected, click Save + Continue.
  2. In the settings for the Channel message, choose a Channel (I have a private non-notifying g-log channel) and for the Message Text I have used Article “Step 1 Resolved Title” saved to DTP from <"Step 1 Resolved Url| here>.". which creates a neat Slack message with a log of what was saved and its source. You can of course amend this as you wish, Slack formatting guidelines are here .

12-slack-options-1

13-slack-options-2

  1. Run through the other settings, I select Yes for Send as a Bot, use :pushpin: as my Bot Icon Emoji and I choose not to have links auto-expanded.

Part Six – Dropbox to DevonThinkPro

To recap, we now have a way of funnelling a saved link in Pocket to a nicely-formatted PDF in a chosen Dropbox folder. The final step is to import this into DTP. I personally use the excellent Hazel for this, but you may choose any other method of scripting an import into DTP (Folderscripts etc), or if you have low traffic may wish to do this manually.

I have a simple Hazel rule that watches the Dropbox folder I chose in Part Three above and imports anything found in that folder to DTP.

14-hazel-rule

The Hazel rule does three things:
1. Adds chosen tags (I have chosen source_web and ark)
2. Runs a simple AppleScript to import to a specific folder in my Cabinet:

tell application id "com.devon-technologies.thinkpro2" set dest to get record at "Ark" in database "Cabinet" import theFile to dest end tell

15-hazel-as

  1. Moves the PDF to Trash.

Other Sources

I don’t always save articles to Pocket for reading and read shorter blog posts etc within Feedbin (any feed reader is possible here though). Feedbin has a useful Starred Items RSS output, so I have replicated the above Zap and replaced the “New Tagged Item in Pocket” with the RSS Feed Trigger in Zapier. This does mean you have to use two of your valuable Zaps, but at this stage there isn’t (AFAIK) a why to combine two triggers into one Zap (although the Digest trigger looks promising).

Conclusion
This is my first attempt at describing a Zapier workflow (and I need to improve the screenshots) so please let me know if there are any gaps. Hopefully the above will provide some inspiration for your own workflows; as always happy to answer any queries.

The next stage of this workflow is to create a synching DTP database which can be accessed on DT on iOS and elsewhere, but for this I’ll direct you to DevonThink’s tutorials.

Write a Comment

Comment