Mastodon

Draft 5 Actions: The BirchTree Collection

Posted by Matt Birchler
— 4 min read

Drafts 5 has totally won me over and made me fall in love with url-schemes. They are basically a local restful API that can be used to accomplish quite a bit.

Below are 6 Drafts Actions that I have created to make using Drafts even better. All of these apps have actions already, some of which are even built into Drafts by default, but my versions are better in every case. While the actions you could previously get only let you add one element to a note or task, these actions will let you add tags, due dates, project names, and more.

I don’t ask often, but if you enjoy these actions and want to support my work, you can support BirchTree directly with a donation. All proceeds are pumped back into the website and allow me to keep dedicating time and effort into this passion project. Don’t feel compelled to donate if you don’t want to, but every dollar is dearly appreciated.

Add a new note to Bear

Install Bear Notes

Add a note to Bear with a title (required), tags, pin to the top, and of course all the content you would like.

  • First line of your draft will be the Bear note title.
  • Write “pin” on a subsequent line to pin it to the top.
  • Use a dash to indicate tags (can be comma separated)
  • All content should be placed below 3 dashes (---)

Example:

This is the Note Title
pin
- tag one, anotherTag, tag3
---
This is the content of my post, it is gooooooood.

It can be on multiple lines as well!

Note: I am working on a similar action for Ulysses, but Ulysses’ url-scheme is really elaborate and I want to do something really special with it, so that will be slightly down the road.

Add a task to OmniFocus with dates, notes, contexts, and more

Install Smart Task in OmniFocus

The task name must always be on the first line. Additional info needs to be prefixed by a set number of strings followed by a space:

  • “at” or “@“ are for due dates (using OmniFocus’s smart time parsing, so “10am tomorrow” works)
  • “context” or “con” are for contexts
  • “project” or “proj” are for projects
  • “flag” is different, as just writing it on a line by itself will work
  • “note” or “-“ (dash) will create a note
  • All lines that don’t match up with a prefix listed above will be assumed to be a note

Example:

Buy some milk
at 8am tomorrow
con grocery
note 2%

Creates a task to "But some milk" due tomorrow at 8AM with context Grocery and a note to buy "2%" milk

Add a task to Things 3 with due dates, notes, tags, and more

Install Smart Task in Things

The task name must always be on the first line. Additional info needs to be prefixed by a set number of strings followed by a space:

  • “at” or “@“ are for due dates (using Things’ smart time parsing, so “10am tomorrow” works)
  • “tag” or “tags” are for tags
  • “deadline” or “dead” are for deadlines
  • “list” is for projects/lists
  • “note” or “-“ (dash) will create a note
  • All lines that don’t match up with a prefix listed above will be assumed to be a note

Example:

Buy some milk
at 8am tomorrow
list grocery
- 2%

Creates a task to "Buy some milk" due tomorrow at 8AM on the Grocery list/project and a note to buy "2%" milk

Add a Todoist task with name, time, and priority

Install Semi-Smart Task in Todoist

Todoist doesn’t have the most robust url-scheme for creating tasks, but this will allow you to create tasks with due dates and priority flags.

The task name must always be on the first line. Additional info needs to be prefixed by a set number of strings followed by a space:

  • “at” or “@“ are for due dates (using Todaist’s smart time parsing, so “10am tomorrow” works)
  • A line with just the number 1-4 will set that as the priority
  • All lines that don’t match up with a prefix listed above will be assumed to be a note

Example:

Take a walk
@ 3pm tomorrow
4

That will make a task for “Take a walk” at 3PM tomorrow and set the priority to 4.

Add a simple reminder to Due

Install Simple Reminder in Due

Create simple reminder in Due. The reminder name must always be on the first line. The only other value that can be passed is a due date based on how far in the future you’d like to be reminded.

Acceptable times must be prefixed with “in “ or “In “ and can be in seconds, minutes, or hours1.

Example:

Get my coffee
in 14 minutes        // also accepts: mins, seconds, secs, hours, hrs

Quickly search LastPass

Install Search LastPass

Simply searches LastPass for the text in the draft.

Example:

Apple Store

Note that 1Password is my password manager of choice, but this action gets the job done already.

Post to Micro.blog with or without a title

Install Micro.Blog post with title

This is the same as the built in micro.blog script, but you can add a post title by adding a line with “# ” (include the space) in the first line of the draft. The first line will be the title (minus the pound sign and space) and everything below that will be the content.

If there is no “# “ on the first line, the entire draft is assumed to be the content and no title will be added.

Example:

# This is the title

And this is the content.

  1. I would love to make something like “8am tomorrow” work, but Due’s url-scheme makes it almost impossible to deal with dates in any reasonable way.