Add location and internet provider to Airtable IP logs

Every time a new IP address lands in your Airtable log, it gets the city, country and internet provider filled in automatically.

Deterministic Code
IPinfoAirtableOperationsEngineeringData SyncLead Enrichment
PromptCreate

Whenever a new record lands in my IP log table in Airtable, look the address up with IPinfo and write the results straight back onto that same record. Trigger this as a poll on Airtable for new records in the IP log table. Build it as a deterministic code workflow: there is no judgement involved, it is a straight field for field enrichment.

For each new record, read the IP address out of the address column and call the IPinfo "Get Full IP Details" operation on it. Map the response onto the matching Airtable columns using "Update Record", which patches only the fields I specify and leaves the rest of the row untouched.

Field mapping: city goes to City, region goes to Region, country goes to Country, and timezone goes to Timezone. The loc field comes back as a single "latitude,longitude" string, so split it on the comma and write Latitude and Longitude separately, or write it through whole if the table has a single Coordinates column instead. The org field is one combined string like "AS15169 Google LLC" rather than separate fields, so split it on the first space: the leading ASxxxxx token goes to the ASN column and everything after it goes to the Network Owner column.

Handle two edge cases explicitly. First, private and bogon addresses such as 10.x.x.x and 192.168.x.x come back as {"ip": "...", "bogon": true} with no geolocation or ASN data at all. When that flag is set, skip the geo mapping entirely, write "Private" into the status column, and leave the geo columns empty. The row should read as deliberately private rather than as a lookup that never ran.

Second, if a lookup fails for any other reason, write the reason into the status column instead of leaving the row silently empty. Cover an invalid or unparseable value in the source column, a 401 for a bad token, a 429 when the IPinfo quota is exhausted, and a 403 when the requested data is not included in the current plan. Keep the text short and human readable, for example "Invalid IP", "Rate limited" or "Auth failed". On a clean enrichment, set the status column to "Enriched".

Every record the workflow touches must end up with something in the status column. Never leave a triggered row where all the enrichment columns are blank and there is no explanation why.

What does this prompt do?

  • Watches your Airtable IP log and picks up each new row the moment it is added.
  • Fills in the city, region, country, coordinates and time zone for that address, plus the name of the company or internet provider that owns it.
  • Marks office and home network addresses as private instead of leaving the row half empty.
  • Writes a short reason into a status column whenever a lookup does not succeed, so no row is left silently blank.

What do I need to use this?

  • An Airtable base with a table where you log IP addresses.
  • Columns ready to receive the details: city, region, country, coordinates, time zone, provider and a status column.
  • An IPinfo account. The free tier covers city level location and provider names, which is everything this fills in.

How can I customize it?

  • Choose which columns get filled in. Drop any you do not need, or keep the provider name and its network number together in one column instead of splitting them apart.
  • Change the wording written for private addresses and for failed lookups so it matches how your team reads the table.
  • Point it at a different table or base, or run it on a second log table alongside the first.

FAQs

What information gets added to each row?
The city, region and country the address is registered to, its latitude and longitude, its time zone, and the name of the company or internet provider that owns it along with that provider's network number.
What happens with internal addresses like 192.168.1.1?
Those are private network addresses that only exist inside an office or home network, so there is no public location to look up. The row is marked as private rather than left blank, so you can tell at a glance that it was checked and skipped on purpose.
Do I need a paid IPinfo plan?
No. A free IPinfo account returns city level location and the provider name, which covers everything this workflow writes back. Paid plans add extras like VPN and proxy detection if you want them later.
Will it change rows I already have in the table?
No. It only runs on rows added after you turn it on, and it only writes to the columns you point it at. Everything else on the row stays exactly as it was.
How soon does a new row get filled in?
It checks your table for new rows on a regular cycle, so a freshly logged address is usually enriched within a few minutes of being added.

Related templates

Weekly flight risk brief for trips your team already booked

Every Thursday, rank your team's upcoming flights by how likely they are to run late, and email the fixes while changes are still cheap.

AeroDataBox
Airtable
Gmail
Agentic Task
Rewrite approved calendar posts for each social network

When a content calendar row is approved, each network gets its own version of the copy, scheduled to the right connected social profiles.

Sendible
Airtable
Slack Bot
Agentic Task
Turn approved Airtable calendar rows into scheduled social posts

Mark a row Approved in your content calendar and the post is scheduled on every channel you picked, at the time you picked, with no copy pasting.

Airtable
bundle.social
Deterministic Code
Auto-screen new Airtable submissions before they go live

Every new community post, review or job listing gets scored against your policy, labeled by topic, and only the risky ones ever reach your team.

Mistral AI
Airtable
Slack Bot
Deterministic Code
Find the influencer posts worth putting ad budget behind

Every weekday at 8am, get five creator posts that are outperforming their own usual numbers, with a one line reason to back each one.

Later
Slack
Airtable
Agentic Task
Keep an auditable vessel port and berth call log in Airtable

Every four hours, log each arrival, departure and docking for your fleet in Airtable so laytime and demurrage claims rest on hard timestamps.

MarineTraffic
Airtable
Slack Bot
Deterministic Code

Stop looking up IP addresses by hand.

Every address you log gets its city, country and provider filled in before you even open the table.