Hello everyone! I use SeaTable Self-Hosted version. v5.1. The problem is not in the SeaTable, but in the node n8n (i use Community node). This happens on the first node of the n8n pipeline — node outputs erroneous data.
Just a debugging question: Where does the “id” formula column in Seatable come from? Can you show the formula and it’s sources?
The reason for my question: Your comparison between n8n an seatable of which records should match is based on the IDs, right? So I just want to make sure that you are not based on wrog assumptions.
Or, to phase it differently: Are the values in the “id” columns unique?
If that all is the case, I would try to use the plain “http request” node to create the API access to seatable by hand, and thus find out whether it is caused by the seatable-specific node, or something in n8n / seatable in general.
Abaer, Greetings! Еhis is a standard formula that shows the row ID - “rowID()”.
Thank you, it’s difficult for me, but I’ll try to make an “http request” using AI)
I’ll try to give you a head start with a few hints for writing the http request as soon as I’m in the office. I guess AI has not enough training data from n8n and Seatable to produce something useful.
I have changed to working with http Requests some time ago, because the Seatable nodes do not cover Seatable’s whole API. Therefore, I cannot say anything about their correct function.
using the previously defined header authentication
That will return the access token for that session, and the unique ID of the table.
To retrieve all records for a table, you can use this information in the next HTTP Request. Note that you manually set the “Authorization” header in the header fields as an expression with the result access_token of the previous step, and use the dtable_uuid for form the URL.
In subsequent HTTP Requests, you cannot use “{{ $json.dtable_uuid }}” and “{{ $json.access_token }}”, but need a full reference to the “Get Base Session” node instead: “{{ $(‘Get Base Token’).item.json.access_token }}” and “{{ $(‘Get Base Token’).item.json.dtable_uuid }}”.
I almost forgot: You need to split the result to get single items. All in all more work than the custom seatable nodes, but more flexible.
In this case, I hope my contribution has narrowed it down to some problem within Seatable or its API, and not n8n. If you’d need final proof, you could tap the API directly from some other Client (Postman, Bruno) or even with the shell/curl commands from Seatable’s API documentation.
Did you ever try to export your base as .dtable-file, re-import it again, and question that base in the API? That would show whether the base is corrupt in some way. Not that I encountered something like this before, but that’s would be my next move.
What does this script return for the row with ID UWI7FN…
from seatable_api import Base, context
base = Base(context.api_token, context.server_url)
base.auth()
dict = context.current_row
for k, v in dict.items():
print(k,":", v)
Hi everyone,
Let’s see what the script returns for @eash, but I think I just encountered a pretty similar problem (which I was unfortunately unable to reproduce on a simple unit case):
tested on SeaTable cloud
tried from n8n, api.seatable.io, the python pipeline from inside SeaTable cloud and the seatable_api python library
I have a table with several link and formula columns. While getting the content of the rows using list_rows, some of these formula and link columns are empty (returns None for python or null for api.seatable.io or n8n). While using @rdb’s script however (with context.current_row), I get the data for the considered row.
Python and JavaScript base.query functions and the SQL query plugin from inside SeaTable lacks the same data (the plugin returns the rows with these columns empty)
JavaScript base.getRows function returns the data correctly however
When exporting the table, data are present. While looking at the content.json inside my dtable export, I realized than the content for the first (0000) column (formula type) are either null or even not present, and the data from the other problematic column (link type) are completely missing to.
Any clue ? I haven’t gone through all my processes again to see which ones are affected, but it’s rather worrying
With 5.2, the behaviour of the link-column was updated regarding links to the same table. If you link to the same table, there should be two columns created. As you can see here, “Parent” is linking to the same table, but there is only one column!
I don’t investigate further, but I assume this is also dependent of “formula” in the first column.
Hi Christoph,
Thank you for your answer! I deleted the single link column and re-created another one (so a second one was actually created) and everything works fine.
Let’s see if it also worked for @eash ( I hope I didn’t spammed his thread with another problem ?!).