Recued
Menu
← Back to recipes

Tell the customer a visit is weather-held

by recued-core v3 37 views

Use “Tell the customer a visit is weather-held” in Recued. Records watcher for visits that move to weatherhold. Re-reads the visit and its site, mails the customer once, and stamps notifiedat.

Complete workflow

Field Service Day Plan 7 pinned recipes

Use Field Service Day Plan in Recued for weather, geocoding, scheduling, and records. It includes 16 built-in actions and 5 ready-to-run workflows. Actions that change data use Recued's approval controls.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Tell the customer a visit is weather-held
This recipe Background automation

Use “Tell the customer a visit is weather-held” in Recued. Records watcher for visits that move to weatherhold. Re-reads the visit and its site, mails the customer once, and stamps notifiedat.

pack:field-service-day-planfield-serviceweatherwatcher
by recued-core pinned v3

Use “Add a service site” in Recued. Geocode one service address once and store its coordinates.

pack:field-service-day-planfield-servicegeocodingnominatim
by recued-core pinned v3

Use “Schedule a site visit” in Recued. Book one visit to an existing site on a date and time window. The visit is keyed on site, date and window start, so re-running the same booking converges on the same row instead of double-booking the slot.

pack:field-service-day-planfield-serviceschedulingrecords
by recued-core pinned v2

Use “Plan today's service day” in Recued. Reads today's visits, fetches the forecast at each weather-sensitive site's stored coordinates, and records a verdict on every visit — holding the ones the weather will not allow and releasing the ones it will.

pack:field-service-day-planfield-serviceweatheropen-meteo
by recued-core pinned v3

Use “Show the day plan” in Recued. Reads one day's visits in window order and shows each with its site, work, weather verdict and status. It reads information without changing data in the connected service.

pack:field-service-day-planfield-serviceday-planboard
by recued-core pinned v2

Use “Close a site visit” in Recued. Mark one visit done or skipped, with an optional note.

pack:field-service-day-planfield-serviceday-planrecords
by recued-core pinned v3
Show all 7 recipes
View pack details, dependencies, and permissions →

When it fires

On any update to a visit row. It sends only when ALL of these hold:

  • status is weather_hold
  • notified_at is empty — the customer has not already been told
  • the site has a customer_email AND a sender_mail_instance

A site missing either mail field is silently never mailed. That is deliberate: this pack will not pick a sending account for you.

⛔ notified_at is the dedup, not a cursor. Reactive runs have no backed context.recipe.* state, so anything keyed on "what did I do last time" would resolve empty on every tick and mail the customer on every update. The only durable record of "already told" is the stamp on the row, which is why the guard reads it and the last step writes it.

⚠ This recipe updates the row it watches, so it re-fires itself exactly once. The second fire finds notified_at set and stops at the guard. That is the intended shape, not a loop.

⚠ Once notified, the hold will not lift by itself. plan-service-day deliberately refuses to reinstate a visit whose customer was already told the work is off, even if the forecast improves. Reinstating it is your call.

Delivery is converged, not exactly-once. The mail carries a reconciliation id keyed on the visit, so a retry after a crash converges on one message rather than claiming provider-level exactly-once delivery.

How it works 16 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (16 steps)
◆ visit recued-core.field-service-day-plan.visit.get
Get visit on field service day plan
■ is_held compare
Check if visit record status equals weather_hold
■ already_notified compare
Check if visit record notified at has data
■ should_consider all
Check if all conditions are true
⚠ consider_guard guard
Stop if should consider equals
■ site_id replace
Replace text in visit record site ref
◆ site recued-core.field-service-day-plan.site.get
Get site on field service day plan
■ mailable all
Check if all conditions are true
⚠ mailable_guard guard
Stop if mailable equals
■ reconciliation template
Generate text from a template
■ subject template
Generate text from a template
■ body template
Generate text from a template
◆ send core.mail.send
Send mail
■ notified_at date_add
Add 0 seconds to
◆ stamp recued-core.field-service-day-plan.visit.update
Update visit on field service day plan
■ card to_summary
Format results as a summary card
▼
Output
summary card

Uses (4 operations)

Pack operation Get visit on field service day plan recued-core.field-service-day-plan.visit.get
Pack operation Get site on field service day plan recued-core.field-service-day-plan.site.get
Mail Send mail core.mail.send
Pack operation Update visit on field service day plan recued-core.field-service-day-plan.visit.update

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Write Pack Field Service Day Plan external change
Read: visit.get · No approvalRead: site.get · No approvalWrite: visit.update · No approval
Write Mail core.mail.send external change

Data it touches

SurfacesMail

About

Tags

pack:field-service-day-planfield-serviceweatherwatchernotificationrecordsv2

Details

16 steps recipe_id: notify-visit-weather-hold