Create draft with Apple Watch Ultra Action Button

I am trying to figure out how to use my Apple Watch Ultra Action Button to trigger a shortcut that allows me to choose a pre-canned text from a menu and insert that text along with the time and save it to a draft in the drafts app. For some reason I get such sporadic and unreliable success with it. If I run the shortcut from my phone it works perfect. If I run it from my watch, it records the time, but not the text I choose. I don’t know if it’s because I’m trying to do it all on the watch and drafts or shortcuts is just glitchy on the watch or if I’m doing something wrong. I’d love it if someone could take a look at this and let me know if I’m doing something wrong or if I could do it more efficiently. Here’s the link to my shortcut:

https://www.icloud.com/shortcuts/178c2161d57b4c429af96e18fd7a20eb

There shortcut looks pretty straight forward. Based on the result, either the chosen item is failing to be passed on, or there is no item being selected.

Running it on my non-Ultra watch, I could generate the result of getting just the time, and confirmed there was no accidental non-selection being passed.

Moving the content to append into a separate text action I was able to see newlines added in the draft with no content at all - not even the time. Adding in a show result confirmed the full content was in place.

Adding a further show result at the end seems to give me a reliable result with the updates then working. I tried substituting the final show result with a wait and a text action pulling in the result, but neither of those had the same positive effect as the show result.

That suggests it isn’t a timing issue (given a few trials of ‘Wait’ actions didn’t change anything), but it could be a watchOS shortcuts issue or an issue with the particular Drafts action on watchOS.

Here’s the test shortcut I ended up with that seemed to mostly work, based on your original. Given the number of interrupting show result actions I wouldn’t suggest this as a solution, just for use in further testing.

If we take the original shortcut and substitute in Apple Notes for Drafts…

… I get the same results. The time is logged when run from the watch, but not the list selection.

In combination, this strongly suggests to me an issue with Shortcuts on watchOS in passing the data around.

On that basis, I wondered if we could be more explicit in holding the data - putting it into a named variable rather than relying on magic variables. My tests seem to indicate that does indeed workaround the issue. Here is the slightly amended shortcut. See if it works for you.

Hopefully that will give you something viable that you can use now rather than waiting on Apple to resolve the issue.


FYI @agiletortoise, see if this analysis makes sense to you, and if so, just something to be aware of in case any other Drafts users flag it.

Yes, there are bugs in Shortcuts passing values around when some shortcuts are run on watchOS, and placing the values in an interim variable works around the issue. Same technique is used in the dictation example shortcut I share to avoid this issue. @sylumer’s example should be reliable.

2 Likes

Wow! Thank you so much for all the time you put in to testing that! I’m glad that it was not just me, because I kept thinking I was just doing something wrong. When something doesn’t work, I typically immediately assume that I am the problem and rarely jump to the thought that there is something wrong with the actual software. I have modified mine to save an actual variable instead of the magic variable, and it is working perfectly. Again, thank you so much!

I just wanted to add that I have an Ultra and tried to get a simple voice to text into apple notes, with very limted success, basically sometimes it worked and other times it didn’t (for no reason), Though on my iphone works every time.

Though will review the above and see if that helps as still keen to have a simple way to do this :slight_smile:

Just a follow up, the suggestion above worked extremely well. Dictating text and selecting pre-canned text and storing it in a variable (Not a magic variable) works every time for me now

1 Like

Thanks, I will give the shortcuts shared above a go :slight_smile: