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.
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?
Will it message me on weekends or holidays?
What if my calendar is empty or nothing notable is happening at home?
Can it send to a channel instead of a DM?
Does it control my devices, or just read them?
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.