Self hosted Seatable with n8n trigger node

Hello , is anybody in our community using n8n for workflow automation? it seems like trigger node from n8n is not triggering new row added with my seatable base. I am using self hosted version for seatable.

Same for me.
I did not manage to have a trigger working

Lets hope somebody could help us…

I did check with n8n forum, i think their forum moderator tested with seatable cloud and he claim that it works for him…
but he is not sure about self hosting version.

We’ll look into it at the beginning of next week.

1 Like

Hello @rdb do you managed to find any issue?

Hi @Ben @htoolin there was an issue with the modified time in the API request, which caused some problem with the n8n node’s trigger.

This problem has been solved recently. Would you please test it again and see if the trigger now works well?

@Karlheinz hello, I just tried and it is still not triggering anything…

Thanks for your answer. @Tom would you mind to explain how to set the trigger up?

@htoolin would you please tell me which version you are using? Because in 2.5.6, the latest version, we’ve fixed an issue with the last modified time _mtime, which could make some change to the n8n situation.

However I have to admit, that the n8n node SeaTable Trigger is not perfect yet.

@Karlheinz i am using 2.5.0

latest docker image is still 2.5.0. So I’ll wait for your deployment to get the 2.5.4 and make test with n8n

Thanks for the reply. So you are using the Developer Edition (DE). I’m not sure if the DE will be upgraded to 2.5.6, perhaps then direct to 2.6.0. In this case you’ll have to wait until the middle of December.

The Enterprise Edition (EE) 2.5.6 is already available, anyway…

1 Like

indeed, i’m on DE
I’ll update and comment once I’m >2.5.6

Hello @Karlheinz , I have updated to 2.6 DE and tried the trigger node and it is still not working.
when i manually execute the workflow, it work by showing the 1st row data.

However, when i activate the workflow, my slack notification is not responding after new row is created by filling up form.

I tried setting “poll time” to every minutes, and it still does not work.

Hello , is anybody having the same problem as me?

Yes like said, it’s a problem with the n8n node and we cannot do much but wait for someone to fix that problem…

ok.i will feedback at n8n community forum to see if they can do anything about it… :grinning:

Hi all, I am currently looking into this from the n8n side of things and I have an idea of what might be happening here.

When using the SeaTable Trigger node in n8n, it would query for new rows using a query like this using the /dtable-db/api/v1/query/<table id> endpoint:

SELECT * FROM Table1 WHERE _ctime BETWEEN BETWEEN "YYYY-MM-D HH:mm:ss" AND "YYYY-MM-D HH:mm:ss"

Now this query would use GMT timestamps formatted like above (as the SeaTable REST API appears to reject ISO 8601 timestamps like 2022-01-19T14:00:00Z when I was testing this earlier today).

Or in other words: For querying the minute between 15:00 and 15:01 Mainz time, the SeaTable Trigger node in n8n would currently use a query like SELECT * FROM Table1 WHERE _ctime BETWEEN "2022-01-19 14:00:00" AND "2022-01-19 14:01:00"'.

This does however not seem to return a row with a _ctime value of 2022-01-19T14:00:30Z. To find such a row I needed to run a query like SELECT * FROM Table1 WHERE _ctime BETWEEN "2022-01-19 15:00:00" AND "2022-01-19 15:01:00"' instead.

So I suppose my question is: How would I properly query rows by their creation timestamp? Would I always need to use values formatted like above (and adding 1 hour to the UTC time)? Or is there a setting to specify the time zone I might have missed?

Thanks everyone!

In SQL query input, there is no timezone information. So the timezone is treated as the timezone of the SeaTable server (the timezone information in docker-compose.yml).

The SQL output always use UTC timezone.

In summary, you can check the timezone information in docker-compose.yml to fix the problem.

Hi @daniel.pan, many thanks! This would work where I am the one hosting SeaTable but but would fail otherwise. So this doesn’t seem to be a suitable solution for the scenario described here. Imagine a situation where a SeaTable user isn’t the one managing the database server, including SeaTable cloud (unless I have missed this setting when discovering my own account)?

Seeing there always seems to be a discrepancy between the query and result time zone, is there any way to query the time zone through the REST API? I tried a couple of approaches sent to the aforementioned endpoint, like SELECT @@GLOBAL.time_zone (MySQL) or SELECT CURRENT_TIMEZONE() (SQL Server). Unfortunately, all of them ended either in API responses with a 200 status code and a response of {"success":false,"error_message":"parse error: unexpected invalid","results":[],"metadata":[]} or resulted in a 500 error with a internal server error response straight away (for example when running something like SELECT now()).