Are we all just pretending Natural Language input is not a thing?

I used Todoist and have come to OF and love it precisely because it doesn’t have natural language parsing. Because natural language input across the entire app would change it from a GTD app to a reminders app (IMHO)…

It is sad to see that people are now using the antispam feature to flag posts they disagree with. Can we all act like adults in this discussion and refrain from childish behaviour such as flagging non-spam posts as such?!


I don’t really get the animosity around this topic. OmniFocus is software that gives you many different ways to do things already, if for some users having NLP functionality like Todoist would be more convenient, then why not consider it, perhaps with a toggle that allows users who do not want it to simply disable it.

Personally, I’d appreciate if this was part of OmniFocus - I create and remove repeating tasks fairly regularly based on what I’m doing at work, and writing “Check in with X about Y every Monday” in the quick entry box would be much more convenient to me. I don’t think it’s an all or nothing thing either - there’s plenty of tasks I wouldn’t use this functionality for, but there’s also plenty of tasks that I would. For me, having a feature like this is about ergonomics: it’s another way in which OmniFocus can adapt to the way I prefer to work, as opposed to the other way around.


Text parsing would be great. I’ve got a work system which automatically e-mails me individual tasks. Those e-mails always follow a templated format. They list the task name, the project, and the due date in the body of the e-mail. If OmniFocus had text parsing, I could forward those e-mails directly into Omnifocus and have Omnifocus do the work of assigning due date & project name based on text parsing. As it is, I can forward the e-mails (or use mail extension) to put them in Omnifocus, but I still need to enter due dates & project names by hand. It’s a silly amount of duplicated effort when that information is already in the e-mail and is clearly labeled with natural language “It’s due on Nov 21” or “Related to: Project X.”

I’d be interested in trying this, but have found Workflow (Shortcuts) confusing. Any chance you could point me in the right direction about how to pursue this, @phukus?

Need natural language, complete quick add please! Omnifocus is the best, but need more fast easy to add!

1 Like

The Fantastical model is brilliant. I love how it shows you an animation of the parsing. For those who have never seen this, it opens a window from the menu bar, displays the text to be parsed (e.g., Lunch with Ted at noon next Friday at French Bistro), then animates filling out the calendar form with the components.

Lunch with Ted → subject of calendar entry
Next Friday → pre-populates the date picker
at French Bistro → opens up the place search with this phrase

Sometimes there is nothing else to do but confirm. Sometimes tiny tweaks. In all cases, it saves time and drudgery. The animation helps you learn how the parser works and makes it easy to get better at typing exactly what you want.

It’s fast and delightful.


Agree, +1 for natural language input. I’m so used to being able to do this on Fantastical, and I keep entering this by default in OF too, and then stopping myself and changing it or using the date picker, which feels really kludgy in comparison.

OF is a great tool and this might be seen as pedantic, but given how common this is elsewhere, I hope the team treats it as an entirely reasonable feature request !

Is there not a privacy issue here? Natural language processing relies on external servers, and therefore private data being transmitted across the internet, whereas OF makes a big thing (rightly) about the encryption and security aspect of the app and the data.Natural Language imput would negate that surely?

The two things seem, at least at the current state of tech to be mutually incompatible. Personally for me NL is not a big thing, I actually like the precision needed to add the task correctly in OF, it makes me think if I have it right or even need it at all.

Not sure where you got that idea. Todoist does this on-device - it works on my iphone in airplane mode, my laptop while disconnected from any network, etc. It absolutely does not do this on an external server.

That may have been true a loooong time (more than a decade?) ago, but it certainly hasn’t been for some time.

This is something I don’t understand… it’s exactly as precise either way.

“Take out trash on wed 6p #chores” has all of the same info as clicking in 3 separate fields/using the date picker, etc, but I get to do it all in one ‘sentence’ without lifting my hands from the keyboard.

and if you want something repeating, you save a TON of click/select:

“take out the trash every wed at 6p #chores” does everything, precisely, in one line. Schedules for Wednesday at 6p, sets the repeat for every week, and puts it in the Chores project.

I’m not asking to remove the old enter-everything-in-a-separate-field method, all I’m asking for is to parse the “name field” for the other info. Simple, preference check box to enable/disable.

And no, you don’t need a cloud sever to do any of this

Precision is not the correct word here but I think I understand what is meant. Your example is actually unknowingly describing the problem what is meant. You have 1 field with information of 3 (or even more) fields. In other words, you are not seeing all of the information that can be entered. For some that can cause items to be created where half the information has been forgotten (which contradicts what OmniFocus is meant to do). Having some visual keys (read: see all the fields) can aid in that. This is the reason why many are using sticky notes and putting them on the front of their monitor, right where they can see them.

NLP does not say anything about it being done on-device or somewhere in the cloud. It can be either one or both (as what Apple does with Siri). It really depends on how the developer has chosen to implement it. I can imagine that they’d use an external service so they don’t have to go reinvent the wheel. It simply reduces their workload (especially when they want to support multiple languages). Only way to find things like this out is to contact the developer (if they are offering the product/service in the EU they have to mention it due to the GDPR legislation).

If you want to know where @TheOldDesigner has gotten the idea from then take a look at what Amazon, Google and Microsoft offer as services to developers. Microsofts Visual Studio Code is a good example of an application that takes use of such a service from Microsoft. It uses NLP for searching through its settings and that is a online-only service Microsoft offers. In other words, searching in the settings of Visual Studio Code will transmit all of what you entered to Microsofts servers in the US. They do provide an option to turn this off.
The more problematic implementations are the ones that use both ways (on-device and cloud) with one being the primary and the other being the fallback. It then may look like it is working offline but in reality does not because it is simply falling back on on-device.

The danger with what I would call “off hand data entry” is that NL reduces somewhat the need to actually be “with” that task while you write it. Is it correctly formatted, is it relevant, does it move the project forward, could I break it down/word it better? For me anyway NL takes that away somewhat and risks my system becoming corrupted.

I can see with appointments where it’s more clear cut, you either have or do not have an appointment/meeting. Tasks are very different.

But that’s just me.

Why would you only see 1 field? This is the frustrating part to me… there are several examples of how this has been implemented and yet so many here shoot it down without actually taking a look. Here is the example from Todist:

Nothing is hidden here. You see every field that can be entered, and as you type you see exactly what the parser has picked up from the one-line entry.

Here’s another one that would take many clicks and several windows to do in OF:


I get that… which is why, just like with many other options, the user can use it or not. For some it works, for some it doesn’t. No one is ever forced to use it - Todoist also has a setting to turn it off.

Many productivity apps have implemented this - Fantastical, Todoist do it best… but Things, Apple Reminders, Google, Remember the Milk, etc all have parsing of the “input field” to auto-fill the task info. It’s become almost a “standard” feature in the industry at this point.

All I want is the option.


there are several examples of how this has been implemented and yet so many here shoot it down without actually taking a look.

I find that super weird, also. It’s almost like people take pride in doing it the hard way, like it’s a right of passage. Or maybe it’s Todoist envy. Natural language input as an alternative you can use by choice is so obviously badass once you’ve used it.


1 Like

@mtrifiro Yeah I was surprised to the negativity as well. I have used a well known calendar app for many years that has natural language input and I fail to see why OF doesn’t consider it as an option for it’s many diverse customers.
Other todo apps have varying forms of natural language input so it is perfectly possible for it to be implemented in OF.
I would imagine this matter must be on the minds of the good folks at Omni, and possibly in a new version of OF, implement natural language input as a switchable option.

1 Like

You are misunderstanding what is said. If you take a look at your screenshot you can easily see that it it is hiding 6 fields. What you see are icons and that’s it. It requires familiarity with the application in order to know what those icons mean and why 2 of them are actually greyed out. You also have no idea what kind of data you can enter: date (with a datepicker or by typing), numbers, text, something else?
From the looks of it you can probably expand that dialog to actually show you all those details. For a lot of people seeing the field name and what kind of value they can enter gives them more control over things. They see it as being more precise.

You also seem to not understand what this dialog is actually for. This is a quick entry dialog that is based on the GTD principle. That means that you only enter text. The item will get saved to the inbox. At a later time you go through all those items in the inbox and process them by assigning tags, projects, dates (due, defer), etc. Not everyone works like that. Some people want to do all that when they enter the item because if they don’t they might forget.

However, the biggest misunderstanding is thinking that this has anything to do with natural language input: it doesn’t. This is about the overall user interface of the application. Again, natural language input is not going to solve the user interface issues that are discussed here. It is, however, a very neat and useful addition for quick entry of items. Use and see it as such but do not make the mistake over and over again of thinking it is a way to improve UX. If you want to hammer in a screw then by all means do just that. That still doesn’t mean it is the correct tool to use (that would be a screwdriver in this case, not all screws are meant to be hammered in).

And lastly, if you want to use natural language input with OmniFocus then you can already do so with Siri. Very strange that people keep going on and on about the natural language input while OmniFocus has had this since OmniFocus 2! Try this article: Collecting with Siri in OmniFocus with Reminders Capture. As you can see things have improved greatly since iOS 11.

I also would like the option to parse text. I’m at university, and so the beginning of a semester is a major time–suck entering in dozens of simple actions that only need a name and due date, and assigned a class. Something like Assignment #1 due Apr 6th #EMGT2050 would be great.

This is only a personal reflection, but a couple people mentioned animosity and @steve28 I’m sure this wasn’t your intention, but I think that part of the tone of this thread was influenced by title. Without any context, “are we all just pretending Natural Language input is not a thing?” is a confrontation more than a feature request, and it’s easily read as a challenge to, or a criticism of, all the staff and users on the forum. Maybe that was part of where people were coming from with their responses?

I’d like to keep hearing about the feature request itself, and how it would work and the issues to its implementation that people have raised. I’m going to send in a feature request too, but the feedback so far has already explicated what it is I’d actually like to see.


Assuming you have the data in a parseable format you could easily generate TaskPaper for that - which would be extremely fast.

1 Like