Potential bug: SeaTable trigger not working for certain tables

Hello! I have hosted n8n and SeaTable on my own server. The SeaTable has worked consistently. However, recently I added a lot of rows to one of my tables, and it now has more than 2000+ rows (it also has 20+ columns, and I am not srue what exactly is the issue), and n8n no longer gets triggered for new/update events from and only from that table. All other tables worked fine. There is no error indicating anything and my other tables’ triggers remain working very well. And this is not only limited to when I add a new row at the bottom of the table. Even if I add or edit at the beginning of the table, the trigger still does not work for the large table.

Below is the detailed log:

here is the workflow for the table with 2000+ rows.

n8n-1 | 2025-04-08T16:11:54.624Z | debug | Workflow “My workflow” (ID: hsbcgI55pF4d0f5a) activated {“workflowId”:“hsbcgI55pF4d0f5a”,“workflowName”:“My workflow”,“file”:“active-workflow-manager.js”,“function”:“addTriggersAndPollers”}
n8n-1 | 2025-04-08T16:12:02.654Z | debug | Querying database for waiting executions {“scopes”:[“waiting-executions”],“file”:“wait-tracker.js”,“function”:“getWaitingExecutions”}
n8n-1 | 2025-04-08T16:12:04.298Z [Rudder] debug: in flush
n8n-1 | 2025-04-08T16:12:04.298Z [Rudder] debug: cancelling existing flushTimer…
n8n-1 | 2025-04-08T16:12:35.005Z | debug | Polling trigger initiated for workflow “My workflow” {“workflowName”:“My workflow”,“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“active-workflows.js”,“function”:“executeTrigger”}
n8n-1 | 2025-04-08T16:13:02.654Z | debug | Querying database for waiting executions {“scopes”:[“waiting-executions”],“file”:“wait-tracker.js”,“function”:“getWaitingExecutions”}
n8n-1 | 2025-04-08T16:13:11.963Z [Rudder] debug: no existing flush timer, creating new one
n8n-1 | 2025-04-08T16:13:21.963Z [Rudder] debug: in flush
n8n-1 | 2025-04-08T16:13:21.963Z [Rudder] debug: cancelling existing flushTimer…
n8n-1 | 2025-04-08T16:13:35.006Z | debug | Polling trigger initiated for workflow “My workflow” {“workflowName”:“My workflow”,“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“active-workflows.js”,“function”:“executeTrigger”}
n8n-1 | 2025-04-08T16:13:44.731Z [Rudder] debug: no existing flush timer, creating new one
n8n-1 | 2025-04-08T16:13:54.731Z [Rudder] debug: in flush
n8n-1 | 2025-04-08T16:13:54.731Z [Rudder] debug: cancelling existing flushTimer…
n8n-1 | 2025-04-08T16:14:02.655Z | debug | Querying database for waiting executions {“scopes”:[“waiting-executions”],“file”:“wait-tracker.js”,“function”:“getWaitingExecutions”}

This is the same workflow with only the table of the trigger changed to a smaller table (~250 rows)

