Skip to content
n8n + Weather API + Calendar + WhatsApp: Auto-Reschedule Outdoor Jobs When Rain Forecast featured image
Integrations

n8n + Weather API + Calendar + WhatsApp: Auto-Reschedule Outdoor Jobs When Rain Forecast

Step-by-step n8n workflow that pulls a 3-day rain forecast, finds outdoor jobs in Google Calendar, and texts clients a reschedule. Built for UK roofers, painters and landscapers losing days to weather.

n8n automation WhatsApp OpenWeatherMap Google Calendar outdoor trades
Ettan Bazil
Written by
Ettan Bazil
Founder & CEO (Tech / PropTech)
About Ettan Early Life and Career Ettan Bazil began his professional journey as a gas engineer and plumber, gaining hands-on experience working directly with households, landlords and property managers. His early trade background shaped his understanding of real-world operational challenges, from emergency repairs to workforce shortages and inefficiencies in the maintenance sector. In 2016, he founded Elite Heating & Plumbing, growing it into a successful business employing multiple engineers and apprentices.
13 min ago 18 min read Comments

Quick Answer

This workflow checks tomorrow's forecast at 5pm each evening, scans Google Calendar for outdoor jobs the next day, and if heavy rain is on the way, texts each affected client through WhatsApp with two reschedule options. Built in n8n, free tier on every component, runs for under £5 a month at small-business volume. Best for roofers, painters and landscapers who currently lose around 7 working days a year to British weather. You do not need to code. You do need an n8n account and a verified WhatsApp Business number.

n8n
Google Calendar
WhatsApp Business
7.2
days lost per year to weather, average UK tradesperson
£1,325
average lost revenue per year, IronmongeryDirect survey 2024
29%
of UK trades who say they cannot afford to pause for bad weather
£0
monthly cost on free tiers for a sole trader running this workflow

The real cost of weather days

Overhead view of a damp wooden workbench with a phone showing a weather radar, an open notebook, paint pots and a glove
A normal British morning for outdoor trades: tea on, forecast checked, schedule already shifting.

IronmongeryDirect surveyed UK tradespeople in 2024 and found the average loss to bad weather sits at £1,325 a year. Painters and decorators take a £1,335 hit. Landscapers lose £1,213 on top of missing the most days of any trade, ten per year. Roofers report some of the worst single events because a sudden downpour can ruin a half-stripped roof in minutes. The headline number sounds modest until you remember it is per person, every year, year on year.

That number also undercounts the secondary damage. A weather day is not just a lost day of revenue. It is the customer who waited at home for nothing and now does not trust your scheduling. It is the rush job you slot in next week to make up the gap, which goes wrong because you skipped survey time. It is the £200 of materials sitting in the van that you bought for Tuesday and now have to store. The lost day is the obvious bit. The knock-on is what kills the margin.

Most tradespeople I talk to already check the forecast. The problem is the gap between checking and acting. You see rain on Wednesday's forecast on Monday afternoon, then you forget. Wednesday morning arrives, you panic-text three customers from the van. One has already taken the day off work. One does not reply. One is annoyed. The forecast was right; your process was the bottleneck. That is what this workflow fixes.

Worth the cost of a half-day's labour. If you save one weather day this year by warning clients the night before, you have already paid for n8n, OpenWeatherMap and WhatsApp combined for the next four years. The economics here are not subtle.

The four tools you are connecting

This integration uses four components, each doing one job. None of them are clever on their own. Together they are.

n8n is the automation engine. It is the bit that runs at 5pm every day, calls the weather API, reads your calendar and sends the messages. Think of it as the dispatcher. The free self-hosted version handles everything in this guide. Cloud Starter is €24 a month if you do not want to manage your own server.

