Map Typeform event sign-ups into a Google Sheets attendee tracker
Every new registration gets turned into latitude, longitude, city, and country, then logged in a Google Sheet you can drop straight into BatchGeo or any map dashboard.
Build me a deterministic, code-shaped workflow that turns new Typeform event sign-ups into a mappable Google Sheet. Every attendee should end up as one clean row with latitude, longitude, city, and country, ready to drop into BatchGeo or a custom map dashboard.
Trigger: a Typeform webhook on a new form response. The form is my event sign-up and includes an address question along with name, email, and ticket type. No polling, no agent reasoning, just pure node-to-node enrichment.
Workflow inputs I want to be able to set on each run: the Google Sheet ID, the main tab name (where successful rows go), and the review tab name (where unresolved addresses go). Default the review tab name to "needs-review".
Steps:
1. Parse the Typeform webhook payload. Pull out the submission timestamp, attendee name, email, ticket type, and the raw address string. Use Typeform's answers/fields mapping; do not hardcode answer indexes.
2. Forward-geocode the raw address using TrueWay Geocoding's Geocode (Forward Geocoding) operation. Pass the address as the query and ask for the parsed locality and country in the result.
3. If TrueWay returns at least one result, take the top match and append a single row to the main tab using Google Sheets' Append Values, with these columns in order: timestamp, name, email, ticket type, raw address, lat, lng, city, country. Use USER_ENTERED so the sheet treats numbers and timestamps correctly.
4. If TrueWay returns an empty results array (no match found), do not write to the main tab. Instead append a single row to the review tab with: timestamp, name, email, ticket type, raw address, and a short reason like "no_geocode_result". The organizer will clean those by hand.
Constraints: this is a strictly deterministic enrich-and-append pipeline. No drafting, no judgment, no LLM step. Skip any branching that is not the success/no-result split above. Errors from TrueWay (rate limits, auth) should bubble up and fail the run so I can see them; do not silently swallow them into the review tab.
Integrations: Typeform (webhook trigger), TrueWay Geocoding (Geocode operation), Google Sheets (Append Values).
Additional information
What does this prompt do?
- Listens for new Typeform responses on your event sign-up form the moment they come in.
- Reads the attendee's name, email, ticket type, and address straight from the response.
- Looks up the address to get latitude, longitude, city, and country for the map.
- Appends one clean row per attendee to your Google Sheet, ready to plot in BatchGeo or any map tool.
- Sends anything that cannot be located to a separate review tab so you can fix it by hand later.
What do I need to use this?
- A Typeform account with your event sign-up form, including an address question.
- A Google account with edit access to the Google Sheet where attendees should be logged.
- A RapidAPI account subscribed to TrueWay Geocoding for the address lookups.
- The Google Sheet's ID and the names of the main tab and a review tab for unresolved addresses.
How can I customize it?
- Add or remove columns to match what your map tool expects, like state, postal code, or ticket tier.
- Swap in a different sign-up form, or point at multiple Typeforms if you run more than one event.
- Change the review-tab name, or send unresolved addresses to a Slack channel or email instead.
Frequently asked questions
Do I need a paid Typeform plan for this?
What happens if an attendee types a messy or incomplete address?
Can I use this with BatchGeo, Google My Maps, or Mapbox?
Will this work if my form does not have a single address question?
How many attendees can I geocode per month?
Stop pasting attendee addresses into a spreadsheet by hand.
Connect Typeform, TrueWay Geocoding, and Google Sheets once, and Geni keeps your event map up to date every time someone signs up.