Automation library · Data collection

Geocode queued addresses with Supabase and Nominatim

Started by a clock, and works across Supabase. 16 steps, 3 branches, 2 loops or waits: a working afternoon to understand properly.

Medium

16 stepsMedium: a working afternoon
3Branches: places the flow splits
2Loops or waits
1Service it connects to

The flow

Starts it 1Model 1Logic 8Service 6

The steps in the order they run, from what starts it.

  1. 1Every day at 07:00Schedule triggerStarts it
  2. 2Set table and countrySetLogic
  3. 3Fetch pending addressesSupabaseService
  4. 4Loop over addressesSplit In BatchesLogic
  5. 5Wait 2.1s for rate limitWaitLogic
  6. 6Geocode district with NominatimHttp RequestService
  7. 7District coordinates found?IfLogic
  8. 8Save district coordinatesSupabaseService
  9. 9Ask the LLM for the centroidAnthropicModel
  10. 10Extract lat and lon from replyCodeLogic
  11. 11LLM returned coordinates?IfLogic
  12. 12Save LLM coordinatesSupabaseService
  13. 13Geocode city with NominatimHttp RequestService
  14. 14City coordinates found?IfLogic
  15. 15Save city coordinatesSupabaseService
  16. 16Leave pending for next runNo OpLogic

How it's built

Starts on
A clock
Steps
16, with 3 branches, 2 loops or waits
Size
Medium: a working afternoon
Connects to
Supabase
Model
None. This is plumbing, not judgement

Questions

What does it need to run?

An n8n account, plus your own Supabase account. You connect your own accounts after importing it; none are included.

What starts it?

It starts on a clock.

Does it use AI?

No. Every step is fixed logic or a call to a service, so it does the same thing every time.

How long does it take to set up?

Plan an afternoon. 16 steps is enough that you should read each one before running it.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

Before you run it

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 16 steps before you point it at anything that matters.