Using Apple shortcuts to add notes to Tape

Hey everyone,

Here is a simple little productivity tip. Tape maximises the power of having everything in one seamless place and quick note-taking, whether on your desktop or mobile, can make all the difference.

For Apple users, here is a simple automation trick that can significantly speed up this process. If youā€™re on Android or Windows; there are equivalent solutions out there.

Hereā€™s what youā€™ll need:

  1. An App for Note Storage
    Create one and customize it to your liking. Personally, you definitely donā€™t need all the fields I have:

  1. Setting up Webhooks
    Create an automation with 'When a webhook is received".

I have three quick entry types:

  • qn for notes
  • i for ideas
  • a for actions

The code snippet provided helps to process the note and extract any entry type specified at the start. If none is found, it defaults to QN.

const mn = jsonata('note').evaluate(webhook_payload_parsed);

if (mn.includes(" - ")) {
  var_note = mn.split("-")[1].trim();
  console.log(var_note);
  var_prefix = mn.split("-")[0].trim()
  console.log(var_prefix)
} else {
    var_note = mn
    var_prefix = "QN"
  console.log("String does not contain '-', so default used.");
}
  1. Creating an Apple Shortcut
    This is incredibly simple. Add an ā€˜Ask forā€™ field and then a ā€˜get the contents of URLā€™. Set them up as shown in the image below:

melotte.consulting 2023-10-25 at 18.34.30

You can trigger this shortcut via various methods on your iPhone; ā€˜Back Tapā€™ is particularly handy. I also have a keyboard shortcut on my Mac to launch it.

Pro tip for Mac users: Instead of hitting return, use [Command] + [Return] āŒ˜ + ā†µ to close the window and send your note into Tape.

  1. Adding a Title
    While I prefer not to give my ā€˜quick notesā€™ a specific name, having a general idea can be helpful in the list view. Hereā€™s a calculation field that takes the first 6 words from the note when a name isnā€™t available:
const d = date_fns_tz.format(ļ»æ@Created onļ»æ, 'yyyy-MM-dd HH:mm')
const n = ļ»æ@Noteļ»æ.split(' ').slice(0, 6).join(' ');
if (ļ»æ@Nameļ»æ !=null && ļ»æ@Nameļ»æ !== "") {
ļ»æ@iconļ»æ + ļ»æ@typeļ»æ + " - " + ļ»æ@Nameļ»æ + " - " + dļ»æļ»æ;}
else
{ ļ»æ@iconļ»æ + ļ»æ@typeļ»æ + " - " + n + " " + dļ»æļ»æ;}

With this setup, once youā€™ve captured that ā€˜thoughtā€™ in Tape, the possibilities are endless. You can expand on it with AI, turn it into a task, or link it to a contact to name just a few.

8 Likes

Absolutely phenomenal @Jason - much appreciated!

1 Like

Exciting stuff @Jason - this looks really useful. :eyes:

Also a Mac user here, so Iā€™ll roll out a variant of this - amazing! :rocket:

Very cool @Jason! Beats using the email to app triggered with an Apple shortcut.

2 Likes

Thanks @joelhall another one I quite like is scanning an NFC tag and sending the tag name and time of the scan.

1 Like

@Jason this is really awesome.
My shorcuts on mac in phone are already in full mode.
Thanks for sharing this with us :rocket::+1:

2 Likes

So I am setting up a new Siri Shortcut to get text data and select an option from a list (that will then be used to set a single select category field). I am getting the variables from the web hook successfully but canā€™t for the life of me get the ā€œTypeā€ variable to pass through when creating the record. For example, Siri Shortcut runs and I give name of note, details (both text), and then select from Menu the ā€œtypeā€ of record it is creating (which should tie back to the single select field). The text fields load successfully but I am missing something with trying to convert the type payload into a variable to be used.

Hi @joelhall

Are you trying to pass the ā€˜Typeā€™ directly into a single select field with matching name? As I donā€™t think that works (at least I have never managed to) so I use conditional actions for example: if webhook type is a then set type field to a.

Does that make sense?

Iā€™m on my phone so sorry if Iā€™m not making sense :slight_smile:

Thanks @Jason yes that is exactly what I was trying to do. Glad Iā€™m not going crazy that it didnā€™t work for me. Yes I think your proposed solution makes sense. Will give that a go, thank you!

1 Like

@joelhall
Definitely not going crazy I always feel like what you were trying to do should work and have spent a good amount of time myself trying to make it work :frowning:

Ok maybe I did go crazy. So the flow getā€™s the web hook payload, then I am doing a conditional create for each ā€œtypeā€ option that could be returned. Iā€™m missing something with creating the variables for all three though I believe (putting text name and text details into record with variable from payload isnā€™t working either).