All expected Fields not available in Expression editor

I’m always coming across this problem as I think I lack an expert understanding of how data is extracted and passed across nodes, but I always appear to run in the problem where the fields that I expect to grab in the expression editor are not available.

See screenshots, but why would “Record ID” be available in the Expression editor, yet 'Mobile Number", “Message Sid” are not, even though they can be clearly seen in the Input of the Fields table?

Hey @spessex, the expression editor would show you the properties of the first incoming item. If that item doesn’t have a field ["fields"]["Mobile Number"] it would not show up in the preview from your screenshot I am afraid.

You can still write the desired expression manually though, something like {{ $json["fields"]["Mobile Number"] }} should do.

I think I’ve just realised this. See screenshot. Is this basically what you’re saying? :slight_smile:

If this is the case it’s wasted ‘hours and hours’ of my time trying to assess what I’ve been doing wrong, but lesson learnt. Is there any reason why n8n doesn’t pass through all the fields? :slight_smile:

Also if this is the case, does this also go for IF statements when testing a Flow? For example if the Field you are comparing against does not appear in the first incoming item, it will automatically see a False result?

Presumably, when a flow goes Live/Active it acts very differently and will cycle through ‘all’ incoming items?

Yes, this behaviour only affects the expression editor. When your workflow is executed, the expression will be resolved for every single item passed on to your node (this is true for both manual executions and production executions in an active workflow).

1 Like