Weekly Census site scoring for new retail locations

By General Input

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

Integrations

  • US Census Bureau
  • Airtable
  • Slack

Type

Agentic Task

Categories

  • Operations
  • Sales

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes