# Weekly Census site scoring for new retail locations

> Every Monday at 8am, score every candidate site in your Airtable list on local demographics and competition, then post the top three to Slack.

- Workflow type: agent
- Services: US Census Bureau, Airtable, Slack
- Categories: Operations, Sales
- Published: 2026-06-30

## What it does

- Pulls every candidate site from your Airtable list each Monday morning.
- Looks up the local population, income, age, daytime workforce, and competing businesses for each address using free US Census data.
- Scores each site against your ideal profile from 0 to 100 and writes a short paragraph of reasoning back to the row.
- Posts the top three picks to a Slack channel with links back to the Airtable records so your team can review and discuss.

## What you'll need

- An Airtable base with a row per candidate site, including street address, city, state, ZIP, and a target industry code.
- A free US Census Bureau API key (signup is a single form plus an emailed activation link).
- A Slack workspace and a channel where the weekly shortlist should land.

## Prompt

Build me an agent workflow that runs on a cron schedule every Monday at 8am in my local timezone and ranks the retail or service site candidates I am evaluating.

Step 1. Read my candidate sites from Airtable using the List Records operation. Each row has a friendly site name, a street address, city, state, ZIP, and a target NAICS industry code. During setup, ask me for the base ID, the table name, the view (if I want to scope to one), and which Airtable field maps to each of those columns. Also ask me which fields the workflow should later write the score and rationale into.

Step 2. For every candidate site, call the US Census Bureau Get Census Geographies by Address (Structured) operation with the row's street, city, state, and ZIP to resolve the Census tract and county. If the address cannot be geocoded, mark the row as unresolved and skip the demographic lookups for it.

Step 3. For each resolved site, call Query American Community Survey 5-Year (ACS5) to pull total population, median household income, median age, and a daytime workforce indicator for the site's tract. If it improves the signal, also pull the same variables for the surrounding tracts in the same county and average them, so the score reflects the broader trade area, not just one block.

Step 4. Call Query County Business Patterns for the row's target NAICS code in the resolved county. Use the establishment count and employment figures as a competitive density signal.

Step 5. Score each site from 0 to 100 against an ideal customer profile I will define during setup. The profile covers target income range, daytime workforce level, age skew, and the level of competition I am willing to accept for the target NAICS. If I do not provide a profile, default to medium-to-high household income, healthy daytime workforce, balanced age mix, and low-to-moderate competition. For each site, also write a one-paragraph rationale that names the strongest and weakest signals in plain English.

Step 6. Write the score and the rationale back to the Airtable rows in batches using the Update Multiple Records operation. Use the field names I specified at setup.

Step 7. Send a Slack message with the Send a Message operation to the channel I pick during setup. The message lists the top three scoring sites with the site name, the score, a one-sentence summary, and a clickable link back to the Airtable record. If no site clears the minimum score threshold I set, post a short note that nothing qualified this week instead of an empty list.

Make the timing, the ideal profile, the minimum score threshold, and the number of sites included in the Slack message all easy to change later without rewriting the workflow.

## How to customize

- Change the day and time the digest runs (for example, Friday afternoon instead of Monday morning).
- Adjust the ideal site profile, including target income range, daytime workforce, age skew, and acceptable level of nearby competition.
- Set how many sites appear in the Slack message, or apply a minimum score threshold so only strong candidates get surfaced.
- Swap Slack for email, Notion, or another channel if your team reviews the shortlist somewhere else.

## FAQ

### Do I have to pay for the Census data?

No. The US Census Bureau APIs are free for any use, including commercial. You request a key from a short form on their site, click the activation link in the email they send, and paste the key into General Input once.

### What is a NAICS code and where do I get one for my business?

NAICS is the official US industry classification system. You look up the six-digit code that matches your business on the Census Bureau's NAICS search page. For example, a coffee shop is 722515 and a hair salon is 812112. Put the code in your Airtable row for each candidate site so the workflow knows what counts as a competitor.

### Can this score locations outside the United States?

Not with Census Bureau data, which only covers US addresses. For international site selection you would need a different demographic data source plugged into the same workflow shape.

### What happens if my Airtable list has hundreds of candidate sites?

The workflow processes them in batches and respects Airtable's rate limits. A large list just takes longer to finish before the Slack message goes out, but every row still gets a score and rationale.

### Can I send the weekly shortlist somewhere other than Slack?

Yes. When you set the workflow up, tell General Input where the recap should land. Email and Notion are both common alternatives, and you can also keep results only in Airtable and skip the broadcast step.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-census-site-scoring-for-new-retail-locations