OpenWeatherMap supplies the weather data. The One Call API 3.0 free tier gives you 1,000 calls a day, which is roughly 33 times more than this workflow will ever need. You query a postcode, you get back a 3-day forecast in JSON with precipitation probability and millimetre amounts hour by hour. Met Office DataHub is the British alternative if you want UK-authoritative data; same idea, slightly more setup.

Google Calendar is where your jobs need to live with two specific bits of information: a location (postcode is enough) and a tag in the description that marks the job as outdoor. I use the literal string #outdoor in the description field. The n8n filter looks for that tag and ignores everything else. Office meetings stay private. Indoor jobs do not get cancelled.

WhatsApp Business delivers the message. UK trades clients open WhatsApp messages within minutes; SMS takes hours and email is a graveyard. You can route messages through the official WhatsApp Business Cloud API, or through Twilio's WhatsApp channel. Either works. Both cost roughly £0.013 per utility message in the UK as of 2026.

A cosy home office at dusk with a closed laptop, warm desk lamp and a rainy window looking onto a suburban garden
5pm. Most tradespeople are still on site. The workflow runs while you finish up.

How the workflow actually works

The sequence is boringly simple, which is the point.

At 5pm each weekday, n8n triggers on a schedule. It pulls every event from your Google Calendar for the next 72 hours that contains #outdoor in the description. For each event, it reads the location, geocodes it, and asks OpenWeatherMap what the weather looks like at that postcode at the time the job starts.

The decision rule is yours to set, but a sensible default looks like this: cancel if precipitation probability exceeds 70 percent for two or more hours during the scheduled job window, or if forecast rainfall exceeds 4mm in any hour. Below that threshold you carry on. The numbers matter because a 40 percent chance of light drizzle in the afternoon should not bin a roofer's morning slot.

When a job clears the threshold, n8n sends a WhatsApp message to the client's number, which it pulled from the calendar event. The message offers two reschedule slots picked from your next available windows over the following week. The client replies with "1" or "2". n8n catches the reply via webhook, updates the calendar with the new slot, and confirms back to the client with the new time. That is it. The whole flow takes around four seconds per affected job.

The AI angle, kept honest. You can layer a language model on top of this. I use Claude 4.x to draft the reschedule message in the customer's preferred tone, pulling their first name and the job type from the calendar. It is not the AI making the decision. The threshold rule does that. The model just makes the message sound like a human wrote it. That is where AI earns its keep in trades automation: drafting, not deciding.

Prerequisites and accounts to set up

A British landscaper in a green polo shirt loads hedge cutters into the back of a transit van on a damp suburban street
Before you build anything, get the accounts sorted. Forty minutes total.

Before you open n8n, set up the four accounts. None of these need a credit card on day one. Set aside about 40 minutes, in a quiet room, ideally with a coffee.

  1. n8n account. Sign up at n8n.io for cloud, or run npx n8n locally if you have Node installed and prefer self-hosting. Cloud Starter has a 14-day trial. The free self-hosted version has every node you need for this workflow.
  2. OpenWeatherMap API key. Register at openweathermap.org/api. Subscribe to the One Call API 3.0 free tier (1,000 calls/day). Your key takes about ten minutes to activate. While you wait, you cannot test calls, so build the rest of the workflow first.
  3. Google Cloud project for Calendar. Go to console.cloud.google.com, create a project, enable the Google Calendar API, and create OAuth credentials. n8n's docs walk you through this in detail. The first time you do it, it takes 15 minutes. The second time, three.
  4. WhatsApp Business sender. Two paths. The official route is the WhatsApp Business Cloud API via Meta's developer portal, which needs a verified business and an approved utility template. Simpler is Twilio's WhatsApp channel, which gives you a sandbox number for testing within five minutes. Either is fine. UK utility messaging costs about £0.013 each in 2026.
WhatsApp templates are not optional. WhatsApp does not let you send arbitrary business messages cold. You need a pre-approved utility template for the reschedule message. Drafting and approval takes around 24 hours through Meta. Through Twilio it is faster. Plan for this; do not get to launch day and find you cannot send anything.

