HI There,
I enjoy using things3 from cultured code as my todo app. I use a variety of ways to enter todo items into the app: The app itself on iPhone and my Mac as well as Siri and Drafts on iPhone and an Alfred Workflow on my Mac.
All methods have one thing in common: You cannot easily and quickly enter tags, dates and what project the todo is to be filed under. The Quick Entry Window in Things3 allows to do this with a number of clicks but I'd like to speed up the process with only keyboard entry.
What I would like to accomplish is the following: I enter a todo in Alfred on Mac, Drafts on iOS or the Quickentry of Things3 like this: "task title @project#tag1#tag2 !date" and now somehow ensure that Things3 moves the todo to the project entered and adds the tags and review date. Is this possible with applescript? I just do not have enough understanding the matter to see if that is even possible: https://culturedcode.com/things/download/Things3AppleScriptGuide.pdf
This would be GREAT to have a better quick entry in Things3. It’s all possible in the native quick entry window, but the number of clicks and tabs is a bit surprising for such a polished app.
Anybody KM automate this yet ....? I also don’t have the chops to script this stuff yet
@David_Landes I only just saw this post today thanks to @schiasson bumping it, so this macro is still rudimentary, but in my testing, it does accomplish what you describe. This version uses a KM Prompt for User Input action, but it could be modified to accommodate entry via an Alfred workflow without too much trouble.
Instead of AppleScript, this uses the Things 3 URL scheme, which may actually be more flexible when it comes to parsing dates (for example, I've set the review date to the current date by default, but you can use "today" "tomorrow" "in 3 days" etc. for the date. See that link for more information).
Thanks for that macro. I installed it and see there are some special characters to type as you create the entry : @ ! etc. Not something totally intuitive to me as I quickly want to dump an idea out to remember later, but maybe with repetition it would get easier.
Since the main use of tweaking the quick entry was to send to different projects without 17 tabs and arrow keys, maybe I can modify this to have some pre-chosen projects identified and use palettes or another KM feature. I’m early into exploring so will have to see what’s possible, but hearing nothing is impossible with this app.
No problem. I only used those special characters in this macro because that was what the OP said he wanted; it's absolutely possible to create a macro that doesn't. Off the top of my head, you could also preface each field to be filled in with words and a colon, like Title:To-Do and Project:Work, just by way of an example.
It's also definitely possible to create several similar macros with pre-defined projects or tags, select one from a palette or a Prompt With List action, and then just enter the task name or review date or whatnot. My advice is, see how far you can get on your own by modifying my example macro, and if you can't seem to tweak it to a system that's more to your liking, feel free to report back and ask for further help.
I assume you're using KM 9? KM 9 changed the way the "Percent Encode for URL" filter worked, so the macro just needs to be updated to account for that. This tweaked version worked in my testing:
I haven't seen this done personally, but there's no reason the strings would jam everything up. You could assemble a Things URL that way just like I did with the single-line prompt here. You might even be able to re-use most of the same actions, maybe just changing the ones at the top that process the text from a single string.
I'm afraid I can't tell where the problem could be from that screenshot alone, since you didn't show the part where you use the new variables to build the URL. That said, I can tell you that you don't need to use the same @, #, and ! notation here, since that was only used in the single-line version to tell the macro how to parse the different text. With a prompt like this, you can just enter the text directly and it will work fine as long as the resulting URL is correct. In fact, with a prompt like this, you can even go a step further with a little AppleScript and have the macro automatically populate the area/project and tag dropdowns with the same projects and tags you're already using in Things:
tell application "Things3"
set AreaList to name of every area
set ProjectList to name of every project whose status is not completed
set TotalProjectList to AreaList & ProjectList
set TagList to name of every tag
end tell
set text item delimiters to "|"
set inst to system attribute "KMINSTANCE"
tell application "Keyboard Maestro Engine"
setvariable "LocalProjectList" to TotalProjectList as text instance inst
setvariable "LocalTagList" to TagList as text instance inst
end tell
Thanks, but it just comes with experience
The more you use KM and learn what it can do (especially in conjunction with AppleScript or JavaScript for Automation) the easier it becomes for anyone to make macros like this.
That's a KM bug, yes. Fortunately, you can work around it by hitting Escape once, and from then on it will let you use the arrow keys as you'd expect.
Well thank you so much! I've learned a lot about apple script from the awesome users of this forum and have enjoyed the process of creating these macros! Thanks again!
I know this is an old post, but as to quckly allocating a task to a project, that's easily done by hitting ⌘⇧M. As far as I know, that works in QuickEntry and in Things itself Maybe they added that after this post was made!