Unfortunately, it seems the default Airtable node does not allow you to set a configurable timeout. I’m not sure what the default timeout for operations on this node type are – I suspect it might be something like 30 seconds.
Essentially, I’m noticing when I have a n8n workflow that’s performing an Airtable Create or Update
operation where I do not provide an existing Airtable Record ID and I have like retry set to 3 times with a 1000 ms timeout… sometimes Airtable API calls take longer than 30 seconds to complete…
So, when that happens, n8n treats the timeout as a failure and attempts to RETRY the original create operation (as expected). Then, the SECOND retry succeeds (again, as expected).
HOWEVER, the side-effect I’m seeing is that because the FIRST attempt “timed out”, n8n assumed that the FIRST attempt was not successful at all. BUT, on the Airtable side, it DID succeed – it just took longer than 30 seconds to fully process – but n8n didn’t want to wait longer than that.
So the side effect is that because of this blind retry logic, I now have two DUPLICATE records created in Airtable.
The workaround is to specify a longer configurable timeout in the Airtable node, but I don’t see that option at all. I think if I can set a timeout of like 60 seconds or 120 seconds, then this sort of side-effect should be easy to mitigate in the future.
Does this make sense?