n8n-io / n8n

Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.
https://n8n.io
Other
45.7k stars 6.36k forks source link

Airtable Trigger - Fetch Test Event - Does Not Work #8796

Open dkindlund opened 6 months ago

dkindlund commented 6 months ago

Bug Description

When specifying a timestamp as the Trigger Field and then running the Fetch Test Event operation on an Airtable Trigger Node, n8n throws an error indicating the Trigger Field does not exist.

image image

To Reproduce

  1. Create an Airtable Base and Table
  2. Set one field in the table to be a timestamp anchored to a Last Updated At field:
image
  1. Then create an n8n workflow using that as the Trigger Field of the Airtable Trigger node
  2. Click Fetch Test Event and see the error

Expected behavior

I don't expect Airtable Trigger to throw errors when testing.

Operating System

Google Cloud Run

n8n Version

1.30.1

Node.js Version

18.10

Database

PostgreSQL

Execution mode

main (default)

dkindlund commented 6 months ago

This issue appears to be rather old as plenty of other people have reported it on the forums here: https://community.n8n.io/t/triggering-airtable-on-updated-specific-field/17296

Joffcom commented 6 months ago

Hey @dkindlund

Looking at that post we have not been able to reproduce the issue. Normally I would close this as it is a duplicate report but I will see if your steps allow us to reproduce this first.

Quick edit: looking again it was around missing values, do you have an empty value in your column as well?

dkindlund commented 6 months ago

Hey @Joffcom,

do you have an empty value in your column as well?

Yes, some of my Airtable records have an empty value in the Trigger Field as well. It's a pretty common scenario for sparsely populated records.

To be crystal clear, when I activate the workflow with an Airtable Trigger, the trigger appears to operate correctly -- it's just that I can't seem to run ad-hoc tests on the Airtable Trigger using the standard Fetch Test Event operation -- which makes testing much more complicated.

Hope that helps!

dkindlund commented 6 months ago

Oh and one other thing:

When I have the activated the workflow run as normal successfully, I had to specify the Airtable-encoded field name of fldXXXX... rather than using the human-readable equivalent field name. I don't know if that's a factor (or not).

When I tried to run a Fetch Test Event -- it didn't matter if I used the human readable field name or the Airtable-encoded (fldXXXX...) version -- both variations failed for me.

image
Joffcom commented 6 months ago

So the issue here will be when manually running we only grab one record and in this case it looks like the empty records are returned first but the API is not returning that field as it is empty which results in this error.

If a field is being used to trigger an event I would always expect it to have a value even if it is a generic date that gets updated when modified. I have create NODE-1210 as the internal dev ticket to look into what we can do to work around this.