Browse the docs

Agent setup guide

Tour Weather Go/No-Go

The evening before: the forecast at each meeting point against your activity limits, every call approved by the lead guide, then the right email to every guest.

Available About 35 min to set up

What it does

The evening before: the forecast at each meeting point against your activity limits, every call approved by the lead guide, then the right email to every guest.

  • Every evening, reads your departures, keeps only tomorrow's (worked out in code, in your time zone; up to 20) and gets the National Weather Service forecast at each meeting point.
  • 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 your limits per activity (wind for kayaks and boats, thunderstorms for hikes, heat, rain) and recommends go, marginal or cancel with the forecast values behind it.
  • It drafts both guest emails per departure: what to wear and bring for this forecast, and a cancellation with your rebook and refund policy text copied exactly.
  • The lead guide reviews every call in Reviews, sets each to go or cancel and edits the emails; guests hear nothing before that.
  • Each booking for tomorrow (picked in code) on a go or cancelled departure gets the approved email, greeted by first name, after a code check (one valid email, no placeholders), with replies to your bookings inbox (up to 100 bookings per run).
  • Your guides get a Slack briefing with tomorrow's calls and reasons, and how many guest emails went out (counted in code).
  • The summary is counted in code from what each step really did (sent, held, skipped, failed), so it never reports a held message as sent.

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 departures tab with each meeting point's Lat and Lon, and a bookings tab with guest emails.
  • Your written limits per activity, packing list and cancellation policy.

What it doesn't do

  • It isn't a marine, aviation or lightning-detection service: it reads the National Weather Service area forecast (US only), and the guide's call on the day overrides it.
  • It never cancels or confirms a tour on its own: the lead guide approves every call, and departures left “marginal” get no guest email.
  • It doesn't process refunds or rebookings; those follow your policy in your booking system.
  • It applies only your written limits and never promises the weather.

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 35 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 departures and bookings 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 guides use (Settings → Integrations → Slack).

5. Pick your departures sheet

Open “Read tomorrow's departures” and pick your account, spreadsheet and departures tab.

SettingWhat to enterIn step
Google account (departures)The Google account that can open your departures and bookings sheets. Pick your connected Google Sheets account.“Read tomorrow's departures”
Departures spreadsheetPaste the link of the spreadsheet with your departures.“Read tomorrow's departures”
Departures tabThe tab with one row per departure (Date, Time, Tour, Activity, Meeting point, Lat, Lon, Guide), e.g. “Departures”.“Read tomorrow's departures”

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.

SettingWhat to enterIn 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 serviceIn 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 limits and policy

Open “Make the go / no-go call” and replace the placeholder with your limits per activity, packing list, cancellation policy and sign-off.

SettingWhat to enterIn step
Your limits, packing list and policyReplace the placeholder with your company name, the cancel and marginal limits per activity, what guests should wear and bring, your cancellation / rebook / refund policy text (copied into cancel emails word for word) and your sign-off. It starts as “[PASTE YOUR COMPANY NAME, YOUR LIMITS PER ACTIVITY (E.G. KAYAK: WIND OVER 15 MPH = CANCEL, 12–15 = MARGINAL; HIKE: ANY THUNDERSTORM = CANCEL; ALL: OVER 95°F = MARGINAL), WHAT GUESTS SHOULD WEAR AND BRING, YOUR CANCELLATION, REBOOK AND REFUND POLICY TEXT AND YOUR SIGN-OFF HERE]” until you replace it.“Make the go / no-go call”

8. Pick your bookings sheet

Open “Read the bookings” and pick your account, spreadsheet and bookings tab.

SettingWhat to enterIn step
Google account (bookings)The Google account that can open your bookings sheet. Pick your connected Google Sheets account.“Read the bookings”
Bookings spreadsheetPaste the link of the spreadsheet with your bookings.“Read the bookings”
Bookings tabThe tab with one row per booking (Date, Time, Tour, Guest name, Email, Party size, Status), e.g. “Bookings”.“Read the bookings”

9. Add your bookings inbox and guides' channel

Open “Email the guest” and enter the Reply-to address, then “Brief the guides in Slack” and pick your account and channel.

SettingWhat to enterIn step
Your bookings inbox (replies)Guests' replies to the go or cancel email come back to this address.“Email the guest”
Slack accountThe Slack workspace your guides use. Pick your connected Slack account.“Brief the guides in Slack”
Guides' channelWhere tomorrow's calls are posted, e.g. #guides.“Brief the guides in Slack”

10. Test it with Dry Run

Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.

11. Switch the trigger on

Open the trigger, set your time zone and switch the schedule on. It runs every evening at 17:00.

How it works

