Best practice for auto-completing addresses

Hi everyone,

I’m running SeaTable Enterprise Server and would like to streamline how users enter postal information in our public forms.
Ideally, when someone types a French postcode (or even a street + postcode), the form would automatically fill the city, department and region fields.


What I tried so far

  1. No native “Address” field – I don’t see a dedicated address input type that offers auto-completion.
  2. 40 000-row helper table – Importing the full French “communes + postcodes” CSV would work, but it feels wasteful (tables get bigger, have to be updated every year, and the dropdown isn’t very user-friendly).
  3. Form view → custom JS – I looked for a way to inject JavaScript into a standard form to call the French API Adresse (https://adresse.data.gouv.fr/outils/api-doc/adresse) on the fly. Can’t find a spot to add code.
  4. Application Builder – I was hoping to drop a text input and attach a small fetch() to it, but I don’t see an interface for calling an external API either.
  5. Automation via Make / n8n – As a fallback I could let users enter a raw address, fire a scenario after submission, call the API, then update the row. That works, but the user never sees the auto-completion and it feels clunky.

Question

How are you handling address entry?

  • Is there a hidden feature in App Builder I missed for calling external APIs from an input?
  • Do you keep a slim postcode table and link to it, or do you rely on a third-party widget outside SeaTable?
  • Any best practices or examples (forms, scripts, plugins) you could share?

Thanks a lot for your feedback!

You can run a Phyton Script which checks for addresses via API. The phyton script can run automated when a new entry is entered.

Thank you for your answer!

In the Form, it will not be “auto-suggest”, do you agree?

I don´t think this is yet possible. The only thing you can do is a link in the form to another table, which includes all the areas as a list.

I would the user enter der ZIP code and then use the Phyton tool to look for the area in the base, if the information is not necessary during filling out of the form.

Hi @juliensl,

Unfortunately, there is no built-in feature allowing an autocomplete behavior during submission. I hope some html/js blocks will be available in apps later, for cases like yours.

For now, a workaround I often use for such purpose is creating a custom html/js form that interact with your base using n8n:

  • I create a n8n workflow with a webhook trigger ended by a Respond to Webhook node. The first step after the trigger is generally a switch on the value of a type or action parameter allowing me to group each process of the form in the same workflow.
  • On some specific elements of the form, I define functions making fetch requests to the n8n webhook address (POST requests with FormData data), then n8n executes SeaTable actions and eventually sends a response back

In your case, it could be even easier because, as you said, you just have to deal with the Adresse API (so you can do it directly in javascript without the help of n8n). The major counterpart is that this solution needs some coding skills and some hosting capabilities…
I had to deal with the Adresse API once, but without any need for auto-completion or user validation, and the method I found to get the most accurate results was to create separates fields:

  • postal code
  • city
  • address (number and street name)

So I could try a first API query with both postal code and city, and eventually only postal code if the first query didn’t give any match…

Let me know if you want me to tell you more about my custom html/js - n8n solution.

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.).