AI Assistant Walkthrough

shape1
shape2
First draft · AI-generated documentation

This guide is the initial draft of the implementation documentation and was fully generated by AI. Errors, gaps, or outdated steps are possible. Treat it as a starting point and verify each instruction against the actual setup on your machine. Updates and revisions are very likely as the workflow evolves — if you spot anything wrong or unclear, please flag it to Nico so the next version is better.

1SP Agency · Internal Documentation

The AI Executive Assistant — Implementation Guide

A complete, step-by-step walkthrough for replicating the executive assistant workflow across the 1SP Agency network. Connects your inbox, calendar, and Notion into a single working system that runs every day without manual orchestration.

Audience 1SP Agency executives & operators
Setup time ~60–90 minutes
Stack Claude Code · Outlook/Gmail · Notion
Status v1 · Live
00 — Watch first

Video walkthrough

Before you start, watch this short walkthrough. It covers the core idea, why this setup is worth the time, and how the daily flow looks in practice. The written guide below fills in the technical detail — but the video gives you the intuition.

Recommended starting point

AI Executive Assistant — Concept and daily flow

Open on YouTube ↗
After watching, scroll down and start with the executive summary. Allow about 60–90 minutes for the full setup.
01 — Overview

Executive summary

What it is. A fully integrated executive operations layer. Every working day it reads your inbox, checks your calendar, pulls your open Notion tasks, classifies and prioritises emails, generates meeting briefs, drafts replies straight into your Drafts folder, creates and updates tasks, writes a daily plan to Notion, and tracks the state of your projects.

What it is not. An autonomous agent that sends mail or moves things in your inbox without asking. It reads, drafts, plans, and tracks. You stay in control of every outbound message and every state-changing action.

What you'll have at the end of this guide. A working assistant on your machine, personalised to you, that runs from a single command — morning briefing — and produces a finished daily plan in Notion plus reviewed-but-unsent draft replies in your inbox.

Key idea

The setup is built around a starter CLAUDE.md file that runs an interactive setup the first time you open it in VS Code. You don't have to fill in any context files manually. Claude asks you a series of guided questions inside VS Code — your name, role, team, company, primary goal, current quarter focus — and writes all the personalised configuration files for you. The core executive assistant functionality (email triage, daily plan, draft generation, task extraction, project tracking) is already built in. The interactive setup just personalises it for you.

02 — Capabilities

What the assistant does

Daily operations

  • Morning briefing (08:30) — full triage of overnight inbox, calendar read, meeting briefs for today and tomorrow morning, Notion task pull, daily plan written to Notion, drafts saved to your inbox.
  • Midday and afternoon triage (11:00, 14:00) — new emails since the last run, incremental task and project updates.
  • End-of-day sweep (17:00) — unresolved items surfaced, tomorrow's calendar previewed, drafts queued for review.

Email management

  • Classifies every email: Escalation, Unanswered Critical, Re-opened, Unread Needs Reply, Delegatable, Waiting/FYI, Noise.
  • Detects sent-mail gaps — emails you sent with no reply received (14-day lookback in the morning, shorter for other runs).
  • Generates draft replies and saves them directly to your Drafts folder.
  • Never sends, marks as read, moves, or deletes anything without your explicit per-session instruction.

Calendar, tasks & projects

  • Reads today's events and the first half of tomorrow.
  • Generates proactive meeting briefs for every meeting — even with vague titles, inferred from recent email history with the same people.
  • Creates Notion tasks from triage, marks tasks done when evidence of completion appears in email.
  • Maintains a Notion Projects database as a live tracker — milestones, blockers, deadlines, stakeholders.

Memory & continuity

  • Persistent file-based memory across sessions — the assistant remembers your preferences, writing rules, project context, and feedback you've given it.
  • Loads your personalised context on every session start. You don't re-explain who you are.
03 — How setup works

The interactive setup — what makes this different

Most "AI assistant" setups ask you to manually fill in a long list of configuration files before anything works. This one doesn't. The starter CLAUDE.md file is built so the setup itself is a conversation. You can grab the file directly from Section 09 of this guide — there's a one-click download.

Once you've installed VS Code and Claude Code (Section 06) and saved the starter CLAUDE.md into your working folder, you open the folder, type a single message, and Claude walks you through everything else — including writing all the supporting rule and skill files for you.

