Personal AI Chief of Staff

A three-agent system that runs your entire workday - briefing you every morning with prioritized tasks and meetings, monitoring for interruptions and schedule conflicts throughout the day, and producing an evening recap that prepares tomorrow's agenda before you close your laptop. Spans Google Calendar, Gmail, Todoist, Slack, and Notion.

personal productivity
daily brief
time management
1871

Knowledge workers spend 58% of their time on "work about work" rather than skilled, strategic tasks. They context-switch between email, calendar, task managers, messaging apps, and note-taking tools an average of 25 times per hour. The result is not just lost productivity but cognitive overload: by 3 PM, most people cannot remember what they planned to accomplish that morning.

The tools exist to solve this. Google Calendar knows your schedule. Gmail knows your commitments. Todoist knows your priorities. Slack knows what your team needs from you. Notion knows your projects and notes. But these tools are islands. No system synthesizes them into a coherent daily operating rhythm. You are the integration layer, and you are a terrible integration layer - you forget, you deprioritize incorrectly, and you spend more time organizing than executing.

Zapier's 2026 survey of AI personal assistant apps found that integrated productivity agents delivering a "daily brief" across tools report 40-76% efficiency improvement.

Time-Partitioned Agent Scheduling

This blueprint introduces a pattern where three agents are assigned to specific parts of the day (morning, midday, evening), each with a distinct purpose and operating context. Unlike agents that run on fixed intervals or respond to events, these agents are designed around the natural rhythm of a human workday. The morning agent sets the stage, the midday agent adapts to reality, and the evening agent closes the loop.

  1. Circadian scheduling with contextual handoff - The Morning Strategist runs at 7:30 AM, the Midday Optimizer at 12:30 PM, and the Evening Reviewer at 6:00 PM. Each agent reads a shared Space file (day-state.json) that the previous agent wrote, creating narrative continuity across the day. The morning agent writes the plan, the midday agent annotates it with what actually happened, and the evening agent scores completion and seeds tomorrow's plan.

  2. Cross-tool synthesis - Existing blueprints that use productivity integrations typically focus on one tool (Gmail Assistant, Notion Assistant). This blueprint synthesizes across all five tools simultaneously. The Morning Strategist does not just list meetings - it correlates today's calendar with overdue Todoist tasks, checks Gmail for emails that might affect meeting agendas, and pulls relevant Notion pages for prep. The output is a single, coherent briefing that no individual tool can produce.

  3. Priority matrix computation - The Morning Strategist computes an Eisenhower matrix from raw signals: urgent+important (overdue tasks with deadlines AND related meetings today), important+not-urgent (strategic tasks and deep work blocks), urgent+not-important (emails requiring quick responses, Slack threads to acknowledge), and neither (tasks that can be safely deferred). This matrix is posted to Slack as a visual daily brief.

  4. Drift detection and course correction - The Midday Optimizer compares the morning plan against reality: meetings that ran over, new urgent emails, Slack threads that consumed unexpected time, tasks completed ahead of schedule. It computes a "plan adherence score" and, if it drops below a threshold, posts a course-correction recommendation to Slack.

  5. Evening reflection and tomorrow seeding - The Evening Reviewer generates a daily journal entry in Notion containing what was planned, what was accomplished, what was deferred, and what emerged unexpectedly. It queries tomorrow's calendar to seed the next day's plan. On Fridays, it runs an extended weekly pattern analysis: task completion rate, plan adherence, interruption sources, and time allocation by category.

How It Works

The three bots share a single Chief of Staff Toolkit skillset containing pack abilities for Google Calendar, Google Mail, Todoist, and Notion, plus Slack conversation messaging and Space read/write for the persistent day-state file.

  • The Morning Strategist fires at 7:30 AM. It reads yesterday's evening seed from the Space, queries all five tools, synthesizes a priority matrix, and posts the daily brief to Slack.

  • The Midday Optimizer fires at 12:30 PM. It reads the morning plan from the Space, checks current state across all tools, computes plan adherence, and posts course corrections to Slack if needed.

  • The Evening Reviewer fires at 6:00 PM. It reads the full day state, generates a Notion journal entry (planned vs accomplished vs deferred vs emerged), seeds tomorrow, and posts an evening recap to Slack.

Customization

  • Edit preferences.json in the Space to change working hours, priority weights, and interruption thresholds without modifying agent backstories.
  • Swap Todoist for another task manager by replacing the pack ability.
  • Add more tools (e.g., Linear, Jira) by adding pack abilities to the shared skillset.
  • Adjust trigger schedules to match your timezone and routine.

Backstory

Common information about the bot's experience, skills and personality. For more information, see the Backstory documentation.

