Productivity · n8n

Send Your Team a Daily Weather Briefing to Slack Every Morning

Automatically fetch the current day's weather forecast and post a friendly summary to your team's Slack channel each morning. Remote teams stay informed about local conditions without anyone lifting a finger.

difficulty Beginnersetup 30 minresult Every weekday morning your Slack channel receives a formatted weather briefing with temperature, conditions, and a short description so your team can plan their day.
  1. 1

    Schedule the workflow to run every morning

    Add a Schedule Trigger node. Set Trigger Interval to Days and the time to something like 08:00 AM in your team's timezone. This node fires the workflow automatically each day without any manual action.

  2. 2

    Fetch the weather data from OpenWeatherMap

    Add an HTTP Request node connected to the Schedule Trigger. Set Method to GET and URL to https://api.openweathermap.org/data/2.5/weather?q=YOUR_CITY&units=metric&appid=YOUR_API_KEY. Replace YOUR_CITY with your city name and YOUR_API_KEY with your free OpenWeatherMap key. Store the API key in the node's Notes field for reference.

  3. 3

    Extract and format the key weather fields

    Add a Set node to pull out the fields you need. Create three string fields: city mapped to {{ $json.name }}, temperature mapped to {{ $json.main.temp }}, and description mapped to {{ $json.weather[0].description }}. This keeps the data clean before sending to Slack.

  4. 4

    Build the Slack message text

    Add a second Set node and create one field called message. Set its value to a friendly string such as Good morning team! Today in {{ $json.city }}: {{ $json.description }}, {{ $json.temperature }}°C. Have a great day!. This is the exact text that will appear in Slack.

  5. 5

    Post the weather briefing to your Slack channel

    Add a Slack node and connect your Slack credential (OAuth2 or Bot Token). Set Resource to Message, Operation to Post, Channel to your target channel such as #general or #weather, and Text to {{ $json.message }}. Save and activate the workflow — your team will receive a weather update every morning.

Frequently asked questions

How do I get a free OpenWeatherMap API key?

Go to openweathermap.org, create a free account, and navigate to the API Keys section in your profile. Copy the default key generated for you. It activates within a few minutes and allows up to 1,000 requests per day on the free plan.

Can I send weather for multiple cities?

Yes. Duplicate the HTTP Request node for each city, changing the `q=` parameter in the URL. Then merge or format all results in the Set node before sending one combined Slack message, or post separate messages per city by duplicating the Slack node.

How do I switch from Celsius to Fahrenheit?

In the HTTP Request node URL, change `units=metric` to `units=imperial`. The temperature returned will then be in Fahrenheit. Update the degree symbol label in your message text from °C to °F so teammates are not confused.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.