Skip to content

Don't paste that AI Notion formula

5 min read
A hand holding a red pen over a blank notebook

In the previous article, a pair of quotes turned a date formula into an unknown type. A generated formula can write that shape. Check it, and three cousins, before you save. 💯

This article is a part of the Fantastic Formulas series. This series features helpful articles about formulas in Notion.

Notion’s help says you can create and edit formulas with Notion AI, on Business and Enterprise plans. The same page says those answers come from language models, and that you should double-check them. The formula editor has a Show types toggle for that check. A formula can still fill the column and be the wrong type. 👀

Today we will run four checks. Just like in the previous article, I will proceed with a simple database. This time, let’s say we want days left, a VIP check, and the status on the related project. 👀

In this database shown below, you can see 4 properties. First property shows the task name, second one shows the due date, third property is a multi-select called Tags, and the fourth is a relation called Project. ✅

Tasks database with due date, tags, and project Example - Simple Tasks database

Harbor has no due date, no tags, and no project. That is the row the checks have to survive.

The numbers below are for 26 Sep 2026, the same day as the days left article, so the two posts agree.

1. Show types

Open the formula editor and turn on Show types. Notion shows the output type there, such as text, date, or number. If it says unknown, do not save the formula into a button or an automation. ✅

The usual cause is a pair of quotes standing in for a blank date. Notion’s error page uses this example: if(Date, Date.dateAdd(1, "day"), ""). One branch is a date. The other is text. We use "days", which is the unit in the formula reference.

if(prop("Due"), prop("Due").dateAdd(1, "days"), "")

Quotes as a blank date

if(prop("Due"), prop("Due").dateAdd(1, "days"), empty())

empty() keeps the result a date

The column can look blank either way. The type is what changes. Why an automation will not save is the whole of the previous article. 👀

2. Date order

dateBetween() subtracts the second date from the first. A generated days-left formula that puts now() first flips the sign. A future due date goes negative. A past due date looks fine. 👀

dateBetween(now(), prop("Due"), "days")

now() first, so days left flips sign

if(empty(prop("Due")), empty(), dateBetween(prop("Due"), now(), "days"))

Days left, due minus today

AI days left beside the checked days left AI days left next to due minus today, 26 Sep 2026

  • Launch review, due 10 Oct 2026 → AI -14, checked 14
  • Northwind audit, due 12 Sep 2026 → AI 14, checked -14
  • Studio, due 26 Sep 2026 → 0 in both columns
  • Harbor → blank in both columns

Northwind is the row to stare at. The AI column says 14, and the task is already late. Argument order, and the empty-date guard, are the whole of the days left article. ✅

3. Lists

People, relations, and multi-selects come back as lists. Notion’s error page says to use .includes instead of == on a multi-select, and .first() or .map() on a relation. Skip that and an automation pauses. The list article is the longer version for a database column. 👀

prop("Tags") == "VIP"

== compares the whole list to one string

prop("Tags").includes("VIP")

includes() on a multi-select

As you can see below, the formula is perfectly working 🔽

VIP check using includes on Tags includes(“VIP”)

Launch review and Studio are true. Northwind audit is Renew, so false. Harbor has no tags, so false. That false is a normal answer.

A relation is a list of pages, even when the row shows one project. prop("Project").prop("Status") skips the page. Take the first item, and guard the empty row. ✅

if(empty(prop("Project")), empty(), prop("Project").first().prop("Status"))

First related project’s status

As you can see below, the formula is perfectly working 🔽

Project status from the first related page first() on Project, then Status

Launch review is On track. Northwind audit is on Renewal, which is Late. Studio is on Redesign, On track. Harbor stays empty. Do not call .prop() on that empty relation inside an automation. That is the pause. 👀

4. Paste the rules in the same prompt

Notion AI does not remember the previous prompt. The help page also says it will not write loops, and it has no random() function, because formulas do not have one. Put the checks in the prompt you send. ✅

Return type must match the property, or empty().
Relations and people are lists. Use .first() or .map().
Never use "" as a blank date.
Guard a date or a person with empty() before you call a function on it.
Check a multi-select with includes(), not ==.
dateBetween(prop("Due"), now(), "days") is days left. Do not swap the dates.

Prompt to paste before you ask

One more error string, if the formula calls other formula properties. “Formula depth limit reached” means the chain is 15 layers deep. Every reference to another formula or rollup adds a layer, even across databases. The syntax can be fine. Combining those properties is the fix Notion documents. That one is a later article. 👀


Conclusion

Now you know what to check before you paste an AI Notion formula! Turn on Show types. Use empty(), not quotes, when the other branch is a date. Put the due date first in dateBetween(). Unwrap lists with .first() and .includes(). And paste those rules in the same prompt, because Notion AI will not remember them. 🔥

I hope this article was helpful and easy to understand. At Prototion, we are on mission to make Notion easy for everyone! So we regularly post Helpful articles about Notion like this one. 📄

Remember to check out the Fantastic Formulas series for more articles about Notion formulas. Doesn’t matter if you are a Notion beginner or a pro, I believe you will find this series helpful. Also, don’t forget to follow us on 🐦 Twitter for daily updates, latest Notion template launches and amazing deals & discounts on Premium Notion templates! 😍

Short answers

Should I paste a Notion AI formula without checking it?

No. Turn on Show types. If the type is unknown, do not save it into a button or an automation.

Why is an AI days-left formula negative?

dateBetween() subtracts the second date from the first. If now() is first, a future due date goes negative. Put the due date first.

Does Notion AI remember the last prompt?

No. Put the return type, empty(), list, and date-order rules in the same prompt.

Templates that do this for you

Built by independent makers on Prototion.