Daily Slack morning briefing from Google Tasks and Calendar

By General Input

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.

Integrations

  • Google Tasks
  • Google Calendar
  • Slack

Type

Agentic Task

Categories

  • Personal Productivity
  • Operations

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsFront desk appointment confirmation board for the next 3 daysWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in production