The agent is a normal workflow with 21 steps (3 AI steps, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.

  • Every evening at 17:00 — Runs on a schedule (cron 0 17 * * *, UTC — change it in the trigger's settings). Runs the evening before each tour day. Set your time zone on the trigger.
  • Read tomorrow's departures — Google Sheets: Read rows. Reads your departures tab: date, time, tour, activity type, meeting point with Lat and Lon, and the guide.
  • Keep tomorrow's departures — Step. In code, not AI: works out tomorrow's date in your time zone and keeps only the departures dated tomorrow, so the AI never decides which day a tour runs. Change the window here (within.min / within.max).
  • Each departure tomorrow — Repeats the steps below for each item (up to 20 per run). Gets the forecast and makes the call for every departure the date check kept (up to 20).
  • [For each item — “Each departure tomorrow”] Find the forecast office — HTTP / Custom API: Send a request. Asks the National Weather Service which forecast grid covers the meeting point (from its latitude and longitude).
  • [For each item — “Each departure tomorrow”] Get the forecast — HTTP / Custom API: Send a request. Reads the National Weather Service 12-hour forecast periods for the meeting point (temperature, chance of rain, wind and the forecast text).
  • [For each item — “Each departure tomorrow”] Make the go / no-go call — AI step (runs on your AI provider key). AI applies your limits for this activity (wind for kayaks and boats, thunderstorms for hikes, heat) to the forecast at the meeting point and recommends go, marginal or cancel with reasons, plus both guest emails for the guide to review. The departure date was checked in code.
  • Lead guide reviews every call — A person approves or rejects it in Reviews (the run waits). All of tomorrow's calls wait in Reviews together. The lead guide checks each forecast and reason, changes any call to go or cancel, edits the guest emails and approves; guests hear nothing before that.
  • Calls rejected — Kept in the run history. Branch: Rejected. No guest emails were sent; the run history keeps the calls.
  • Write the guides' briefing — AI step (runs on your AI provider key). Branch: Approved. AI turns the approved calls into a short Slack briefing for your guides (each departure's call, the reasons and the forecast) and lists the approved guest emails to send.
  • Read the bookings — Google Sheets: Read rows. Reads your bookings tab (date, time, tour, guest name, email, party size, status). Keep upcoming bookings there.
  • Keep tomorrow's bookings — Step. In code, not AI: keeps only the booking rows dated tomorrow (in your time zone), so guests booked on other days are never matched or emailed.
  • Each booking tomorrow — Repeats the steps below for each item (up to 100 per run). Matches every booking for tomorrow to its approved call, checks the email and sends it (up to 100).
  • [For each item — “Each booking tomorrow”] Match the booking to its call — AI step (runs on your AI provider key). AI matches the booking (dated tomorrow, checked in code) to its departure and picks the approved go or cancel email, greeting the guest by first name. Open calls and cancelled bookings get nothing.
  • [For each item — “Each booking tomorrow”] Check before sending — Step. In code: matched to an approved call, exactly one valid guest email, and a subject and body with no placeholders left. Anything that fails isn't emailed and is listed with the reason.
  • [For each item — “Each booking tomorrow”] Email this guest? — Decision: picks the branch to follow. Guests on tomorrow's go or cancelled departures that pass the check get the approved email; everyone else is skipped.
  • [For each item — “Each booking tomorrow”] Email the guest — Sends an email from your workspace's sender. Branch: Send. Sends the approved go or cancel email from your workspace's sender, with replies going to your bookings inbox.
  • [For each item — “Each booking tomorrow”] Not emailed — Kept in the run history. Branch: Skip. A call still open, a cancelled booking, no email or a failed check.
  • Count the guest emails — Step. In code, not AI: counts the bookings for tomorrow that were emailed, not emailed (with the reason) or failed, from what each step really did.
  • Brief the guides in Slack — Slack: Post a message. Posts tomorrow's approved calls with reasons to your guides' channel, with the guest emails sent and not sent (counted in code).
  • Done — Kept in the run history. The run history keeps the forecasts, the approved calls and every guest email.

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 evening at 17: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 departures tab with Date, Time, Tour, Activity, Meeting point, Lat, Lon and Guide (Lat and Lon named exactly so, up to 4 decimals), and a bookings tab with Date, Time, Tour, Guest name, Email, Party size and Status. Keep upcoming rows in both.

Who decides whether a tour runs?

The lead guide. The agent recommends a call from your written limits; every call waits for approval, and departures left “marginal” get no guest email until you decide. Guides on site still make the final safety call.

Does it process refunds?

No. Cancelled guests get your own policy text; refunds and rebookings happen in your booking system.

How does it know which departures and bookings are tomorrow?

In code, not by the AI: “Keep tomorrow's departures” and “Keep tomorrow's bookings” work out tomorrow's date in your trigger's time zone and keep only rows whose Date is that day. The AI only judges the forecast against your limits and writes the emails.

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 .