Building the workflow in n8n

A trade workbench with a whiteboard showing an abstract flowchart of boxes and arrows, a closed laptop, builder's pencil and a chipped coffee mug
Sketch the flow on paper or a whiteboard first. The n8n canvas will mirror it node for node.

Here is the actual node sequence inside n8n. I have built this twice now. The second time took 50 minutes from blank canvas to working test message.

Node 1: Schedule Trigger

Set it to run daily at 17:00 in Europe/London time. Five o'clock is the sweet spot: late enough that the day's work is sorted, early enough that customers can still rearrange their evening if needed. Avoid weekends in the rule itself; nobody wants a Saturday afternoon reschedule message.

Node 2: Google Calendar, Get Many Events

Connect your OAuth credentials. Set "Time Min" to the trigger timestamp and "Time Max" to 72 hours later. Critically, set "Include All Day" to false and use a custom filter expression on the description: $json.description.includes('#outdoor'). This is the gate that keeps indoor jobs and office time off the workflow.

Node 3: Split In Batches

The calendar returns an array of events. Split In Batches lets you process each one independently. Set batch size to 1. Each event now flows through the next nodes one at a time, so if one job has weird data, only that one breaks; the rest carry on.

Node 4: HTTP Request to geocode the postcode

Use the free Nominatim API or postcodes.io if your data is UK-only. Postcodes.io is faster and rate-limit-friendly. It returns latitude and longitude from a postcode string. You will pass those into OpenWeatherMap next.

Node 5: OpenWeatherMap node

Set "Operation" to "5 day forecast" or "One Call" depending on your subscription. Inputs are lat/lng from the previous node. Output is JSON with hourly precipitation data. The free tier allows One Call 3.0 with a card on file as a fallback; the legacy 5-day node works fine without it.

Node 6: IF node to apply the rain rule

Two conditions, joined with OR: "$json.list[].pop > 0.7 AND $json.list[].rain.3h > 4" or any hour in the job window exceeds 4mm forecast rain. Tune to your trade. Roofers need a tighter rule than landscapers. Bricklayers care about frost as much as rain, so add a temperature condition.

Node 7: WhatsApp Business Cloud (or Twilio)

Use your pre-approved template. Pass in the client's name (from event title or attendees), the original slot, and two replacement slots pulled from the next-available logic in node 8.

Node 8: Function node to find next available slots

A small JavaScript function that pulls your Google Calendar availability for the next seven days and returns the two best slots that match the original duration. n8n's documentation has a working example you can lift wholesale.

Node 9: Webhook trigger for replies

Separate workflow. Listens for the client's "1" or "2" reply, updates the calendar event, and sends a confirmation. Total workflow: nine nodes, around 60 lines of n8n configuration.

Build it in stages. Get nodes 1-5 working first and just log the output. Look at real forecast data for a real customer postcode. Once you trust that, add the rule. Then add WhatsApp. Trying to test the whole chain on day one means you cannot tell which node broke when it inevitably does.

Designing the WhatsApp message

This bit matters more than the tech. The wrong tone here loses more goodwill than the rain ever did. I have tested three versions of this message on real customers and the winning one is short, accountable and offers a real choice.

The template I run looks like this:

"Hi {{first_name}}, it's {{your_name}} here. The forecast for tomorrow has changed and we're now seeing heavy rain at {{location}} from {{time}}. To make sure the {{job_type}} gets done properly, I'd like to move our slot. I can do Thursday morning 8am or Friday afternoon 1pm. Reply 1 or 2 and I'll lock it in. Sorry for the short notice."

Three things make this work. First, it names the customer and uses your name; it does not sound like a system message. Second, it gives a reason that respects the customer's intelligence rather than blaming the weather as some kind of inconvenience. Third, it offers two specific options, not a vague "let me know when works". Two options forces a decision. Open-ended invitations get ignored.

