Weekday morning home briefing in Slack from Home Assistant

Every weekday at 7am, get one Slack DM that pulls together your home status, today's calendar, and the weather, with only the things actually worth knowing.

Agentic Task
Home AssistantGoogle CalendarWeatherSlack BotPersonal ProductivityOperationsDaily DigestsNotifications & Alerts

Build an agent workflow that runs every weekday at 7am in my local time zone and sends me one short morning home briefing as a Slack DM. The trigger is a cron schedule. The agent should pull together three streams of context and then reason over them to write a conversational brief — judgement, not a templated dump.

Step 1: Home state from Home Assistant. Use List States to grab a snapshot of all entities, then Get State for any specific entities I want to highlight. The agent should look for: indoor temperature (climate or temperature sensors), whether the front door, back door, and garage door are locked or closed, indoor or outdoor air quality if present, and any meaningful sensor state worth mentioning (laundry done, water leak detected, EV charge level, plant moisture, freezer temp, anything anomalous). If nothing at home is notable, the agent should say so in one line rather than emit empty headers.

Step 2: My day from Google Calendar. Call List Events on my primary calendar with timeMin = now and timeMax = now + 16 hours, with singleEvents=true and orderBy=startTime, so recurring events expand correctly. The agent should call out the first meeting, any back-to-back stretches, anything that moved since yesterday if it can tell, and any video links worth surfacing. If today is empty, say so.

Step 3: Outdoor weather. Use the Weather integration's Get Current Weather and Get Weather Forecast operations with my home coordinates (latitude and longitude). The agent should pull the next ~12 hours of forecast data and translate it into actionable advice: 'umbrella day, 80% chance of rain by 2pm', 'cold start, low 40s until 10am', 'wind 25mph after lunch', 'air quality moderate'. Skip the section if conditions are unremarkable.

Step 4: Compose the briefing. The agent should reason over all three streams together and write a short, conversational Slack message — think 4 to 8 lines, warm but efficient. Lead with anything actionable ('garage was still open when you went to bed', 'your 9am moved to 9:30', 'umbrella day'). Suppress sections that have nothing notable. Don't repeat raw sensor IDs or unit symbols the user wouldn't say out loud.

Step 5: Deliver via Slack Bot (slackbot). Use Send a Message to DM me. The destination is my own Slack user ID — the bot can DM users directly without opening a conversation first if it has im:write, but if needed, call Open a Conversation first to get a DM channel ID, then Send a Message into that channel. Format with Slack mrkdwn (bold for headers if used, bullet lines starting with '• '). Do not @-mention myself.

Connections needed: Home Assistant (long-lived access token + instance URL), Google Calendar (OAuth, read-only scope is fine), Weather (platform-managed, no setup), Slack Bot (chat:write, im:write, plus users:read so it can resolve my user ID). Ask me at setup for: my Slack user ID or email, my home coordinates, the timezone for the 7am schedule, and optionally a comma-separated list of Home Assistant entity_ids I especially want included (e.g. lock.front_door, cover.garage_door, sensor.indoor_air_quality).

Quality bar: a quiet morning should yield a brief, friendly note. A noisy morning should still fit in one Slack message. Never post empty headers like 'Home: nothing to report' followed by nothing — just collapse that section.

Additional information

What does this prompt do?
  • Checks your home each morning for the things you would actually look at yourself: indoor temperature, whether the front door and garage are locked, air quality, and laundry or other notable sensors.
  • Reads the next sixteen hours of your Google Calendar so you know what is coming, what moved, and what is back to back.
  • Pulls the current outdoor conditions and the day's forecast for your location, and calls out things like rain, wind, heat, or cold that change what you wear or carry.
  • Sends one short, conversational Slack DM that reads like a friend giving you a heads-up, and skips any section that has nothing worth saying.
What do I need to use this?
  • A Home Assistant instance you can reach from the internet, plus a long-lived access token from your Home Assistant profile.
  • A Google account connected to Google Calendar.
  • A Slack workspace where you can install the General Input bot so it can DM you.
  • Your home coordinates (latitude and longitude) so the weather lookup uses the right location.
How can I customize it?
  • Change the send time or the days. Many people prefer 6:30am, or run it every day instead of only weekdays.
  • Pick which devices and sensors matter to you. The default checks locks, indoor temperature, and air quality, but you can add laundry, garage, leak sensors, EV charge level, or anything else you have in Home Assistant.
  • Tune the tone and length. Ask for a tighter three-line brief, or a longer narrative, or have it lead with the weather instead of the calendar.

Frequently asked questions

Does this work if my Home Assistant is only on my home Wi-Fi?
You will need a way for the briefing to reach Home Assistant from the internet. Most people use Nabu Casa Cloud, a Cloudflare Tunnel, or a DuckDNS plus HTTPS setup. Once you can open your Home Assistant in a browser away from home, this workflow can reach it too.
Will it message me on weekends or holidays?
By default it runs Monday through Friday at 7am in your time zone. You can switch it to every day, change the time, or pause it during holidays from the workflow's schedule settings.
What if my calendar is empty or nothing notable is happening at home?
The briefing skips empty sections instead of posting blank headers. On a quiet day you might just get a one-line note about the weather and that everything at home looks fine.
Can it send to a channel instead of a DM?
Yes. The default is a direct message to you, but you can change the destination to any Slack channel where the General Input bot has been added.
Does it control my devices, or just read them?
This briefing only reads sensor states and your calendar. It does not turn anything on or off. You can add a separate workflow later if you want it to act on what it sees.

Stop checking five apps before you leave the house.

Connect Home Assistant, Google Calendar, and Slack once, and Geni sends you a single morning brief every weekday at 7am.