Notion wrong send request since [email protected]


Since I updated n8n to [email protected] I accure following problems:
Workflow with notion’s node with at least two filter ruler generate following error:

ERROR: 400 - {
  "object": "error",
  "status": 400,
  "code": "validation_error",
  "message": "body failed validation. Fix one: body.filter.and[1].text.equals should be a string, instead was `0`. body.filter.and[1].text.does_not_equal should be defined, instead was `undefined`. body.filter.and[1].text.contains should be defined, instead was `undefined`. body.filter.and[1].text.does_not_contain should be defined, instead was `undefined`. body.filter.and[1].text.starts_with should be defined, instead was `undefined`. body.filter.and[1].text.ends_with should be defined, instead was `undefined`. body.filter.and[1].text.is_empty should be defined, instead was `undefined`. body.filter.and[1].text.is_not_empty should be defined, instead was `undefined`."

As I remember @RicardoE105 informed me about this new feature (filter as JSON and filtering formula props) so you may know how to help with this,


Hey @Shirobachi,

Just given it a go here on 158 using my Github Stars database and it seems to work as expected. Have you tested it with another Notion database?

Do you know what version of n8n you was running before 157 as well?

Before I had auto update, so probably it was 156 (now I checked and using 158)

All my workflows with notion node made <158 are broken now like this, e.g.

I may cause problem because of no backward compatibility (idk), but I tried to “rewrite” it is like following

and it returns similar error:

Three DBs generate error up to now, so probably I do sth wrong

It should be backward compatible. I will have a look today and report back.


Hi @Shirobachi, I gave this a quick go on my end (upgrading my private n8n instance with an active Notion flow) but similar to Jon did not run into the problem described.

So I am still struggling to understand how your Notion nodes might have become corrupted in the first place. This is a long shot, but are you possibly running a custom build of n8n? And do you also encounter the problem when building a new workflow from scratch?

The error screenshot suggests the comparison using your filters might have failed (e.g. because n8n is sending a number where a string is expected). Did you by any chance update your database in Notion (changing data types for example)?

Thanks for your effort,

  1. I am using official image:
3bbbee870cb9   n8nio/n8n:latest                    "tini -- /docker-ent…"   8 days ago    Up 8 days    5678/tcp,>443/tcp   n8n-n8n-1
  1. So basically some notion’s configuration can work properly, but not for configuration what I need
  1. Db called logs where “project” (select) equal Covid report
    This work just fine, but this condition is not good enough for me
  1. Db called logs where “Return code” (number) equal 0
    Does not work:
  "nodes": [
      "parameters": {
        "resource": "databasePage",
        "operation": "getAll",
        "databaseId": "51041012-9664-43f8-8237-b91d26f87ea9",
        "returnAll": true,
        "filterType": "manual",
        "matchType": "allFilters",
        "filters": {
          "conditions": [
              "key": "Return code|number",
              "condition": "equals"
        "options": {}
      "name": "Notion",
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2,
      "position": [
      "credentials": {
        "notionApi": {
          "id": "1",
          "name": "[email protected]"
      } delay a
  "connections": {}
  1. I did not change those dbs (as I remember) + now I set node via clicking in n8n with refreshing list so n8n had the newest infos about props.
    You can have a look here to see that those props are correct.

I am sorry for my delay and that I am not helpful much, I am currently during examination time at college and have no much time. I’ll try downgrade and upgrade one more time n8n maybe it will help, also I am using since not much time docker compose and maybe I did something wrong with that (config or/and updating)


Is there a way to somehow see what JSON n8n generate?
I think that there is some mistake (what now explain why workflow made in the past not working), I assume this because it happened that workflow cause error when I config node from scratch by clicking, I think that n8n cannot make mistakes since it take props, values etc. from notion API and error say I wanted string, but you have me 0 (what make me feel that somehow JSON is no right generating), does it have make sense?

ERROR: 400 - {"object":"error","status":400,"code":"validation_error","message":"body failed validation. Fix one: body.filter.and[2].text.equals should be a string, instead was `0`. body.filter.and[2].text.does_not_equal should be defined, instead was `undefined`. body.filter.and[2].text.contains should be defined, instead was `undefined`. body.filter.and[2].text.does_not_contain should be defined, instead was `undefined`. body.filter.and[2].text.starts_with should be defined, instead was `undefined`. body.filter.and[2].text.ends_with should be defined, instead was `undefined`. body.filter.and[2].text.is_empty should be defined, instead was `undefined`. body.filter.and[2].text.is_not_empty should be defined, instead was `undefined`."}

Hey @Shirobachi,

Oddly enough I did hit an issue with Notion last week where it was unhappy with what I was using for the Title Field, Previously I was just using a number but notion is now expecting that to always be a string so I had to tweak my workflow to allow for this change.

I have a feeling Notion may have tweaked something in their API and that has tripped up some search cases, Out of interest if you go back to an older version of n8n do you get the same issue?

Something what I feel I should mention is that I think that notion made some changes on API I so that they treat checkbox on their frontend differently (what of course may mean nothing to API)

After downgrade to image: n8nio/n8n:0.156.0 all checked workflows with notion nodes work properly.

BTW. I tried update to n8nio/n8n:0.156.0-debian and my micro editor setting file and docker-compose.yaml file was truncated. Are you maybe familiar with this? I mean I am new with docker-compose is ..-debian not to use or sth, it is also possible that it’s not related to n8n so DW if you do not know or sth

Also, kinda cool to know that more ppl have this problem because I was gone crazy and think that I am doing sth wrong

That sounds like we may have broken something for some cases with the update in 157 then, I have not used the debian version of the docker image but in theory n8n will be the same on it as comes from the same code. Not sure why the compose file would be truncated though.

I would say for now run with 156, Weirdly I still can’t reproduce it in the same way as you but I will keep trying.

1 Like

I made separated API key and database page for this case:
API secret: redacted

Workflow what cause problem

If you need, I can add you edit permission (I case I need only your email address)

Can you maybe check if it is working on your instance?


I have set a reminder to test that tomorrow morning.


Hi @Shirobachi, just wanted to drop a quick note to confirm I could reproduce this, even with a brand new setup. I have documented this in our internal bug tracker and we will, of course, confirm once this has been resolved.

I was able to avoid running into this error when defining a JSON filter though instead of using the manual filters like so:

My exact value used for Filters (JSON) was this one (where Date is the name of my date field):

  "or": [
      "property": "Date",
      "date": {
        "on_or_after": "2021-12-31T23:00:00.000Z"
1 Like

Hi there. I also ran into this problem. I assumed Notion may have tweaked the API…
I now also use the JSON filter instead. Nothing else worked for me.

Got fixed. @ZXS @Shirobachi


I checked commit, and I am not sure if it will solve the whole problem. It also seems to make a problem for date like following

good news is that I checked all my workflows and I found only this “new” one


If you add my token before just use workflow from below, otherwise also add this token: secret_UlidMM2M1GiRH0A4o7hnfejkOAh04V79JouxJjrdJVb

Is this commit on production already?

Also, I think @Shirobachi might be right.
I’m using @0.161.1 and got this error for a date.

No, I might be wrong but as I checked it was not on production

@ZXS FYI you should use 156 until fix will be realesed

1 Like

If downgrading is not an option as suggested by @Shirobachi, you can also use the JSON approach shared earlier as a workaround @ZXS. It actually uses a date field, so all you’d need to change is the name of your field.

Oh, yes, I forgot about that you may want to read this notion documentation for knowledge how to write manual JSON filter: Query a database