What does not work, in case you are tempted: long apologies, mentioning the weather app, asking the customer to suggest a time, copy-pasted templates from a Google search. UK customers can smell a generic auto-reply at fifty paces.

Testing the flow before you go live

A woman painter in her thirties wearing a paint-spattered fleece reads a notification on her phone in a customer's hallway
Test on yourself first. Put your own number in the calendar event and run the workflow.

Before you point this at real clients, run a full end-to-end test on yourself and one trusted mate.

  1. Create a test event in Google Calendar for tomorrow morning, with #outdoor in the description and your own mobile in the description or attendees field.
  2. Manually trigger the n8n workflow.
  3. Check the execution log node by node. Did Calendar return the event? Did geocoding work? Did OpenWeatherMap respond with rain data? Did the IF node fire correctly?
  4. Confirm the WhatsApp message arrived on your phone, in the right format, with the placeholders correctly filled in.
  5. Reply "1" and check that the calendar updates and the confirmation comes back.

If any node fails, the n8n execution log shows exactly which one and why. The most common failure on first run is the OpenWeatherMap API key not yet being active (10 minute wait after creation) or the Calendar OAuth scope not including read access. Both are easy fixes.

Run a parallel "dry run" for two weeks. Even after end-to-end testing works, leave the WhatsApp node disconnected for a fortnight. Have n8n send the message to your email instead. You'll catch edge cases (jobs without postcodes, jobs with the wrong tag) that a single test cannot surface. Once two weeks of email runs look clean, flip on the WhatsApp output.

Edge cases, exceptions and overrides

Rain droplets running down a window with a half-finished British residential exterior wall and dust sheets blurred behind
Some jobs need to happen anyway. Build the override before you go live.

Three things will trip you up in the first month. Plan for them now.

Jobs that must happen regardless. Emergency repairs, leak chases, anything time-critical. Add a second tag, #norescheduling, that the IF node respects. If a job has both #outdoor and #norescheduling, skip the weather check entirely.

Indoor parts of outdoor jobs. A landscaper might be doing turf one day and a polytunnel the next, both tagged #outdoor, but the polytunnel job is fine in rain. Use a sub-tag like #outdoor-rainok and tweak the rule node to ignore those.

The forecast is wrong. OpenWeatherMap gets it right roughly 80 percent of the time at three days out, 90 percent at one day out. You will reschedule a job that ends up sunny. The customer will mention it. The honest response is: "the forecast was wrong, we play it safe with your job because the cost of damage is higher than the inconvenience of moving". Customers respect that. They do not respect contractors who turn up unprepared.

Edge caseHow to handle itWhere in n8n
Emergency job, must happenTag with #noreschedulingIF node, skip rule
Outdoor job that's fine in rainSub-tag #outdoor-rainokIF node, second branch
Customer has already taken the day offReply window option, "keep slot" replyWebhook reply node
Wrong forecast, sunny on the dayHonest message, log the missManual review weekly
Customer doesn't reply within 2 hoursAuto-keep original slot, follow up by phoneWait node + escalation
Job with no postcode in calendarSkip and email you for manual reviewIF node, missing data branch

Monthly running cost

Real numbers for a sole trader doing 15-25 outdoor jobs a week. UK pricing, 2026.

ComponentFree tier limitRealistic monthly cost
n8n self-hostedUnlimited workflows, unlimited executions£0 (or £4/mo for a small VPS)
n8n Cloud Starter2,500 executions/month€24/mo if you prefer managed hosting
OpenWeatherMap One Call 3.01,000 calls/day£0
Google Calendar APIPractically unlimited£0
WhatsApp Business utility messagesn/a~£0.013 each, around £1.50/mo for 100 messages
Twilio account (if used)Pay-as-you-goAround £1/mo for a UK virtual number
Total, self-hosted route Around £5/month
Total, managed route Around £28/month