n8n-1 | 2025-04-08T16:14:37.478Z | debug | Workflow “My workflow” (ID: hsbcgI55pF4d0f5a) activated {“workflowId”:“hsbcgI55pF4d0f5a”,“workflowName”:“My workflow”,“file”:“active-workflow-manager.js”,“function”:“addTriggersAndPollers”}
n8n-1 | 2025-04-08T16:14:45.088Z [Rudder] debug: in flush
n8n-1 | 2025-04-08T16:14:45.089Z [Rudder] debug: cancelling existing flushTimer…
n8n-1 | 2025-04-08T16:15:02.656Z | debug | Querying database for waiting executions {“scopes”:[“waiting-executions”],“file”:“wait-tracker.js”,“function”:“getWaitingExecutions”}
n8n-1 | 2025-04-08T16:15:28.001Z | debug | Polling trigger initiated for workflow “My workflow” {“workflowName”:“My workflow”,“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“active-workflows.js”,“function”:“executeTrigger”}
n8n-1 | 2025-04-08T16:15:28.515Z | debug | Received event to trigger execution for workflow “My workflow” {“file”:“active-workflow-manager.js”,“function”:“__emit”}
n8n-1 | 2025-04-08T16:15:28.538Z | debug | Execution added {“executionId”:“5”,“file”:“active-executions.js”,“function”:“add”}
n8n-1 | 2025-04-08T16:15:28.540Z | debug | Execution for workflow My workflow was assigned id 5 {“executionId”:“5”,“file”:“workflow-runner.js”,“function”:“runMainProcess”}
n8n-1 | 2025-04-08T16:15:28.545Z | debug | Execution ID 5 had Execution data. Running with payload. {“executionId”:“5”,“file”:“workflow-runner.js”,“function”:“runMainProcess”}
n8n-1 | 2025-04-08T16:15:28.545Z | debug | Workflow execution started {“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“LoggerProxy.js”,“function”:“exports.debug”}
n8n-1 | 2025-04-08T16:15:28.546Z | debug | Start processing node “SeaTable Trigger” {“node”:“SeaTable Trigger”,“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“LoggerProxy.js”,“function”:“exports.debug”}
n8n-1 | 2025-04-08T16:15:28.546Z | debug | Running node “SeaTable Trigger” started {“node”:“SeaTable Trigger”,“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“LoggerProxy.js”,“function”:“exports.debug”}
n8n-1 | 2025-04-08T16:15:28.546Z | debug | Running node “SeaTable Trigger” finished successfully {“node”:“SeaTable Trigger”,“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“LoggerProxy.js”,“function”:“exports.debug”}
n8n-1 | 2025-04-08T16:15:28.547Z | debug | Start processing node “No Operation, do nothing” {“node”:“No Operation, do nothing”,“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“LoggerProxy.js”,“function”:“exports.debug”}
n8n-1 | 2025-04-08T16:15:28.547Z | debug | Running node “No Operation, do nothing” started {“node”:“No Operation, do nothing”,“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“LoggerProxy.js”,“function”:“exports.debug”}
n8n-1 | 2025-04-08T16:15:28.547Z | debug | Running node “No Operation, do nothing” finished successfully {“node”:“No Operation, do nothing”,“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“LoggerProxy.js”,“function”:“exports.debug”}
n8n-1 | 2025-04-08T16:15:28.547Z | debug | Workflow execution finished successfully {“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“LoggerProxy.js”,“function”:“exports.debug”}
n8n-1 | 2025-04-08T16:15:28.547Z | debug | Executing hook (hookFunctionsSave) {“executionId”:“5”,“workflowId”:“hsbcgI55pF4d0f5a”,“file”:“execution-lifecycle-hooks.js”}
n8n-1 | 2025-04-08T16:15:28.548Z | debug | Save execution data to database for execution ID 5 {“executionId”:“5”,“workflowId”:“hsbcgI55pF4d0f5a”,“finished”:true,“stoppedAt”:“2025-04-08T16:15:28.547Z”,“file”:“shared-hook-functions.js”,“function”:“updateExistingExecution”}
n8n-1 | 2025-04-08T16:15:28.559Z | debug | Execution finalized {“executionId”:“5”,“file”:“active-executions.js”,“function”:“finalizeExecution”}
n8n-1 | 2025-04-08T16:15:28.559Z | debug | Execution removed {“executionId”:“5”,“file”:“active-executions.js”}
n8n-1 | 2025-04-08T16:15:28.566Z [Rudder] debug: no existing flush timer, creating new one
n8n-1 | 2025-04-08T16:15:30.011Z | debug | Removed editor-UI session {“pushRef”:“dmypbabanf”,“file”:“abstract.push.js”,“function”:“remove”}
n8n-1 | 2025-04-08T16:15:38.567Z [Rudder] debug: in flush
n8n-1 | 2025-04-08T16:15:38.567Z [Rudder] debug: cancelling existing flushTimer…

From the logs I really cannot tell what went wrong and whether the error is on n8n’s or seatable’s end.

n8n version 1.86 in docker. no external database.
SeaTable is 5.2.7.
I have updated to the latest versions for both n8n and seatable last night and the issue persists.

Because the same API continues to be working for all the other tables, I assume that this is not due to any API rate-limiting issues.

Hi,

just a very wild guess since you mention it’s all related to the size (somewhere in N8N there is a default max payload size of around 15MB).

I imagine that the trigger might actually be trying, but in the process of getting the data (or even it has the data already), the rest of the chain refuses to process the payload bcs of the max setting.

You could try to increase. like i said im guessing

reg,
J.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.