You are the Morning Strategist - the first phase of a three-agent personal productivity system. You run at the start of the workday to give the user a clear, prioritized plan. ## YOUR ROLE Synthesize information from five tools into one actionable daily brief. You do not execute tasks - you set the stage so the user can focus on what matters. ## MORNING PROTOCOL 1. **Load yesterday's seed** - Read `day-state.json` from the workspace. If it exists, the Evening Reviewer left a seed with tomorrow's preliminary plan, deferred tasks, and prep notes. If it does not exist (first run), skip this step. 2. **Load preferences** - Read `preferences.json` from the workspace. It contains working hours, priority weights, focus block preferences, and any custom rules. If it does not exist, use sensible defaults (9 AM - 6 PM, standard priority weights). 3. **Gather signals from all five tools:** a. **Google Calendar** - List today's events. Note start times, durations, attendees, and any conflicts. Identify free blocks of 60+ minutes suitable for deep work. b. **Gmail** - List unread messages. Categorize each as: action-required (needs a response or decision), FYI (read and archive), or follow-up (sent something, awaiting reply). Note senders and subjects for context. c. **Todoist** - List today's tasks and any overdue items. Note priorities, project context, and due dates. Check if any tasks align with today's meetings. d. **Slack** - Check for unread mentions and direct messages from overnight. Summarize threads that need a response. e. **Notion** - Search for pages related to today's meetings (by meeting title or project name). Pull key context: open questions, action items from last meeting, relevant docs. 4. **Compute the priority matrix:** - **Urgent + Important** - Overdue tasks with real deadlines, meetings requiring preparation you have not done, emails from stakeholders awaiting a decision. - **Important + Not Urgent** - Strategic tasks, deep work blocks, project milestones coming this week. - **Urgent + Not Important** - Quick email replies, Slack acknowledgments, routine approvals. - **Neither** - Tasks with distant deadlines, low-priority FYI emails, optional meetings. 5. **Compose the daily brief** and post to Slack. Format: **Daily Brief - [date]** **Top Priorities** 1. [Most important thing with context] 2. [Second priority] 3. [Third priority] **Today's Schedule** - [Time] [Meeting] - [prep note or key context] - [Time] [Deep work block] - [suggested focus] **Inbox Highlights** - [N] emails need responses (top: [sender] re: [subject]) - [N] Slack threads to address **Deferred from Yesterday** - [Items carried forward, if any] 6. **Write day-state.json** - Save the morning plan to the workspace so the Midday Optimizer can compare against reality. Include: planned tasks, scheduled meetings, priority matrix, and email/Slack actions identified. ## RULES - Be concise. The brief should be scannable in under 2 minutes. - Never fabricate information. If a tool returns no data, say so. - Correlate across tools: if a Todoist task relates to a meeting today, mention the connection. - Flag conflicts: overlapping meetings, tasks due during meeting blocks, etc. - If the user has back-to-back meetings with no break for 3+ hours, flag this as a scheduling concern. - The current date is ${EARTH_DATE}

Skillset

This example uses a dedicated Skillset. Skillsets are collections of abilities that can be used to create a bot with a specific set of functions and features it can perform.

  • Install Google Calendar Tools

    Install Google Calendar tools to list calendars, events, and check availability for schedule awareness.
  • 💬

    Install Google Mail Tools

    Install Google Mail tools to list, read, and search Gmail messages and threads for inbox triage.
  • 👦

    Install Todoist Tools

    Install Todoist tools to list, create, update, and close tasks and projects for task management.
  • 👬

    Install Notion Tools

    Install Notion tools to search, create, and update pages and databases for journal entries and knowledge queries.
  • Start Slack Conversation

    Start a Slack conversation to post daily briefs, midday check-ins, and evening recaps to a channel or DM.
  • 🇪🇸

    Read/Write Day State

    Read or write files in the Daily Operations workspace. Used for day-state.json (agent handoff), preferences.json (user config), and weekly-metrics.json (accumulated stats).
  • 🐀

    List Workspace Files

    List files in the Daily Operations workspace to discover available state and configuration files.

Secrets

This example uses Secrets to store sensitive information such as API keys, passwords, and other credentials.

  • 🔐

    Google Calendar

    Authenticate with personal Google account for Calendar access.
  • 🔐

    Google Mail

    Authenticate with personal Google account for Gmail access.
  • 🔐

    Todoist

    Connect to Todoist to manage tasks and projects.
  • 🔐

    Notion

    Connect to Notion for journal entries and knowledge base access.

Terraform Code

This blueprint can be deployed using Terraform, enabling infrastructure-as-code management of your ChatBotKit resources. Use the code below to recreate this example in your own environment.

Copy this Terraform configuration to deploy the blueprint resources:

Next steps:

  1. Save the code above to a file named main.tf
  2. Set your API key: export CHATBOTKIT_API_KEY=your-api-key
  3. Run terraform init to initialize
  4. Run terraform plan to preview changes
  5. Run terraform apply to deploy

Learn more about the Terraform provider

A dedicated team of experts is available to help you create your perfect chatbot. Reach out via or chat for more information.