Daily pre-shift weather go/no-go text for field crews

Every weekday at 5am, each crew lead gets one short text showing every job that day as Go, Caution, or No-Go based on the local forecast.

Deterministic Code
NOAA WeatherAirtableTwilioOperationsNotifications & AlertsDaily Digests

Build me a code-based workflow that runs on a cron schedule every weekday at 5am in my local time. The job is to send each field crew lead one SMS that calls go/no-go on every job they have scheduled that day, based on the local weather forecast at each job site.

Inputs. Use Airtable List Records to read my jobs table, filtered to records where the job date equals today. Each row has these columns: job ID, date, crew lead phone number in E.164 format, latitude, longitude, start time, end time, and job type. Job types include roofing, paving and concrete, painting, landscaping, tree work, solar install, exterior cleaning, and line work.

Forecast lookup per job. Call NOAA Weather Get Point Metadata with the job's latitude and longitude to get the forecast grid identifiers, then call NOAA Weather Get Hourly Forecast on that grid point. Filter the hourly forecast to only the hours that fall inside the job's start time through end time window. Do not evaluate the whole day.

Go/no-go logic. This must be deterministic with no model reasoning. Apply a fixed threshold table keyed on job type. Use this starter table as the default and treat it as configuration the operator can edit later.

  • Roofing. No-Go if sustained wind exceeds 25 mph at any point in the window, or any precipitation is forecast. Caution if sustained winds are 20 to 25 mph. Otherwise Go.

  • Paving and concrete. No-Go if air temperature drops below 50F at any point in the window, or any precipitation is forecast in the 4 hours after start. Caution if temperature is 50 to 55F. Otherwise Go.

  • Painting. No-Go if any precipitation is forecast, relative humidity stays above 85 percent across the window, or temperature is below 50F. Caution if humidity is 75 to 85 percent. Otherwise Go.

  • Landscaping. No-Go if thunderstorms are forecast or precipitation exceeds light rain. Caution if any precipitation is forecast. Otherwise Go.

  • Tree work. No-Go if wind gusts exceed 30 mph or thunderstorms are forecast. Caution if gusts are 25 to 30 mph. Otherwise Go.

  • Solar install. No-Go if precipitation is forecast or wind gusts exceed 25 mph. Caution if gusts are 20 to 25 mph. Otherwise Go.

  • Exterior cleaning. No-Go if temperature is below 40F, wind gusts exceed 25 mph, or precipitation is forecast. Otherwise Go.

  • Line work. No-Go if thunderstorms are forecast or wind gusts exceed 35 mph. Caution if gusts are 30 to 35 mph, or temperature is below 20F. Otherwise Go.

For each job, capture the single most important driving condition behind the verdict so it can appear in the message. Examples: "winds gusting to 32 mph at 10am" or "rain expected 1pm to 3pm".

Grouping and messaging. Group jobs by crew lead phone number. For each crew lead, build one short SMS that lists each of their jobs in order of start time. Each line should include the job ID, the verdict (Go, Caution, or No-Go), and the driving condition in plain English. Keep the whole message under roughly 320 characters so it fits in two SMS segments when possible. Send one message per crew lead using Twilio Send a Message. Use SMS, not WhatsApp.

Edge cases. If a crew lead has no jobs today, do not send them a message. If a job's location falls outside the United States, skip the forecast lookup for that job and include a single line in that crew lead's message noting it was skipped so they can call in manually.

The threshold table is operator-owned configuration. Do not have the model reinterpret thresholds each run. The workflow should be reproducible: same forecast in, same verdicts out.

Additional information

What does this prompt do?
  • Pulls today's scheduled jobs from your Airtable base every weekday morning before crews leave the yard.
  • Checks the local hourly forecast at each job site for the actual hours your crew will be working, not the whole day.
  • Applies a tailored go/no-go rule per job type, like wind limits for roofing or temperature minimums for paving and concrete.
  • Texts every crew lead one tight summary listing each of their jobs with the verdict and the driving condition in plain English.
What do I need to use this?
  • An Airtable base with one row per scheduled job, including date, crew lead phone number, latitude and longitude of the site, start time, end time, and job type.
  • A Twilio account with an SMS-capable phone number to send from.
  • U.S. job sites. The free National Weather Service feed used for forecasts only covers the United States and its territories.
How can I customize it?
  • Edit the threshold table per job type. Add new trades, tighten wind speeds, change temperature minimums, or define your own caution band.
  • Move the timing. The default is weekdays at 5am in your local time, but you can shift it earlier, later, or run it on weekends too.
  • Tweak the message style. Make it terser for veteran crews, or add safety reminders and a links field for higher-risk trades.

Frequently asked questions

What counts as a Go, Caution, or No-Go?
You decide. Each job type has its own threshold table. For example, you might mark roofing as No-Go if winds stay above 25 mph or any rain is in the window, Caution if conditions are borderline, and Go otherwise. The rules are a plain lookup you can edit any time.
Does the forecast use the actual hours my crew will be on site?
Yes. The workflow reads the start and end time on each job and only looks at the hourly forecast inside that window, so an afternoon job is not judged on morning weather.
What if a crew lead has more than one job that day?
Each crew lead gets one text that lists every job assigned to them, in start-time order, with a verdict and the driving condition for each. They see their whole day in a single message.
Will this work outside the United States?
Not as-is. The free National Weather Service feed used here only covers the United States and its territories. International sites would need a different weather source.
Which trades does the starter threshold table cover?
Roofing, paving and concrete, painting, landscaping, tree work, solar install, exterior cleaning, and line work. Each has its own wind, precipitation, temperature, and storm thresholds, and you can add new trades or tune any of the existing ones.

Stop losing half a day to surprise weather.

Connect Airtable, the National Weather Service, and Twilio once. Every weekday at 5am, each crew lead gets a clean go/no-go text for their day.