How to Make a Custom Forecast Perspective?

I want to make a custom perspective that is basically the same as the Forecast perspective, but having tasks with a specific tag being filtered out.

I don’t need the perspective to have the calendar and I only need it to show tasks that are due or deferred to today.

Is there a way to do this?

Here it is what you probably need. The tag Macbook replace by the one you need to be excluded.

Yup, I see what you did.

But instead of “Status: Due Soon”, is there a way to only see tasks that are due today?

Also, is there a way to show tasks that became available today, like the Forecast perspective shows?

Omnifocus doesn’t know due today status. Only thing you can do, is to setup that due soon means due today (Settings - Dates & Times - “Due soon” means: Today)

That’s disappointing.

I was expecting that it would be possible to make a custom perspective that duplicates the Forecast perspective exactly. Then I would only need to add a filter to filter out tasks with a specific tag. But it looks like it’s not possible to get anywhere close to duplicating it.

Not only is it not possible to filter for tasks due today, it also looks like it’s not possible to filter for tasks deferred to today and not possible to group tasks into due today and deferred until today lists.

In OmniFocus preferences, you can change the definition of “Due Soon” to be “Today” in order to accomplish this. This obviously affects the definition of Due Soon throughout the app, but depending on your needs it could be a reasonable change which would let you build this perspective now.

We plan to add more flexible date-based filtering rules in future versions of OmniFocus.


What you want has been working for a long time. I use a “TODAY” perspective that shows all TASKS that are due TODAY. Why don’t you specify in Omnifocus’ settings how to define “due today”, “today”, “24h”, “2 days”…?

My solution is simple:

You just would have to select the tag you want to focus on.
Close all groups except for the today group.

More flexible filtering rules in general would be good. As it is right now, the filtering rules are all pre-defined, which I feel substantially constrains the user in creating custom perspectives.

I think I would need a more customizable “Has a due date” parameter.

Instead of filtering for simply having a due date, I would like a parameter something like “Due date is:” and the ability to specify a specific a due date, or dates in a variety of ways, such as a range of dates, specify dates based on ‘today’, ‘next X days’, days of the week, days of the month.

I would also like a parameter such as “Deferred date is:” with the same methods of specifying the date or dates.

Perhaps the structure and procedure outlined below will help you with your problem.

I use tags for the chronological structure of my recorded tasks. Using tags like “Desktop”, “Mac”, “Phone” and so on are not conducive to completing my tasks. In order to structure the tasks according to areas of responsibility, I use folders and corresponding lists.
Below is the structure of my tags:

I only use a due date for upcoming, very important tasks (terminated) so that I don’t lose sight of them. These dates should actually not be used too often, especially not to generally set the completion dates of tasks.

I then have several self-created perspectives for an overview of my tasks:

  1. “TODAY” only shows current tasks with tags “Today” or “Burn” or current “Due Dates” or current “Defer until date”.
  2. “DO IT TODAY” only shows the tasks as in the “Today” perspective, but only those marked with a flag.
  3. “START DATE” only shows the tasks with “Defer until” dates in chronological order, so I can then schedule them more specifically using my date tags.
  4. “DEADLINES” only shows the tasks with “due dates” in chronological order, so that I can plan them more specifically using my date tags.
  5. “CALENDAR” shows the tasks arranged in the structure of the tags (as excerpted as shown above).

EXCEPTION: All “Tiny Habits” tasks ONLY appear in the Today perspective and ONLY have the “Tiny Habits” tag und no date-tag.

With these perspectives, I also do my daily review at the beginning of my working day or at the beginning of the day with my 3 cups of coffee. For example, on Fridays, all tasks associated with the “Friday” tag are then mapped to the “Today” tag, and “Friday” is then moved behind the “Next Week” tag. I do the same with tags with month or quarter names. In the “Calendar” perspective, I can see in a wonderfully structured way what is due in the current/next month or quarter and can then assign the tasks to more specific “date tags”.

For example: At the end of 2022, I was given the task of completing a report by February 15, 2023: I assign the task to the “January” tag, which is assigned to the “NEXT YEAR” tag. So I have a period of more than a month and can assign the specific appointment-tag at the beginning of January 2023.

I am very very satisfied with this procedure. No task “falls through my fingers” and I always have a wonderful overview. Maybe it also helps to plan your tasks well?


I use Kaitlin Salkze’s Omni Automation plugin: tag tasks due today. works great.


I also use folders to organize tasks according to “areas of responsibility”. However, I would say the folder structure is more like “areas of life”. Basically everything in my life is categorized in the folder structure and I use the same folder structure for my personal files on my computer.

It seems to me that your system of assigning date-based tags and continuously re-tagging tasks wouldn’t be necessary if OF had more flexible date-based filtering.

Also, I wonder if you could just use the Forecast perspective for you “START DATE”, “DEADLINES” and “CALENDAR” perspectives.

To accomplish what I want to do, I think I need to make two separate perspectives, one for tasks with a due date and one for tasks with a deferred date. The ‘Due’ perspective would select all tasks with a due date, be sorted by due date, with specific tags filtered out. Likewise the ‘Deferred’ perspective would select all tasks with a deferred date, be sorted by deferred date, with specific tags filtered out.

But even this doesn’t get me exactly what I would like because the ‘Deferred’ perspective shows lots of tasks that have past deferred dates and I have to scroll down through them all to get to those with a deferred date today - another limitation that would be eliminated by more flexible date-based filtering.

Perhaps I will start using something like this. But I think it’s an indictment of the software that users need to write their own code just to make a custom perspective.

