Hey folks, I’ve encountered this issue in a couple places, and it seems like there should be an obvious answer I’m missing.
There are a handful of integration nodes that have a “True/False” input, which determines whether the next input appears or not.
I can’t seem to configure both inputs with an expression, because once I configure the first input with an expression, the second input disappears.
For example, the GMail “Get Many Messages” node:

I want to configure it so that if $json.output.limit === -1, then all results are returned. If not, then the value of $json.output.limit should be used for the value of Limit.
But if I configure “Return All” with an expression, then “Limit” disappears, so I can’t put an expression there.
Is there an ideal way to handle this? I’ve been working around it by creating two separate nodes with different fixed “Return All” values and routing to the appropriate one, but that seems clunky.
Information on your n8n setup
- n8n version: 2.6.4
- Database (default: SQLite): default
- n8n EXECUTIONS_PROCESS setting (default: own, main): default
- Running n8n via (Docker, npm, n8n cloud, desktop app): n8n cloud
- Operating system: Windows 11


