Agent setup guide
Weather Reschedule Notifier
Every afternoon: tomorrow's forecast per service area against your limits, reschedule notes for affected jobs after one approval, and a crew notice.
What it does
Every afternoon: tomorrow's forecast per service area against your limits, reschedule notes for affected jobs after one approval, and a crew notice.
- Every afternoon, reads your jobs and keeps only tomorrow's (worked out in code, in your time zone), then reads your service areas (up to 10) and gets tomorrow's National Weather Service forecast for each one.
- Dates are worked out in code, never by the AI: days until or since each date, the window and business days are computed in your workflow's time zone, and records outside the window are skipped before the AI sees them.
- AI applies only your limits per job type (rain, wind, heat, freeze, thunderstorms) and gives the forecast value behind each impact.
- No impact anywhere: a one-line “all clear” goes to your dispatch channel in Slack.
- Impacts: drafts a short note to each customer with an affected job tomorrow, offering your next open day (up to 40 per run).
- The dispatcher approves the batch in Reviews, editing notes or removing jobs they'll keep; then the notes are emailed with replies to your office inbox.
- A crew notice with the impacts, affected jobs and calls to make is posted to your crew channel.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- Google Sheets and Slack, connected in Settings → Integrations, plus an HTTP / Custom API connection to https://api.weather.gov (free, no key).
- A service-areas tab (Area, Lat, Lon) and a jobs tab with customer emails.
- Your written weather limits per job type and your rebooking message.
What it doesn't do
- It doesn't move jobs in Jobber, Housecall Pro or your calendar: you update the schedule.
- It works from a National Weather Service area forecast (US only), not on-site conditions, so the dispatcher makes the call. One forecast point per service area.
- It applies only the limits you write and never promises the weather, dates or discounts.
- Nothing is emailed before the batch is approved. Affected jobs without an email are listed for you to call.
Availability and plans
Available
Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.
Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.
Before you start
- A paid plan: agents run live, and the Free plan only runs Dry Runs.
- An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
- These apps, connected in Settings → Integrations: Google Sheets, HTTP / Custom API and Slack.
- Nothing to send: the agent runs on a schedule.
- About 30 minutes.
Set it up step by step
Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.
1. Connect your AI provider
The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.
2. Connect Google Sheets
Connect the Google account that can open your service-areas and jobs sheets (Settings → Integrations → Google Sheets).
3. Connect the National Weather Service (HTTP / Custom API)
In Settings → Integrations, add an HTTP / Custom API connection named “National Weather Service” with base URL https://api.weather.gov and Authentication “None”. The NWS API is free, public domain and needs no key; it covers US locations only.
4. Connect Slack
Connect the Slack workspace your dispatch team and crews use (Settings → Integrations → Slack).
5. Pick your service areas
Open “Read your service areas” and pick your account, spreadsheet and the tab with Area, Lat and Lon.
| Setting | What to enter | In step |
|---|---|---|
| Google account (service areas) | The Google account that can open your service-areas and jobs sheets. Pick your connected Google Sheets account. | “Read your service areas” |
| Service areas spreadsheet | Paste the link of the spreadsheet with your service areas. | “Read your service areas” |
| Service areas tab | The tab with one row per area and the columns Area, Lat and Lon, e.g. “Service areas”. | “Read your service areas” |
6. Set up the weather lookups
Open “Find the forecast office” and “Get the forecast”: pick the National Weather Service connection in both, and in Extra headers replace the placeholder with your business name and a contact email.
| Setting | What to enter | In step |
|---|---|---|
| Weather connection (forecast office) | The HTTP / Custom API connection with base URL https://api.weather.gov and Authentication “None”. Pick your connected HTTP / Custom API account. | “Find the forecast office” |
| Your contact for the weather service | In Extra headers, replace the placeholder with your business name and a contact email. The National Weather Service asks every app to identify itself this way and may block requests that don't. It starts as “[YOUR BUSINESS NAME AND CONTACT EMAIL]” until you replace it. | “Find the forecast office” |
| Weather connection (forecast) | The HTTP / Custom API connection with base URL https://api.weather.gov and Authentication “None”. Pick your connected HTTP / Custom API account. | “Get the forecast” |
| Your contact for the weather service (forecast step) | In Extra headers, replace the placeholder with your business name and a contact email. The National Weather Service asks every app to identify itself this way and may block requests that don't. It starts as “[YOUR BUSINESS NAME AND CONTACT EMAIL]” until you replace it. | “Get the forecast” |
7. Paste your weather limits
Open “Check tomorrow against your limits” and replace the placeholder with your limits per job type.
| Setting | What to enter | In step |
|---|---|---|
| Your weather limits per job type | Replace the placeholder with each job type and the forecast that stops it (rain chance, wind, temperature, thunderstorms), plus any limit for all crews. Only these limits are applied. It starts as “[PASTE YOUR WEATHER LIMITS PER JOB TYPE HERE, E.G. MOWING: RAIN CHANCE 60% OR MORE; EXTERIOR PAINTING: RAIN 40% OR MORE, OR BELOW 50°F; ROOFING: WIND 20 MPH OR MORE, OR THUNDERSTORMS; PRESSURE WASHING: BELOW 35°F; ALL CREWS: 95°F OR HOTTER]” until you replace it. | “Check tomorrow against your limits” |
8. Pick the dispatch channel
Open “Post the all clear” and pick your account and channel.
| Setting | What to enter | In step |
|---|---|---|
| Slack account (all clear) | The Slack workspace your dispatch team uses. Pick your connected Slack account. | “Post the all clear” |
| Dispatch channel (all clear) | Where the daily “tomorrow looks workable” line goes, e.g. #dispatch. | “Post the all clear” |
9. Pick your jobs sheet
Open “Read your jobs” and pick your account, spreadsheet and jobs tab (with a Date column).
| Setting | What to enter | In step |
|---|---|---|
| Google account (jobs) | The Google account that can open your jobs sheet. Pick your connected Google Sheets account. | “Read your jobs” |
| Jobs spreadsheet | Paste the link of the spreadsheet with your jobs. | “Read your jobs” |
| Jobs tab | The tab with upcoming jobs (Date, Customer, Email, Job type, Area, Address), e.g. “Jobs”. | “Read your jobs” |
10. Write your rebooking message
Open “Draft the reschedule notes” and replace the placeholder with your open days, what customers should know and your sign-off.
| Setting | What to enter | In step |
|---|---|---|
| Your rebooking message | Replace the placeholder with your company name, the next open days you offer for weather reschedules (or how customers pick a new day), anything customers should know, and your sign-off. It starts as “[PASTE YOUR COMPANY NAME, THE NEXT OPEN DAYS YOU OFFER FOR WEATHER RESCHEDULES (OR HOW CUSTOMERS PICK A NEW DAY), ANYTHING CUSTOMERS SHOULD KNOW (NO CHARGE, GATE CODES STAY ON FILE) AND YOUR SIGN-OFF HERE]” until you replace it. | “Draft the reschedule notes” |
11. Add your office inbox and crew channel
Open “Email the customer” and enter the Reply-to address, then “Post the crew notice” and pick your account and channel.
| Setting | What to enter | In step |
|---|---|---|
| Your office inbox (replies) | Customers' replies to the reschedule note come back to this address. | “Email the customer” |
| Slack account (crew notice) | The Slack workspace your crews use. Pick your connected Slack account. | “Post the crew notice” |
| Crew channel | Where tomorrow's weather impacts and affected jobs are posted, e.g. #crews. | “Post the crew notice” |
12. Test it with Dry Run
Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.
13. Switch the trigger on
Open the trigger, set your time zone and switch the schedule on. It runs every day at 16:00.
How it works
The agent is a normal workflow with 18 steps (2 AI steps, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.
- Every day at 16:00 — Runs on a schedule (cron 0 16 * * *, UTC — change it in the trigger's settings). Runs every afternoon to check tomorrow's weather. Set your time zone on the trigger.
- Read your jobs — Google Sheets: Read rows. Reads your jobs tab (date, customer, email, job type, service area, address, crew). Keep upcoming jobs there; past ones can move to another tab.
- Keep tomorrow's jobs — Step. In code, not AI: works out tomorrow's date in your time zone and keeps only the jobs dated tomorrow, so the AI never decides which day a job is on. Change the window here (within.min / within.max).
- Read your service areas — Google Sheets: Read rows. Reads your service-areas tab: one row per area with its name and a forecast point (Lat, Lon).
- Each service area — Repeats the steps below for each item (up to 10 per run). Gets the forecast for every service area (up to 10).
- [For each item — “Each service area”] Find the forecast office — HTTP / Custom API: Send a request. Asks the National Weather Service which forecast grid covers this service area (from its latitude and longitude).
- [For each item — “Each service area”] Get the forecast — HTTP / Custom API: Send a request. Reads the National Weather Service 12-hour forecast periods for this service area (temperature, chance of rain, wind and the forecast text).
- Check tomorrow against your limits — AI step (runs on your AI provider key). AI reads tomorrow's daytime forecast for each area (tomorrow's date comes from code) and applies your limits per job type (rain, wind, heat, freeze), with the forecast value behind every call.
- Any weather impact tomorrow? — Decision: picks the branch to follow. No impact anywhere: a short “all clear” goes to Slack and the run ends. Otherwise reschedule notes are drafted for tomorrow's jobs.
- Post the all clear — Slack: Post a message. Branch: All clear. Posts “tomorrow looks workable” with a one-line forecast per area to your dispatch channel.
- All clear — Kept in the run history. No jobs affected; the run history keeps the forecast check.
- Draft the reschedule notes — AI step (runs on your AI provider key). Branch: Impact. From tomorrow's jobs (picked in code), AI picks the ones in affected areas whose job type is hit by the weather, and drafts a short note to each customer offering your next open day, plus the crew notice.
- Approve the reschedule batch — A person approves or rejects it in Reviews (the run waits). The dispatcher reads tomorrow's affected jobs and every drafted note in Reviews, edits them, removes any job they'll keep, and approves; nothing is sent before that.
- Batch rejected — Kept in the run history. Branch: Rejected. Nothing was sent; the run history keeps the forecast check and the drafts.
- Each approved note — Repeats the steps below for each item (up to 40 per run). Branch: Approved. Emails every approved reschedule note (up to 40).
- [For each item — “Each approved note”] Email the customer — Sends an email from your workspace's sender. Sends the approved note to the customer from your workspace's sender, with replies going to your office inbox.
- Post the crew notice — Slack: Post a message. Posts tomorrow's weather impacts, the affected jobs and the calls you still need to make to your crew channel, with how many notes went out.
- Done — Kept in the run history. The run history keeps the forecast check, the approved notes and the crew notice.
Test it with Dry Run
Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live.
- Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
- Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.
- For-each loops repeat only the first 3 items.
Go live
- Open the trigger, set your time zone and switch the schedule on. It runs every day at 16:00.
- Scheduled runs start only once the schedule is activated, and can't repeat faster than your plan's minimum interval.
- The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
- When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.
Questions
Where does the weather come from?
The US National Weather Service API (https://api.weather.gov): free, public domain and no key, through an HTTP / Custom API connection. Two calls per location: one finds the forecast grid for the latitude and longitude, the second reads the 12-hour forecast. US locations only. NWS asks every app to name itself and a contact in the User-Agent header, which is why you add yours in setup. Its forecasts are general area forecasts, not on-site measurements.
What should the sheets look like?
A service-areas tab with a header row and the columns Area, Lat and Lon exactly (the forecast point for each area, up to 4 decimals, e.g. 39.7456 and -97.0892), up to 10 areas. A jobs tab with Date, Customer, Email, Job type, Area and Address (plus Crew if you like); keep upcoming jobs there.
Does it move the jobs?
No. It drafts the customer notes and tells the crew; you move the jobs in Jobber, Housecall Pro or your calendar. It works from a forecast, so the dispatcher makes the call.
Can I use a forecast point per job?
This version uses one point per service area (one weather lookup each), which keeps it fast and inside the free API's fair use. Keep areas small enough that one forecast fits them.
How does it know which jobs are tomorrow?
In code, not by the AI: “Keep tomorrow's jobs” works out tomorrow's date in your trigger's time zone and keeps only job rows dated that day (dates like 2026-10-14, 10/14/2026 or October 14, 2026 all work). The AI only judges the weather against your limits and writes the notes.
Troubleshooting
- “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
- A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
- An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
- Slack says the app isn't in the channel: in Slack, type /invite @Fluxo Flow in that channel (always needed for private channels).
- It didn't run at the expected time: the schedule must be activated, and its time is in the trigger's timezone.
- A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
- A step failed: open the run in History and check that step in the Trace tab for the error and what it received.
Generated from the agent's own workflow, so it always matches what the agent does. Last updated .