I really don’t like how the filtering rules have pre-defined combinations of parameters. For example there are four filtering rules starting with “Estimated duration less than: …” In my mind this should be a ‘multi-level’ rule with the first level being the basic task parameter ‘Estimated Duration’. Then sub-levels would be additional parameters to define the rule, such as ‘less than’, ‘equal to’, ‘greater than’, for example. Then sub-sub-level parameters would be a specific amount of time that the user could specify however they want; seconds, minutes, hours, days. This would provide the user with effectively infinite flexibility in defining the rule.

It seems to me that your system of assigning date-based tags and continuously re-tagging tasks wouldn’t be necessary if OF had more flexible date-based filtering.

What you call “re-tagging” is the great advantage of this system
I’m very glad I need to remap the date tags. I had used start/defer dates very often in previous years. I noticed more and more that I was losing track of all the data. For example, next year I have to think about getting new software for my tax return in the first quarter.
What date would you use for such kind of tasks?. I then assign the tag “@1️⃣-Quater” to the task. According to your approach, I now have to find a concrete start date and time for the completion at the beginning of 2024 and enter it in the task?
I’m very happy to do my reviews using the date tag system. The time to re-tag some tasks is extremely low and with my 300+ tasks in Omnifocus it gives me a great overview of the chronology of my tasks. I didn’t think I could keep an eye on everything with my system, but it works now.I only need to click on tags (e.g. “January” without any perspectives of my own and I see all the tasks that I want to do/tackle in January. Mouse click, hold down the button and move and immediately I have the tasks in “Next Week” (must then just remove “January”). That’s not a hassle. It’s more of a visual experience to move the tasks back and forth so “nicely”.
I got the inspiration for this system from Colter Reed and I am extremely grateful to him. A More Powerful Way to Schedule Tasks in OmniFocus | Colter Reed

For your task to getting new software, first of all that would probably be a project on its own in my system because I imagine it would involve researching various software options.

I would defer the project to say January 1, 2024, and within the project would be a task to purchase the software, which I would assign a due date of say January 31, 2024. Instead of using the “January” tag, I would use the Forecast perspective and scroll down to find tasks due in January.

If your system works for you, that’s great. OmniFocus finally gave us more than one tag in version 3, and that make the software much more flexible and able to do what you are describing.

The difference in our way of working with scheduling is that I very rarely use due dates, e.g. to set a fixed deadline for an important report that must not be missed. In concrete terms, this means that if I have to deliver the report at the end of March, I assign the tag “March” and set the due date to “03/31/2023”. In my “DEADLINES” perspective, I always have an eye on the all tasks with fixed deadlines. In my weekly reviews, the closer the deadline gets, I can tag the task with a corresponding tag for completion (e.g. “Next Week”) and I can schedule the work better. I don’t need a due date to check the water pressure on our heating system. I can just tag that with “February” and when I see in the review that this work is due in feruary, I can just say, hey, tomorrow (“Saturday”) or next week (“Next Week”) I have some time to do that and assign the appropriate day.
I used to use a lot of due dates and eventually realized that I was mixing the important with the unimportant.
Referring to my previous posting: I have a lot of time until August next year for my tax return before I get in trouble with the tax authorities. So I can buy and install tax software sometime early in the year (“January”). At some point in March (“March” day) I have the task of arranging my documents and in “May” I secure a day to do the tax return in a relaxed manner. I really only need a due date for sending the tax return to the tax authorities.
I currently have around 550 tasks. If I put defer and due dates on all of these, I would be in chaos.
With my scheduling method, I have a good overview and can see at a glance which important tasks have to be completed by when. The earlier use of due and defer dates almost made me stop using Omnifocus (a schedule chaos). With scheduling with tags, just click on e.g. “February” in the tag perspective and you can see all scheduled tasks. Moving and distributing to other date ranges for more concrete planning only requires a few mouse clicks. The removal of the old tag is then done in a flash, instead of laboriously changing dates for each task.

Forecast and the Due Date hell To get stuff done with OmniFocus, take it easy on the due dates - Inside OmniFocus

I think you could run into problems if you need to skip a weekly review, because your system seems to be reliant on regular re-tagging of tasks to different time periods.

But if OmniFocus gets more flexible date-based filtering I think you could return to putting defer dates on everything (and judicious use of due dates) and set up custom perspectives to filter for “@This Week”, “@Next Week” etc, replacing your tagging system. Then your tasks would automatically be filtered into each of the custom perspectives.

Do not worry about me.
I’ve been using the date tag system for a long time and haven’t encountered any problems. Instead of fumbling around in date fields, I’m so much faster and everything is clearer. I don’t have to set a specific date for next year (2024) when I have to exchange my driver’s license card for a new one, for example.
Tagged with “Next Year” is sufficient. At the end of 2023, I’ll quickly move the task to a likely suitable month. Only at the end of 2023 will I know when, for example, I will have my vacation weeks at work in the coming year and then I will be cycling in Europe. Why should I already set an exact date in 2023 in a period of almost 2 years?
I don’t know why you think it would be a lot of work to maintain my system. Before, when I only used due and defer dates, everything was much more complicated to process and I will never come back a to due/defer date structur.

I see that you have a different way of using OF than typical, which is fine.

Just for comparison, in the example you gave of renewing your license each year, in my system I would set the “Defer Until” date to something like a month before the deadline to renew, the “Due” date would be set say one business day before the deadline and I would flag it also. When the task became available on the Defer Until date I would see it then change the Defer Until date to something more suitable.