Error AIRTABLE Trigger

Describe the issue/error/question

I’m receiving random error from Airtable Trigger trying to recover information form table every 10 minutes. I put retry on max values on both time and tries, but still receive the error every X execution, sometimes in consecutive executions and sometime after more than an hour.

I cannot distinguish what is the origin of the error, because it’s happening randomly.

What is the error message (if any)?

This is the error:
ERROR: UNKNOWN ERROR - check the detailed error for more information
connect ETIMEDOUT 54.198.105.37:443

And this is the code of the error:

{
    "context": {},
    "name": "NodeApiError",
    "cause": {
        "message": "connect ETIMEDOUT 54.198.105.37:443",
        "name": "Error",
        "stack": "Error: connect ETIMEDOUT 54.198.105.37:443\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1247:16)",
        "code": "ETIMEDOUT"
    },
    "timestamp": 1665640377415,
    "message": "UNKNOWN ERROR - check the detailed error for more information",
    "node": {
        "parameters": {
            "pollTimes": {
                "item": [{
                    "mode": "everyX",
                    "value": 10,
                    "unit": "minutes"
                }]
            },
            "baseId": "appHNRyUb8TZqHgsL",
            "tableId": "tblCoX6hLc9cNUskM",
            "triggerField": "Last modified",
            "downloadAttachments": false,
            "additionalFields": {
                "viewId": "viwZIwdNTwBZaaat2"
            }
        },
        "name": "Airtable Trigger",
        "type": "n8n-nodes-base.airtableTrigger",
        "typeVersion": 1,
        "position": [140, 560],
        "notesInFlow": true,
        "id": "8a66bb22-73c6-4956-81b4-0ba2ce6f5fac",
        "retryOnFail": true,
        "waitBetweenTries": 5000,
        "maxTries": 5,
        "credentials": {
            "airtableApi": {
                "id": "5",
                "name": "Airtable account CNLB"
            }
        },
        "notes": "Recupera los registros modificados recientemente de EntradasWEB"
    },
    "httpCode": "ETIMEDOUT",
    "description": "connect ETIMEDOUT 54.198.105.37:443"
}

Please share the workflow

Information on your n8n setup

  • n8n version: 0.197.1
  • Running n8n via [Docker, npm, n8n.cloud, desktop app]: Docker on Synology NAS
  • Database you’re using (default: SQLite): not sure, default installation of docker on Synology NAS

Hi @MaaPer, ETIMEDOUT is a network problem I am afraid, so not something that can be tackled from n8n side. Could there perhaps be some proxy/firewall or other component involved in your network causing this problem?

That said, does this cause any trouble with actually fetching data? Are there rows being missed when the trigger runs the next time? If so, we’d probably need to update the node so it doesn’t store the last execution timestamp for failed executions.

I had the same issue a few days ago, that lasted for a couple of hours. All of my Airtable-trigger dependent workflows had stopped working with this error.

As the issue resolved itself after a short while, i just assumed that it might be something temporary on Airtable’s end.

1 Like

That’s of course also an option I didn’t even think about. If they had an outage of some sort that could easily cause the problem as well. Thx for jumping in on this!

That is something really strage.

I don’t remember to change anything regarding firewall, and this flow has been working fine till one or two weeks ago.

What is stranger is that the flow is programmed to run every 10 minutes, however if you see the picture, the error is not happening on every run every 10 minutes, it’s happening sometimes, but still don’t know why!

I think that an error on my internal firewall will cause an error on every single execution and not only time to time.


Any other idea? I was thinking to move to another database because that error is getting me crazy, but the thing is that I need to keep those records on Airtable.
How can I solve this issue?

Hey @MaaPer,

Are you still seeing the timed out message on those executions?

Indeed yes.
The three last timeouts were on 18:22, 18:32 and the on 20:52
Do I need to update something?

Hey @MaaPer,

You shouldn’t need to update anything, A timeout is going to indicate a network issue either on the network or with Airtable. The only thing I can really suggest is to monitor your network for any drops and maybe check with Airtable to see if that is one of their IPs.

Sorry, you mean this IP 54.198.105.37?

Hey @MaaPer,

That is the one, So what is happening is n8n is trying to connect to 54.198.105.37 on port 443 (HTTPS assumed) but the connection is timing out.

Hi Jon and n8n team,
I’m still stuck with this random issue.
Now I see another different issue… could you help giving me any clue to solve it?


