Daily Slack morning briefing from Google Tasks and Calendar
Every weekday at 8am, get one Slack message with overdue tasks, what's due today, today's meetings, and your top three priorities picked for you.
Every weekday at 8am in my local timezone, build a daily morning briefing for me and post it as a single Slack message. The briefing combines my Google Tasks and my Google Calendar so I start the day knowing exactly what I owe and what's coming.
Trigger: cron, Mon-Fri at 8:00 in my local timezone.
Step 1 - gather tasks from Google Tasks. Call List Task Lists to enumerate every task list on my account. For each task list, call List Tasks and keep tasks where status is not completed and the due date is on or before today (in my timezone). For each kept task, capture: title, due date, the task list it came from, and a short notes snippet if present. Be aware that Google Tasks discards the time portion of the due field, so treat 'due today' as date-level only.
Step 2 - gather today's calendar. Call List Events on my Google Calendar primary calendar with timeMin and timeMax set to the start and end of today in my timezone, and singleEvents=true so recurring instances expand correctly. For each event, capture: title, start time, end time, attendees, and a short snippet from description or location if useful. Skip events I have declined.
Step 3 - reason over the combined set. Sort tasks into two buckets: 'Overdue' (due date before today) and 'Due today'. Put meetings into a third bucket 'Today's meetings' in chronological order. Then identify time conflicts: when a meeting realistically overlaps with the window a due-today task needs, flag it. Use task title and notes as a rough effort hint, but do not invent precise durations.
Step 4 - pick the top three priorities for the day across the whole combined set (tasks plus meetings), based on urgency, how much of the day each will consume, and any flagged conflicts. The priority block leads the message.
Step 5 - format and deliver. Compose one Slack message with this shape: a 'Today's top three' priority block at the top (numbered, one line each, with a half-sentence of why it's a priority), then the three grouped sections (Overdue, Due today, Today's meetings) as short bulleted lists, then any conflict callouts at the bottom. Use Slack mrkdwn (single-asterisk bold for section headers, no Markdown links to internal task URLs). For tasks, show the due date in parentheses; for meetings, show start time in 12-hour format with timezone. Keep every line short and scannable. Then call Send a Message on Slack to post it to the channel or DM I configure at setup (let me pick on first run).
Empty-day rule: if there are zero overdue tasks, zero due-today tasks, and zero meetings, send a one-line message that says nothing is on my plate today, rather than an empty digest.
Constraints: read-only on Google (no task or event modifications), single Slack message per run (no threads or multiple posts), and never include more than 25 items in any one bucket - if a bucket would exceed that, truncate and add a 'plus N more' suffix.
Additional information
What does this prompt do?
- Pulls every overdue or due-today task across all your Google Tasks lists.
- Reads today's events from your primary Google Calendar.
- Picks your top three priorities for the day and flags meetings that clash with the time you need for tasks.
- Posts one scannable Slack message every weekday at 8am, with priorities on top and a clean breakdown underneath.
What do I need to use this?
- A Google account with Google Tasks and Google Calendar (the same login).
- A Slack workspace where you can post messages as yourself.
- About thirty seconds to pick the destination channel or DM, your timezone, and the time of day you want the briefing to arrive.
How can I customize it?
- Shift the delivery time, or run it seven days a week instead of weekdays.
- Send to a private channel or a DM instead of your default Slack destination.
- Change how many priorities to surface, or restrict which Google Tasks lists are included.
Frequently asked questions
Do I need separate Google accounts for Tasks and Calendar?
Can it post to a private channel or a DM?
What happens on a day when I have nothing due and no meetings?
How does it pick my top three priorities?
Does it warn me about conflicts between meetings and tasks?
Start your day with one tidy Slack message.
Connect Google Tasks, Google Calendar, and Slack once, and Geni delivers your morning briefing every weekday at 8am.