What Claude will ask you during setup

Seven short blocks, asked one at a time, with confirmation between each:

  1. Who you are — name, role, company, location, working hours, language.
  2. What you do — your role in 2–3 sentences, main clients, industries, and your #1 priority right now.
  3. Your team — first escalation contact, immediate team, who owns which domain, who you don't want auto-drafts going to.
  4. Your stack — Outlook or Gmail, Notion workspace, other tools.
  5. Communication style — writing rules, formality, things you specifically don't want.
  6. Current quarter focus — top priorities, active major projects, recurring meetings.
  7. Goals — 90-day and end-of-year success.

After you've answered the blocks, Claude generates all your personalised files automatically: context/me.md, context/work.md, context/team.md, context/current-priorities.md, context/goals.md, plus your communication-style rule, delegation routing, and other config — and then flips the assistant into operating mode.

The pre-built core stays the same for everyone. Email triage, daily plan, draft generation, task extraction, project tracking, meeting briefs — these are already built into the starter files. The interactive setup only personalises the layer on top, so you can have a working assistant in roughly half an hour after the technical install is done.

You can extend it later

Once setup is complete, Claude has a clear understanding of who you are, what you do, and how you work. You can ask it to build new skills on top — for example: "build me a skill that drafts a weekly status report from my Notion projects every Friday at 16:00", or "build a skill that prepares board pack notes the day before each board meeting". This is how you turn the executive assistant into your own personalised AI agent over time.

04 — Architecture

System architecture

The stack

ComponentDetail
AI modelClaude Sonnet 4.6 (or current latest)
InterfaceClaude Code — VS Code extension
ProviderAnthropic — Claude Pro or Claude for Teams
Email integrationOutlook MCP or Gmail MCP (Gmail is easier — see Section 07)
Notion integrationNotion MCP — built-in connector in Claude Code, no install needed
OSWindows 11 or macOS
RuntimeNode.js v18 or later

Folder structure

Everything lives in a single working folder on your machine — call it AI Agents or anything else. You'll create this in Section 06.

