Seatable, External HTML Form, Add Information

Hi @svetoslavov,

I had to deal with pretty similar needs several times, and wrote here a description of the solution I developed, but it looks a bit outdated so here is a brief description of the latest solution I developed:

  • I create one or several simple HTML + JS forms/pages.
  • To communicate with SeaTable without exposing my credentials, I use a “server-side” of the process based on n8n, the great workflow automation tool supplied with the self-hosted enterprise version of SeaTable. The process is pretty simple:
    • the HTML page/form sends some data (via a FormData) to a n8n workflow triggered by webhook using the JavaScript fetch API. The same workflow can be used for several actions depending on an action parameter passed in the FormData (e.g. retrieve data during initialisation, add/modify/delete records, etc.)
    • the n8n workflow performs the SeaTable related actions (and others eventually), using either the nodes of the SeaTable community node, a custom call to SeaTable API as presented by Christoph or a python script launched on the n8n docker container using the seatable-api python library and returns the data (or the success of the operation) via a webhook response
  • This solution currently lacks few limitations:
    • you will need to be able to host the form page yourself
    • you will have to write the page from scratch: no easy user-friendly drag-and-drop feature for the page fields as in the SeaTable built-in form builder (maybe one day I’ll find the time to push development to that level :sweat_smile:)
    • you will need to set up some form of authentication system to ensure that only authorized users can access or modify data. I sometimes use a pretty simple mechanism by passing a parameter (e.g. the user’s id or login) in the form URL (each user gets his/her specific URL, and if the id/login is not provided or wrong, you can’t do anything)

I’m not sure that explaining the process farther is really useful here, but if you need more info or if you would like to discuss a paid service with me, feel free to contact me :wink:

Bests,
Benjamin


I love spending time gathering information and explaining solutions to help you solve your problems. I spend… quite a bit of time on it :sweat_smile: .If you feel grateful for the help I’ve given you, please don’t hesitate to support me. I am also available for paid services (scripts, database architecture, custom development, etc.).