{
"context":
{
},
"name":
"NodeApiError",
"cause":
{
"message":
"certificate has expired",
"name":
"Error",
"stack":
"Error: certificate has expired at TLSSocket.onConnectSecure (node:_tls_wrap:1535:34) at TLSSocket.emit (node:events:513:28) at TLSSocket.emit (node:domain:489:12) at TLSSocket._finishInit (node:_tls_wrap:949:8) at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:730:12)",
"code":
"CERT_HAS_EXPIRED"
},
"timestamp":
1665979226409,
"message":
"UNKNOWN ERROR - check the detailed error for more information",
"node":
{
"parameters":
{
"pollTimes":
{...}, // 1 items
"baseId":
"appHNRyUb8TZqHgsL",
"tableId":
"tblCoX6hLc9cNUskM",
"triggerField":
"Last modified",
"downloadAttachments":
false,
"additionalFields":
{...} // 1 items
},
"name":
"Airtable Trigger",
"type":
"n8n-nodes-base.airtableTrigger",
"typeVersion":
1,
"position":
[
140,
560
],
"notesInFlow":
true,
"id":
"8a66bb22-73c6-4956-81b4-0ba2ce6f5fac",
"retryOnFail":
true,
"waitBetweenTries":
5000,
"maxTries":
5,
"credentials":
{
"airtableApi":
{...} // 2 items
},
"notes":
"Recupera los registros modificados recientemente de EntradasWEB"
},
"httpCode":
"CERT_HAS_EXPIRED",
"description":
"certificate has expired"

Hey @MaaPer,

That is an error to say the SSL/TLS certificate has expired on the other service, It feels like that is a bit of an odd one and is something that probably wouldn’t happen with Airtable.

I have just taken a quick look and it looks like 54.198.105.37 is an AWS service and the controlplane certificate has expired. Looking at the IPs airtable use for their API it isn’t showing up as one of theirs but I am wondering if maybe your NAS has cached some old IP address that been removed which is why you are getting intermittent issues.

Thanks again for your support, I’m not aware of any caching configuration doing at purpose by me.

In fact, i’m stuck on how to going ahead with this… certificate for the service is working and active titll next month.
image

All is working good when testing the workflow or for other workflows updating airtable data working with the same API connection to Airtable.

What would you do in my case?

Hey @MaaPer,

The certificate didn’t look to be for synology.me it was a general AWS one. I suspect if the nas is caching DNS it would just be something it does so it could be worth seeing if there are any DNS options on it that you can tweak.

Yes!
I have some manual DNS (google ones 8.8.8.8 // 8.8.4.4)
Now I change from manual to auto… will tell you about it.

image

1 Like

Hi Jon!

After changing DNS the issue still persist. It happens randomly.

Now I realize that my NAS is connected to an EERO router. That branch belong to Amazon and I have a service activated called “eero secure” that helps to improve privacy on my net.

The thing is that eero Secure set its own DNS configuration, and because eero is own by Amazon I guess is using an AWS.

So that, I have just contact to eero support team to understand if they can help with the update that certificate on the control panel of the 54.198.105.37 server or bypassing eeroSecure service.

Thanks, I keep this feed update with news.

1 Like

Hi, I have received a new error message using AIRTABLE.

{
    "context": {},
    "name": "NodeApiError",
    "cause": {
        "message": "Hostname/IP does not match certificate's altnames: Host: api.airtable.com. is not in the cert's altnames: DNS:manage.rundisney.com, DNS:*.rundisney.com",
        "name": "Error",
        "stack": "Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: Host: api.airtable.com. is not in the cert's altnames: DNS:manage.rundisney.com, DNS:*.rundisney.com\n    at new NodeError (node:internal/errors:387:5)\n    at Object.checkServerIdentity (node:tls:354:12)\n    at TLSSocket.onConnectSecure (node:_tls_wrap:1545:27)\n    at TLSSocket.emit (node:events:513:28)\n    at TLSSocket.emit (node:domain:489:12)\n    at TLSSocket._finishInit (node:_tls_wrap:949:8)\n    at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:730:12)",
        "code": "ERR_TLS_CERT_ALTNAME_INVALID"
    },
    "timestamp": 1666446352393,
    "message": "UNKNOWN ERROR - check the detailed error for more information",
    "node": {
        "parameters": {
            "pollTimes": {
                "item": [{
                    "mode": "everyX",
                    "value": 5,
                    "unit": "minutes"
                }]
            },
            "baseId": "appHNRyUb8TZqHgsL",
            "tableId": "tblCoX6hLc9cNUskM",
            "triggerField": "Last modified",
            "downloadAttachments": false,
            "additionalFields": {
                "viewId": "viwZIwdNTwBZaaat2"
            }
        },
        "id": "0f8fddd8-2ee0-43ce-8614-591c2987d971",
        "name": "Airtable Trigger1",
        "type": "n8n-nodes-base.airtableTrigger",
        "typeVersion": 1,
        "position": [120, 560],
        "retryOnFail": true,
        "waitBetweenTries": 5000,
        "maxTries": 5,
        "credentials": {
            "airtableApi": {
                "id": "5",
                "name": "Airtable account CNLB"
            }
        },
        "continueOnFail": true
    },
    "httpCode": "ERR_TLS_CERT_ALTNAME_INVALID",
    "description": "Host: api.airtable.com. is not in the cert's altnames: DNS:manage.rundisney.com, DNS:*.rundisney.com"
}

Hey @MaaPer,

That error looks like something is still trying to connect to the wrong thing this time api.airtable.com is resolving to the IP for manage.rundisney.com sadly this is still not an issue with n8n or Airtable and appears to be some kind of DNS issue you are having.

The downside to this is it doesn’t look like there is anything we can do as it looks to be something on your network getting in the way or making the changes. Is this something running from home or somewhere else?

This was my home infrastructure.

After writing in this forum, I realize that the issue must be with the eero+ secure service that is using some DNS server for the service to protect the LAN from adds, filter content, threats, and others.
That service is perfect for a home if you have children like me, but I guess is not good for making call to an API.

I have been suffering issues when making calls to airtable API because of the DNS server. I don’t know if the issue could be related to some catching feature or any other thing.

Furthermore, I contact to eero service, and they suggest me to put my operator router on bridge, but I could do that because my operator doesn’t have PPPoE configuration options (needed on eero devices). In any case, I was pretty sure that the issue is because of eero+ secure service and DNS servers used.

I also asked for the chance of by passing completely eero+ secure service for a single device (the NAS in this case) but they told me it is not possible.

What I finally do was change my LAN configuration to something like this, and all the issue with Airtable API calls disappears.

Now I have to deal on how to configure my NAS to be able to connect to my WAN securities cameras. Because after the change, NAS and cameras are in a different subnet range, but that will be another problem to solve in another forum…

In any case, the principal clue to solve the issue was taken from this feed, that’s why I want to keep time to explain. To sat thank you and for it could be useful to anybody in the future.

3 Likes

Hey @MaaPer,

That is nicely detailed and it is nice to know that Eero tries to be smarter than it probably should. Thanks for taking the time to let us know.