working folder layout
AI Agents/ ├── CLAUDE.md ← The starter file (this is what you'll be given) ├── context/ ← Claude writes these for you during setup │ ├── me.md │ ├── work.md │ ├── team.md │ ├── current-priorities.md │ └── goals.md ├── .claude/ │ ├── settings.json ← MCP config + permissions │ ├── rules/ ← Pre-built; Claude personalises during setup │ │ ├── communication-style.md │ │ ├── delegation.md │ │ ├── operations-hub.md │ │ ├── outlook-safety.md │ │ └── output-format.md │ └── skills/ ← Pre-built playbooks — already complete │ ├── morning-briefing/SKILL.md │ ├── inbox-triage/SKILL.md │ ├── sent-mail-crosscheck/SKILL.md │ ├── draft-generator/SKILL.md │ └── task-extractor/SKILL.md └── decisions/log.md ← Append-only log of meaningful decisions

What lives where

  • Skills — modular playbooks the assistant runs (morning briefing, inbox triage, etc.). Pre-built. Same for everyone.
  • Rules — hard limits and style preferences (no sending email, communication tone, output format). Pre-built defaults; personalised lightly during setup.
  • Context — who you are, your team, your priorities. Written for you during setup.
  • State — your live data. Lives in Notion (5 databases), not on your local machine.
05 — Prerequisites

Prerequisites

Tick these off before starting. Most people will already have several of these.

Accounts

  • Required Claude Pro account at claude.ai (or Claude for Teams / Enterprise via your 1SP admin).
  • Required Microsoft 365 / Outlook or Gmail / Google Workspace account.
  • Required Notion account with admin access to a workspace where you can create new databases.
  • If using Outlook Access to your IT person — the Outlook setup needs an Azure App Registration that they'll handle for you (see Section 07).

Software

  • Required VS Code installed — code.visualstudio.com
  • Required Claude Code VS Code extension installed (search "Claude Code" in VS Code Extensions).
  • Required Node.js v18 or later — nodejs.org (the LTS version is fine).
  • Recommended Git installed — git-scm.com (helpful but not strictly required).

Files

  • Required The starter CLAUDE.md file — available for download in Section 09 of this guide. This is the only file you need; Claude generates the rule and skill files automatically during the interactive setup.
06 — Installation

Installation steps

This section gets the local environment running. Email and Notion connections come in the next two sections.

  1. Install VS Code and Claude Code

    Download VS Code from code.visualstudio.com. Open it, go to Extensions (Ctrl+Shift+X / Cmd+Shift+X), search "Claude Code", install the official Anthropic extension, and sign in with your Claude account when prompted.

  2. Install Node.js

    Download the LTS version from nodejs.org and run the installer with default settings. After installing, open a terminal (PowerShell on Windows, Terminal on macOS) and verify:

    terminal
    node --version npm --version

    Both should print a version. Node should be 18 or higher.

  3. Create your working folder

    Pick a location and create the folder. Example for Windows:

    powershell
    mkdir "$env:USERPROFILE\AI Agents" cd "$env:USERPROFILE\AI Agents"

    macOS:

    terminal
    mkdir -p ~/AI\ Agents cd ~/AI\ Agents
  4. Save the starter CLAUDE.md into your folder

    Jump to Section 09 and click Download CLAUDE.md. Move the downloaded file into the working folder you just created. That's the only file you need to drop in manually — Claude will generate the .claude/ rules and skills folders for you during the interactive setup in Section 10.

  5. Open the folder in VS Code

    In VS Code: File → Open Folder → select your AI Agents folder. Open the Claude Code panel from the side bar.

    Sanity check

    If Claude Code is set up correctly, you should be able to type a message in the panel and get a response. If it doesn't respond, check that you're signed in (top right of VS Code) and that the extension is enabled.

07 — Email

Email setup — Outlook or Gmail

This is the most variable part of the setup, depending on which email system you use and what your IT department allows. Read both options before deciding.

Quick recommendation

If your IT can grant Azure App permissions: use Outlook directly — it's the cleanest setup since most 1SP people are on Microsoft 365.

If Azure access is blocked or you'd rather avoid the IT request: set up a dedicated Gmail account, forward your Outlook mail to it, and run the assistant against Gmail. It's a workaround, but it's faster and entirely self-service. You'll still need to draft replies in Outlook directly when you want to send from your real address — but the triage, daily plan, and task extraction all run normally against the Gmail copy.

Option A — Outlook (with IT support)

The Outlook MCP server is the open-source one maintained by Ryan Yaker: github.com/ryaker/outlook-mcp. Follow the install instructions in that repo — they're kept current there and may have changed since this guide was written.

  1. Install the Outlook MCP

    Follow the README at the GitHub repo above. The install is a standard npm install based setup; the README explains the current package name and any updates.

  2. Hand the Azure step to your IT person

    The Outlook MCP needs an Azure App Registration with delegated Microsoft Graph permissions. Forward the IT brief below to your 1SP IT contact. They'll need about 15 minutes.

    📋 IT Brief — copy and send to your IT person

    Paste this into an email or ticket to your IT contact:

    IT request
    Subject: Azure App Registration — Claude AI Executive Assistant Hi [IT name], I'm setting up an internal AI executive assistant tool (Claude Code by Anthropic) that needs read access to my Outlook inbox, calendar, and the ability to save drafts to my Drafts folder. It does NOT send mail, delete mail, or modify calendar events. Could you please create an Azure App Registration with the following: App name: Claude AI Assistant — [my name] Supported account type: Accounts in this organizational directory only (single tenant) Redirect URI: I'll confirm the exact port from the MCP server documentation (the Outlook MCP at github.com/ryaker/outlook-mcp specifies this) Required Microsoft Graph API permissions (delegated, not application): - Mail.Read - Mail.ReadWrite (for creating drafts only) - Calendars.Read - User.Read Please grant admin consent if your policy requires it, and send me: - Application (client) ID - Directory (tenant) ID - A new Client Secret (value, not the secret ID) Reference: https://github.com/ryaker/outlook-mcp Thanks!
  3. Configure the MCP

    Once you have the three values from IT, follow the README at github.com/ryaker/outlook-mcp to populate them in your .claude/settings.json. The exact field names are documented in the repo and may vary by version, so use the README rather than hard-coded examples.

Option B — Gmail fallback (no IT needed)

If Azure access isn't possible or worth the friction, you can run the assistant against a Gmail account instead. This works because:

  1. Gmail has well-supported MCP integrations that just need a Google login — no admin involvement.
  2. You can set Outlook to forward mail to a dedicated Gmail address. The assistant triages the Gmail copy.
  3. Drafts saved by the assistant go into the Gmail Drafts folder. You'll copy/paste the final reply into Outlook when you want to send from your real address.
  1. Create a dedicated Gmail account

    Use something like yourname.ea@gmail.com. Don't reuse your personal Gmail.

  2. Forward your Outlook mail to it

    In Outlook: Settings → Mail → Forwarding → enable forwarding to your new Gmail address. Choose whether to keep a copy in Outlook (recommended).

  3. Connect Gmail to Claude Code

    In VS Code's Claude Code panel, add the Gmail MCP — search for it in the connector directory. You'll be prompted to log in to Google and grant read/draft permissions to the dedicated account only.

  4. Calendar — optional

    If you want calendar reading, also forward your Outlook calendar invites to the same Gmail address, or grant Google Calendar read access. The morning briefing will work either way — without calendar access, you simply won't get meeting briefs.

Trade-off to know

With the Gmail fallback, drafts won't appear in your real Outlook Drafts folder. You'll need to copy them across when sending. For pure inbox triage, daily planning, and task extraction it works very well — but if you live in Outlook drafts day-to-day, Option A is worth the IT request.

08 — Notion

Notion setup

The Notion MCP is a built-in connector in Claude Code — no installation needed. You just authorise it once and choose which workspace it can access.

  1. Connect Notion in Claude Code

    Open the Claude Code panel in VS Code → Connectors → Notion → Connect. You'll be redirected to Notion's authorisation page. Choose the workspace where you want the assistant to operate, and select which pages it should have access to (or grant the whole workspace).

  2. Create the Operations Hub page

    In Notion, create a new page called Operations Hub. Inside it, you'll create five databases. The fastest way is to ask Claude Code itself to do this once Notion is connected — for example: "In my Operations Hub page in Notion, create the five databases for the AI EA setup according to the spec."

  3. Database specifications

    If you prefer to create them manually or want to verify Claude's output, here are the five databases and their fields.

    Tasks

    FieldTypeOptions / notes
    NameTitleAction-oriented task name
    StatusSelectOpen / In Progress / Done
    PrioritySelectP1 / P2 / P3
    OwnerTextPerson responsible
    DeadlineDateTarget completion
    SourceTextEmail subject + sender

    Projects

    FieldTypeOptions / notes
    NameTitleProject name
    ClientTextClient or "Internal"
    PhaseSelectPlanning / Execution / Delivery / Closed
    StatusSelectOn Track / At Risk / Blocked / Done
    Next ActionTextThe one thing that must happen next
    BlockersTextWhat's preventing progress
    DeadlineDateHard delivery date
    NotesTextScope, risks, decisions

    Open Threads, Daily Plans, Contacts

    The remaining three databases follow the same pattern. Field specifications:

    • Open Threads — Name (Title), Contact (Text), Status (Select: Open/Waiting/Resolved), Last Action (Date), Next Step (Text), Source (Text).
    • Daily Plans — Name (Title, format "Daily Plan — [Date]"), Date (Date). Plan content lives in the page body, not a field.
    • Contacts — Name (Title), Company (Text), Email (Email), Priority (Select: High/Medium/Low), Tone Profile (Text), Language (Select: DE/EN/FR/Other), Last Contact (Date), Notes (Text).
  4. Verify Claude can read and write

    In the Claude Code panel, type: "Show me the databases inside my Operations Hub page in Notion." If Claude lists all five, you're ready.

09 — Starter file

The starter CLAUDE.md file

This is the keystone of the whole setup — and the only file you need to install manually. When you drop it into your AI Agents folder and open it in VS Code, Claude reads it, sees that setup hasn't been run yet, and walks you through the seven personalisation blocks described in Section 03. As part of that setup, Claude also writes all the supporting rule files (.claude/rules/*) and skill playbooks (.claude/skills/*) for you. Their default content is embedded in this same file, so nothing else needs to be downloaded or shared.

Use one of the buttons below to get the file onto your machine, then save it as CLAUDE.md in the root of your working folder.

What to do with it

Save the file as exactly CLAUDE.md (case-sensitive) in the root of your working folder. Don't rename it. Don't edit it manually before first run — Claude needs the Setup status: NOT_STARTED flag at the top to trigger the guided setup. After setup is complete, Claude flips that flag to COMPLETE and the file becomes your live system instructions.

Preview

The full file is shown below for transparency. You don't need to read it line by line — Claude does that for you. But it's useful to see what's actually doing the work.

After this is in place

Move on to Section 10 — First run, where you'll trigger the interactive setup and have your assistant up and running in about 30 minutes.

10 — First run

First run — running the interactive setup

Everything technical is now in place. This is where the interactive starter CLAUDE.md earns its keep.

  1. Open your working folder in VS Code

    Make sure your AI Agents folder is open as the workspace (File → Open Folder). The Claude Code panel should auto-load CLAUDE.md.

  2. Trigger setup

    In the Claude Code panel, type:

    claude code
    Run the interactive setup.

    Claude reads CLAUDE.md, sees that the setup status is NOT_STARTED, and begins the seven-block conversation described in Section 03.

  3. Answer the blocks

    Go through them one at a time. Confirm each block when it looks right. Don't worry about perfection — you can edit any of the generated context files later.

  4. Let Claude write your files

    When all blocks are confirmed, Claude will write your personalised context/ files and update the rule files. It will tell you what was created and ask you to confirm.

  5. Run your first morning briefing

    Type:

    claude code
    morning briefing

    The first run will be the longest — Claude is reading your inbox, calendar, and Notion for the first time. After that, every subsequent run is much faster because Claude already has your context loaded.

Customise as you go

Once setup is done, treat the assistant as a colleague who's still learning your style. Tell it when something's off ("I don't want auto-drafts to John", "always summarise this client more briefly", "add weekly status reports every Friday"). It learns and the changes persist.

11 — Daily use

Daily operating workflow

TimeWhat you doTrigger
08:30Morning briefing — review escalations, meeting briefs, daily plan, draftsmorning briefing
11:00Midday triage — new mail since 08:30go through my inbox
14:00Afternoon triage — samego through my inbox
17:00EOD sweep — unresolved items, prep tomorrowgo through my inbox or EOD
Ad hocDraft a specific replydraft a reply to [Name] about [topic]
Ad hocSee open taskswhat's open in Notion?
Ad hocUpdate a projectupdate the [project name] project in Notion
Ad hocAdd a new skillbuild a skill that does X every Y

What a morning briefing looks like

The output is structured: escalations first, then unanswered critical, then needs-reply, then delegatable, then FYI. Meeting briefs follow. Then the daily plan summary with a note that it's been written to Notion. Then a list of drafts saved to your Drafts folder, each with subject and recipient. Total reading time is usually under five minutes — the work is in reviewing the drafts before sending, not in producing them.

12 — Testing

Testing & validation checklist

Run through these after first setup to confirm everything works.

  • Email read works — type "list my 5 most recent emails" and confirm Claude lists them.
  • Email content read works — type "read the first email in my inbox" and confirm Claude returns the body.
  • Calendar read works — type "what meetings do I have today?"
  • Draft creation works — type "draft a test reply to [your own email]" and check the Drafts folder.
  • Notion read works — type "search Notion for any page".
  • Notion task read — type "show me open tasks from my Tasks database".
  • Notion task create — type "create a test task in Notion called 'AI EA setup test'".
  • Notion task update — type "mark the AI EA setup test task as done".
  • Daily plan generation — type "morning briefing" and check that a Daily Plan record was created in Notion.
  • Language matching — send yourself a German test email and confirm any draft reply comes back in German.
  • Safety rule respected — confirm nothing was sent, deleted, marked read, or moved without your explicit instruction.
  • Memory loads — start a fresh session and type "what's my role?" — Claude should know without re-asking.
  • Context loads — start a fresh session and type "what's my number one priority?" — Claude should respond with the priority you set during setup.
13 — Troubleshooting

Troubleshooting

Click any item to expand. If your issue isn't here, the fastest path is usually: copy the error message into the Claude Code panel and ask it directly — it can usually diagnose its own setup problems.

Outlook MCP won't connect

First check: open .claude/settings.json and confirm it's valid JSON (no missing commas or brackets). Then run the MCP server directly in a terminal — it usually prints a helpful error if something's wrong.

Common causes: wrong tenant ID, expired client secret, missing admin consent on the Azure permissions. The Azure permissions in particular need to show "Granted for [your org]" in the portal — if they show as "Not granted", your IT person needs to click the consent button.

Reference: github.com/ryaker/outlook-mcp — README has current troubleshooting tips.

Notion connector shows "Database not found"

The Notion MCP only sees pages that have been explicitly shared with it during the connection step. Open the page in Notion → click the integration name in the top right → make sure your databases are accessible. If you connected with limited access, re-run the connection and grant the full Operations Hub page.

Claude doesn't seem to know who I am

Confirm VS Code is opened with the working folder as its root (File → Open Folder, not just opening a single file). Check that CLAUDE.md exists at the top of that folder. Open context/me.md and verify it has content — if it's empty, the interactive setup didn't complete. Re-run setup by editing the top of CLAUDE.md and changing the status from COMPLETE back to NOT_STARTED.

Drafts come out in the wrong language or wrong tone

Two things to check. First, .claude/rules/communication-style.md — does it include your specific writing rules? If not, edit it directly. Second, the per-contact tone profile — for important contacts, ask Claude to add or refine an entry in your Notion Contacts database. From then on, drafts to that contact will use the saved tone.

Quickest fix in the moment: just tell Claude in the chat — "this draft should be more formal", "don't use exclamation marks", "always sign off with my first name only". The memory system picks these up.

Notion tasks are duplicating

The task-extractor checks for duplicates before creating, but it relies on Status options matching exactly. Open your Tasks database and confirm the Status options are spelled exactly: Open, In Progress, Done. Same for Priority: P1, P2, P3. Case-sensitive.

It worked yesterday, today it's asking me to authenticate again

Outlook OAuth tokens expire periodically — re-running the connection flow takes about 30 seconds. Notion tokens don't expire on their own, but check whether the integration was revoked accidentally in your Notion workspace settings. Azure client secrets have an expiry date (usually 12 or 24 months) — if you're approaching that, your IT person needs to issue a new one.

"Tool not available" when I ask Claude to do something

This means the relevant MCP isn't connected or its permissions weren't granted. In the Claude Code panel, check the Connectors / Tools section and make sure both Outlook (or Gmail) and Notion show as connected. If one shows an error, click it to re-authenticate. Restart VS Code if needed.

14 — Security

Security & privacy guidelines

These rules apply to every 1SP employee using this setup. Read once, then check them off as understood.

  • Individual accounts only. Never share Microsoft, Google, Notion, or Claude credentials.
  • Tokens stay local. The values in .claude/settings.json (especially Azure client secrets) belong only on your machine. Never paste them into chat, email, or shared docs.
  • Add to .gitignore. If you use Git, never commit .claude/settings.json to any shared repository.
  • Rotate Azure secrets annually. If using Outlook, ask your IT person to issue a fresh client secret every 12 months.
  • Always review drafts before sending. The assistant never sends. You're the final gate.
  • Don't paste sensitive documents into chat. Contracts, pricing, HR matters, legal questions — keep these out of the chat window or strip them down to summaries.
  • Notion summaries only. Tasks and project records should describe what needs to happen, not contain verbatim sensitive content from email threads.
  • Don't weaken the safety rules. The outlook-safety.md file enforces hard limits on what the assistant can do to your inbox. Leave it as it is.
  • If a token is accidentally shared, revoke it immediately. Azure: portal.azure.com → App Registrations → Certificates & Secrets → Delete. Notion: workspace settings → Integrations → Revoke. Then issue a new one.
  • Shared mailboxes need consent. Don't run this against a shared mailbox unless every person who uses it has agreed.
Questions or stuck?

Ping Nico directly. If you hit a problem the troubleshooting section doesn't cover, paste the error into the Claude Code panel — it can usually walk you out of its own setup issues. Otherwise, the documentation at docs.claude.com covers every aspect of Claude Code in detail.

Call To Action
de_CHGerman