Compare that to the £1,325 annual revenue hit the average tradesperson takes from weather. Saving even two days a year covers the managed-route cost twice over. Saving one cold November morning where a customer is grateful you warned them is worth more than the subscription ever costs.

What tradespeople are saying

Recommended videos

Automate Your Weather Forecast with n8n

Automate Your Weather Forecast with n8n

alexK1919_ai

Connect APIs to n8n: Google Maps, OpenAI, OpenWeatherMap, NewsAPI

Connect APIs to n8n (Google Maps, OpenAI, OpenWeatherMap, NewsAPI)

Mindly Nova

WhatsApp Chatbot AI Agent in n8n for Small Businesses

I Built a WhatsApp Chatbot + AI Agent in n8n for Small Businesses

Lucas Walter

Automate Google Calendar with n8n

How I fully automated my Google Calendar using n8n

SW Automation

Build a WhatsApp AI Agent in n8n step by step

Build a WhatsApp AI Agent Appointment Setter in n8n

Fabian Markl

n8n quick start tutorial 2026

n8n Quick Start Tutorial: Build Your First AI Agent [2026]

n8n

Frequently asked questions

Yes. The logic is identical. Zapier is the easiest UI but most expensive at scale. Make.com sits in the middle on both. n8n is the best value if you self-host. I run n8n because I want every node's logic in front of me; if you would rather not see code, Make is the kindest landing.

Add an SMS fallback. Twilio handles both from the same account. The workflow needs one extra IF node that checks the customer's preferred channel against a calendar attribute. WhatsApp is dominant for UK trades clients under 60. SMS is the right fallback for older customers and rural areas with patchy data.

For 24-hour and 48-hour forecasts, accuracy is good enough that the false-positive rate is tolerable. Three days out, it drops. If you want the most accurate UK data, swap OpenWeatherMap for the Met Office DataHub. Same idea, slightly more setup, free for low-volume users. The n8n HTTP Request node handles both equally well.

The webhook catches every reply. If the input does not match the two options, the workflow routes the message to a "needs human" branch and pings you. You phone the customer. The point of the automation is not to remove every conversation; it is to remove the obvious cases so you have time for the hard ones.

If you are a one-person operation doing fewer than five outdoor jobs a week, you can probably handle this with a phone call. From around eight jobs upwards, the time you spend texting customers in the rain starts to outweigh the time it took to build this workflow. The break-even is roughly 30 minutes of texting a month.

First time, including account setup and WhatsApp template approval: around four hours spread over two days, because Meta's template review takes 24 hours. Second time, around 90 minutes. The n8n part of it, once accounts are sorted, is a focused hour.

My verdict

Build this if you are losing more than five days a year to weather.

This is not a glamorous integration. It does one specific thing: it warns your customers earlier than you would, in a friendlier tone than you would manage in the rain, and it captures their reschedule preference without a phone call. That is it. But UK trades lose £1,325 a year on average to weather, and most of that loss is not the rain itself. It is the goodwill damage from looking unprofessional when conditions change. Fix the goodwill problem, and the financial one mostly fixes itself. For an outdoor trade running 15+ jobs a week, this workflow pays back in the first month. If you are building a wider automation stack for your trades business, slot this in alongside the lead-response and payment-collection flows; weather rescheduling is the third leg that most setups forget. And if you are leaning further into AI, take a look at how the same n8n approach handles heat pump fault detection, or the AI-powered lead response workflow, both of which use the same WhatsApp plumbing as this one.

Ready to Transform Your Business?

Turn every engineer into your best engineer and solve recruitment bottlenecks

Join the TrainAR Waitlist

Share this article

Ready to Transform Your Business?

Turn every engineer into your best engineer and solve recruitment bottlenecks

Join the TrainAR Waitlist

Stay Updated

Get weekly insights delivered to your inbox.

Recommended Articles

comments powered by Disqus