### Install and Start Outlook Assistant Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CLAUDE.md Install project dependencies and start the MCP server for Microsoft Outlook via the Graph API. ```bash npm install # Install dependencies (run first) npm start # Start MCP server ``` -------------------------------- ### Clone Repository and Install Dependencies Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CONTRIBUTING.md Steps to clone the repository and install project dependencies. ```bash git clone https://github.com/YOUR_USERNAME/outlook-assistant.git cd outlook-assistant npm install ``` -------------------------------- ### Install Dependencies Source: https://github.com/littlebearapps/outlook-assistant/blob/main/README.md Run this command to install project dependencies if you encounter a 'Cannot find module' error. ```bash npm install ``` -------------------------------- ### Start the Authentication Server Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/guides/azure-setup.md Run this command to start the authentication server. It reads credentials from environment variables or the `.env` file. Ensure the `.env` file is in the project root when running from source. ```bash npm run auth-server ``` -------------------------------- ### Install Outlook Assistant from Source Source: https://github.com/littlebearapps/outlook-assistant/blob/main/README.md Clone the repository and install dependencies locally if you need to work with the source code directly. This method requires Git. ```bash git clone https://github.com/littlebearapps/outlook-assistant.git cd outlook-assistant npm install ``` -------------------------------- ### Start Authentication Server Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CLAUDE.md Use this command to start the authentication server for the browser redirect authentication flow. This server is required for the browser-based authentication method. ```bash npm run auth-server ``` -------------------------------- ### MCP Client Configuration Example Source: https://github.com/littlebearapps/outlook-assistant/blob/main/README.md Example JSON configuration for an MCP server targeting the Outlook Assistant. Ensure to replace placeholder paths and credentials. ```json { "mcpServers": { "outlook": { "command": "node", "args": ["/path/to/outlook-assistant/index.js"], "env": { "OUTLOOK_CLIENT_ID": "your-application-client-id", "OUTLOOK_CLIENT_SECRET": "your-client-secret-VALUE" } } } } ``` -------------------------------- ### Install Outlook Assistant Locally Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/getting-started/connect-outlook-to-claude.md Clone the Outlook Assistant repository and install dependencies locally. This is useful for development or when a global installation is not desired. ```bash git clone https://github.com/littlebearapps/outlook-assistant.git cd outlook-assistant npm install ``` -------------------------------- ### Copy Environment File Source: https://github.com/littlebearapps/outlook-assistant/blob/main/README.md Copies the example environment file to a new file for customization. ```bash cp .env.example .env ``` -------------------------------- ### Start OAuth Server Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CLAUDE.md Start the OAuth server on port 3333 for browser-based authentication. This is an alternative to the device code flow. ```bash npm run auth-server # Start OAuth server on :3333 (browser auth only) ``` -------------------------------- ### Start Mock Data Mode Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CLAUDE.md Run the application in mock data mode for testing purposes. ```bash USE_TEST_MODE=true npm start ``` -------------------------------- ### Start Outlook Assistant Auth Server Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/getting-started/connect-outlook-to-claude.md Run this command to start the authentication server for the browser redirect flow. Ensure OUTLOOK_CLIENT_ID and OUTLOOK_CLIENT_SECRET environment variables are set. ```bash npx @littlebearapps/outlook-assistant auth-server ``` -------------------------------- ### Start Outlook Assistant Auth Server with npx Source: https://github.com/littlebearapps/outlook-assistant/blob/main/README.md Start the authentication server for the Outlook Assistant using npx. Ensure OUTLOOK_CLIENT_ID and OUTLOOK_CLIENT_SECRET environment variables are set. ```bash npx @littlebearapps/outlook-assistant-auth ``` -------------------------------- ### Install Outlook Assistant Globally Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/getting-started/connect-outlook-to-claude.md Install the Outlook Assistant package globally using npm. This command makes the assistant available system-wide. ```bash npm install -g @littlebearapps/outlook-assistant ``` -------------------------------- ### Run Project in Test Mode with Environment Variable Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CONTRIBUTING.md Command to start the project in test mode using an environment variable. ```bash USE_TEST_MODE=true npm start ``` -------------------------------- ### Install Latest Outlook Assistant Globally Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/faq/faq.md Use this command to install the latest version of the Outlook Assistant globally via npm. ```bash npm install -g @littlebearapps/outlook-assistant@latest ``` -------------------------------- ### Start Project in Test Mode Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CONTRIBUTING.md Command to run the project in a mode that bypasses real API calls for testing purposes. ```bash npm run test-mode ``` -------------------------------- ### Conventional Commit Message Examples Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CONTRIBUTING.md Examples of commit messages following the Conventional Commits specification. ```text feat: add conversation export to MBOX format fix: resolve folder stats API error docs: update installation instructions test: add tests for contacts module ``` -------------------------------- ### Run MCP Inspector Source: https://github.com/littlebearapps/outlook-assistant/blob/main/README.md Start the MCP Inspector for interactive debugging. ```bash npm run inspect ``` -------------------------------- ### Run Tests and Mock Data Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CLAUDE.md Execute Jest tests or start the server with mock data for testing purposes. ```bash npm test # Run Jest tests npm run test-mode # Start with mock data (USE_TEST_MODE=true) ``` -------------------------------- ### Create a Simple Calendar Event Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/calendar/create-calendar-events.md Use the `create-event` tool to schedule a basic meeting with a subject, start time, and end time. Times should be in ISO 8601 format. ```yaml tool: create-event params: subject: "Standup" start: "2026-03-02T09:00:00" end: "2026-03-02T09:30:00" ``` -------------------------------- ### Start Outlook Assistant Auth Server Source: https://github.com/littlebearapps/outlook-assistant/blob/main/llms-install.md Initiate the authentication server for the Outlook Assistant. This command requires the client ID and secret to be set as environment variables. ```bash npx @littlebearapps/outlook-assistant-auth ``` -------------------------------- ### Set Start and Due Dates for an Email Flag Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/email/flag-emails-for-follow-up.md Flag an email for follow-up and define a follow-up window by setting both `startDateTime` and `dueDateTime` parameters. Dates must be in ISO 8601 format. ```yaml tool: update-email params: action: "flag" id: "AAMkAGR..." startDateTime: "2026-03-04T09:00:00Z" dueDateTime: "2026-03-06T17:00:00Z" ``` -------------------------------- ### Interactive Testing with MCP Inspector Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CONTRIBUTING.md Command to start an interactive testing session using MCP Inspector. ```bash npm run inspect ``` -------------------------------- ### Run Outlook Assistant Directly Source: https://github.com/littlebearapps/outlook-assistant/blob/main/README.md Execute the Outlook Assistant directly using npx without global installation. ```bash npx @littlebearapps/outlook-assistant ``` -------------------------------- ### Perform Initial Sync with Delta Mode Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/ai-agents/monitor-inbox-with-delta-sync.md Call `search-emails` with `deltaMode: true` to get the current inbox state and an initial `deltaToken`. Save this token for subsequent incremental syncs. ```tool_code tool: search-emails params: deltaMode: true ``` -------------------------------- ### Run Project Tests Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CONTRIBUTING.md Command to execute the project's test suite. ```bash npm test ``` -------------------------------- ### Create a Calendar Event with Attendees Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/calendar/create-calendar-events.md Schedule an event and invite specific attendees by providing their email addresses in the `attendees` list. Attendees will receive calendar invitations. ```yaml tool: create-event params: subject: "Team Review" start: "2026-03-09T14:00:00" end: "2026-03-09T15:00:00" attendees: ["alice@company.com", "bob@company.com"] ``` -------------------------------- ### Uninstall Outlook Assistant Globally Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/faq/faq.md Use this command to uninstall the Outlook Assistant if it was installed globally via npm. ```bash npm uninstall -g @littlebearapps/outlook-assistant ``` -------------------------------- ### Update Outlook Assistant Globally Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/faq/faq.md Use this command to update the Outlook Assistant if it was installed globally via npm. ```bash npm update -g @littlebearapps/outlook-assistant ``` -------------------------------- ### Create a Draft for Review Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/quickrefs/tools-reference.md Use the `draft` tool with `action: "create"` and `dryRun: true` to create an email draft that can be reviewed before being saved or sent. This is useful for ensuring the content is accurate and appropriate. ```plaintext draft(action: "create", to: "sarah@company.com", subject: "Project Update", body: "Hi Sarah...", dryRun: true) ``` -------------------------------- ### Run Direct Testing Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CLAUDE.md Execute direct tests for the project. ```bash ./test-direct.sh ``` -------------------------------- ### Create a Rule with Dry Run Preview Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/organise/create-inbox-rules.md Create a rule and use the 'dryRun: true' parameter to preview its effects without actually applying it. This is useful for testing rule configurations. ```yaml tool: manage-rules params: action: "create" name: "Test Rule" fromAddresses: "alerts@example.com" moveToFolder: "Alerts" dryRun: true ``` -------------------------------- ### List Focused Inbox Settings Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/organise/manage-focused-inbox.md Use this command to view your current Focused Inbox override settings. No setup is required. ```yaml tool: manage-focused-inbox params: action: "list" ``` -------------------------------- ### Get All Email Headers Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/advanced/investigate-email-headers.md Retrieve the complete set of email headers for a given message ID. This is useful for in-depth forensic analysis. ```yaml tool: read-email params: id: "AAMkAGR..." headersMode: true ``` -------------------------------- ### Environment File Configuration for Outlook Assistant Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/guides/azure-setup.md If running the Outlook Assistant from source, create a `.env` file in the project root with your Azure credentials and desired settings. The server also accepts legacy `MS_CLIENT_ID` and `MS_CLIENT_SECRET` environment variables. ```bash OUTLOOK_CLIENT_ID=your-application-client-id OUTLOOK_CLIENT_SECRET=your-client-secret-VALUE USE_TEST_MODE=false ``` -------------------------------- ### View a Contact's Full Details Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/contacts/manage-contacts.md Use the `manage-contact` tool with the `get` action to retrieve a specific contact's details by providing its ID. ```yaml tool: manage-contact params: action: "get" id: "contact-id..." ``` -------------------------------- ### Get Important Email Headers Only Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/advanced/investigate-email-headers.md Filter out noise and retrieve only the most critical headers for a quick investigation. This includes headers like From, To, Subject, DKIM-Signature, and Authentication-Results. ```yaml tool: read-email params: id: "AAMkAGR..." headersMode: true importantOnly: true ``` -------------------------------- ### Create a New Email Folder Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/organise/organise-with-folders.md Use the 'create' action to make a new folder. Specify 'name' for the new folder and optionally 'parentFolder' to create a subfolder. ```tool_code tool: folders params: action: "create" name: "Project Alpha" ``` ```tool_code tool: folders params: action: "create" name: "Invoices" parentFolder: "Finance" ``` -------------------------------- ### Tool Consolidation Map Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/architecture.md This table maps legacy tools to their current equivalents and the 'action' parameter used in v3. ```markdown | Old Tools | New Tool | Pattern | |-----------|----------|---------| | list-emails, search-emails, list-conversations, search-by-message-id, list-emails-delta | `search-emails` | No query = list mode | | read-email, get-email-headers | `read-email` | `headersMode` param | | mark-as-read, set-message-flag, clear-message-flag | `update-email` | `action` param | | list-attachments, download-attachment, get-attachment-content | `attachments` | `action` param | | export-email, batch-export-emails, export-conversation, get-mime-content | `export` | `target` param | | decline-event, cancel-event, delete-event | `manage-event` | `action` param | | list/search/get/create/update/delete-contact | `manage-contact` | `action` param | | list/create/update/delete-category | `manage-category` | `action` param | | get/set-focused-inbox-overrides | `manage-focused-inbox` | `action` param | | get-mailbox-settings, get/set-automatic-replies, get/set-working-hours | `mailbox-settings` | `action` param | | list/create-folder, move-emails, get-folder-stats | `folders` | `action` param | | list/create/update-rule, edit-rule-sequence, delete-rule | `manage-rules` | `action` param (`list`, `create`, `update`, `reorder`, `delete`) | | about, authenticate, check-auth-status | `auth` | `action` param (`status`, `authenticate`, `device-code-complete`, `about`) | | *(new)* create-draft, update-draft, send-draft, delete-draft, create-reply-draft, create-forward-draft | `draft` | `action` param | ``` -------------------------------- ### Save and Update a Draft Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/quickrefs/tools-reference.md This pattern shows how to first create a draft and then subsequently update its content. It involves two separate calls to the `draft` tool, first for creation and then for updating using the draft's ID. ```plaintext draft(action: "create", to: "sarah@company.com", subject: "Draft", body: "...") draft(action: "update", id: "draft-id", subject: "Updated Subject", body: "Better content...") ``` -------------------------------- ### List Existing Inbox Rules Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/organise/create-inbox-rules.md Use the 'list' action to retrieve a list of your current inbox rules. Set 'includeDetails' to true to get more comprehensive information about each rule. ```yaml tool: manage-rules params: action: "list" ``` ```yaml tool: manage-rules params: action: "list" includeDetails: true ``` -------------------------------- ### Quick Check with get-mail-tips Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/email/check-recipients-before-sending.md Use the `get-mail-tips` tool to quickly check a single recipient for potential delivery issues like out-of-office replies. ```yaml tool: get-mail-tips params: recipients: ["sarah@company.com"] ``` -------------------------------- ### Get Raw MIME Content of an Email Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/email/export-emails.md Retrieve the raw MIME content of a specific email. This is intended for developers or forensic analysis. Only the 'id' parameter is required for this operation. ```yaml tool: export params: target: "mime" id: "AAMkAGR..." ``` -------------------------------- ### Authenticate using Device Code Flow Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/faq/faq.md Initiates the device code authentication flow. This method is recommended as it does not require a local auth server or port forwarding. ```bash outlook-assistant auth action=authenticate ``` -------------------------------- ### Create a Calendar Event with Description and Location Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/calendar/create-calendar-events.md Book an event and include a detailed description in the `body` field and specify the meeting location in the `location` field. The body supports plain text for agendas or notes. ```yaml tool: create-event params: subject: "Offsite Planning" start: "2026-03-10T10:00:00" end: "2026-03-10T12:00:00" body: "Agenda:\n1. Q2 goals review\n2. Resource planning\n3. Team feedback" location: "Level 3 Boardroom" ``` -------------------------------- ### Authenticate with Outlook Assistant Source: https://github.com/littlebearapps/outlook-assistant/blob/main/llms-install.md Use the auth tool with the 'authenticate' action to generate an OAuth URL. Open this URL in a browser to sign in and grant permissions. Tokens are saved automatically. ```bash auth action=authenticate ``` -------------------------------- ### Get Folder Statistics Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/organise/organise-with-folders.md Use the 'stats' action to retrieve the total item count, unread count, and folder size for a specified 'folder'. This is useful for managing pagination and email volume. ```tool_code tool: folders params: action: "stats" folder: "inbox" ``` -------------------------------- ### Outlook Assistant Environment Configuration Source: https://github.com/littlebearapps/outlook-assistant/blob/main/README.md Configure environment variables for Outlook Assistant, including client ID, client secret, email session rate limiting, and allowed recipients. This setup is recommended for enabling safety features. ```json "env": { "OUTLOOK_CLIENT_ID": "…", "OUTLOOK_CLIENT_SECRET": "…", "OUTLOOK_MAX_EMAILS_PER_SESSION": "10", "OUTLOOK_ALLOWED_RECIPIENTS": "your-domain.com,trusted@example.com" } ``` -------------------------------- ### Configure FAQ Protection Hook Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CLAUDE.md Configure the .claude/settings.json file to activate the FAQ protection hook for Bash and Write operations. ```json { "hooks": { "PreToolUse": [ { "matcher": "Bash|Write", "hooks": [{ "type": "command", "command": ".claude/hooks/faq-protection.sh" }] } ] } } ``` -------------------------------- ### Combine with Dry Run for Pre-Send Review Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/email/check-recipients-before-sending.md Integrate recipient checks with the `send-email` tool's `dryRun` and `checkRecipients` parameters for a comprehensive pre-send review. This provides mail tips warnings and an email preview before final approval. ```yaml tool: send-email params: to: "sarah@company.com, james@company.com" subject: "Project Update" body: "Hi team, here's the latest..." dryRun: true checkRecipients: true ``` -------------------------------- ### Delta Sync Initial Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/quickrefs/tools-reference.md Perform an initial delta synchronization to retrieve emails and a `deltaToken` for subsequent incremental syncs. Use `search-emails` with `deltaMode: true`. ```plaintext search-emails(deltaMode: true) ``` -------------------------------- ### Reply to an Email as a Draft Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/quickrefs/tools-reference.md Create a draft reply to an existing email using the `draft` tool with `action: "reply"`. Include the original email's `id` and add your `comment` for the reply. ```plaintext draft(action: "reply", id: "message-id", comment: "Thanks for the update!") ``` -------------------------------- ### General MCP Client Configuration for Outlook Assistant Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/getting-started/connect-outlook-to-claude.md Configure any MCP-compatible client to use the Outlook Assistant by setting the command and environment variables. This provides a flexible integration method. ```text Command: npx -y @littlebearapps/outlook-assistant Environment Variables: OUTLOOK_CLIENT_ID: your-client-id OUTLOOK_CLIENT_SECRET: your-secret-value ``` -------------------------------- ### Create Folders for Inbox Organization Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/organise/automate-your-inbox.md Use the `folders` tool to create new folders for organizing emails. Specify the action as 'create' and provide the desired folder name. ```yaml tool: folders params: action: "create" name: "Projects" ``` ```yaml tool: folders params: action: "create" name: "Finance" ``` ```yaml tool: folders params: action: "create" name: "Notifications" ``` -------------------------------- ### Send a Draft Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/quickrefs/tools-reference.md Use the `draft` tool with `action: "send"` to send an email that has already been created and saved. You must provide the `id` of the draft to be sent. ```plaintext draft(action: "send", id: "draft-id") ``` -------------------------------- ### Create a Reply-All Draft Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/email/create-draft-emails.md Use the 'reply-all' action to create a draft reply to all recipients of an existing email. Similar to 'reply', it auto-populates fields and allows for a prepended comment. ```tool_code tool: draft params: action: "reply-all" id: "original-message-id" comment: "Thanks everyone." ``` -------------------------------- ### Create a New Contact Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/contacts/manage-contacts.md Use the `manage-contact` tool with the `create` action to add a new contact. At least `displayName` or `email` is required. Additional fields like `mobilePhone`, `companyName`, `jobTitle`, and `notes` can also be provided. ```yaml tool: manage-contact params: action: "create" displayName: "Jane Smith" email: "jane@company.com" ``` ```yaml tool: manage-contact params: action: "create" displayName: "Jane Smith" email: "jane@company.com" mobilePhone: "+61 400 000 000" companyName: "Acme Corp" jobTitle: "Product Manager" notes: "Met at the Melbourne conference" ``` -------------------------------- ### Basic Keyword Search with KQL Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/advanced/kql-search-reference.md Perform a basic search across all email fields using a simple keyword query. ```yaml kqlQuery: "budget approval" ``` -------------------------------- ### List All Meeting Rooms Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/advanced/find-meeting-rooms.md Use this command to list all available meeting rooms in your organization. Ensure the 'find-meeting-rooms' tool is available. ```yaml tool: find-meeting-rooms ``` -------------------------------- ### Run Jest Unit Tests Source: https://github.com/littlebearapps/outlook-assistant/blob/main/CLAUDE.md Execute Jest unit tests for the project. ```bash npm test ``` -------------------------------- ### Flag an Email for Follow-Up Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/email/flag-emails-for-follow-up.md Use the `update-email` tool with the `flag` action to flag an email for follow-up. Provide the email's ID. ```yaml tool: update-email params: action: "flag" id: "AAMkAGR..." ``` -------------------------------- ### Flag Email for Follow-up Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/quickrefs/tools-reference.md Mark an email for follow-up by setting a due date and time using the `update-email` tool with `action: "flag"`. Provide the email `id` and the `dueDateTime`. ```plaintext update-email(action: "flag", id: "...", dueDateTime: "2026-03-01T09:00:00Z") ``` -------------------------------- ### Batch Flag Emails Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/advanced/batch-operations.md Use the `update-email` tool with the `flag` action to mark multiple emails for follow-up. Specify the email IDs and an optional `dueDateTime`. ```yaml tool: update-email params: action: "flag" ids: ["AAMkAGR1...", "AAMkAGR2...", "AAMkAGR3..."] dueDateTime: "2026-03-15T09:00:00Z" ``` -------------------------------- ### Create an Email Draft Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/email/create-draft-emails.md Use the 'create' action to save an email as a draft. This is useful for composing emails that require review before sending. The draft is saved to your Drafts folder and a draft ID is returned for future reference. ```tool_code tool: draft params: action: "create" to: "sarah@company.com" subject: "Project Alpha Update" body: "Hi Sarah,\n\nHere's the latest on Project Alpha..." ``` -------------------------------- ### Preview a Draft Before Saving (Dry Run) Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/email/create-draft-emails.md Use the 'create' action with `dryRun: true` to preview an email draft without saving it to your Drafts folder. This allows you to see what the draft would look like before committing it. ```tool_code tool: draft params: action: "create" to: "sarah@company.com" subject: "Project Alpha Update" body: "Hi Sarah..." dryRun: true ``` -------------------------------- ### Authenticate using Browser Redirect Flow Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/faq/faq.md Initiates the browser redirect authentication flow. This method requires the auth server to be running and a local browser. ```bash outlook-assistant auth action=authenticate method=browser ``` -------------------------------- ### Use Minimal Output Verbosity for Token Efficiency Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/ai-agents/using-outlook-assistant-in-agents.md Use `outputVerbosity: "minimal"` when full email content is not required. This significantly reduces token usage, especially for large result sets, by returning only essential information like subject, sender, and date. ```yaml tool: search-emails params: from: "boss@company.com" outputVerbosity: "minimal" ``` -------------------------------- ### Create Rules to Auto-Sort Incoming Emails Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/organise/automate-your-inbox.md The `manage-rules` tool allows for automatic sorting of incoming emails. You can specify sender addresses, subject keywords, attachment presence, and destination folders. Use `markAsRead: true` to automatically mark matched emails as read. ```yaml tool: manage-rules params: action: "create" name: "GitHub Notifications" fromAddresses: "notifications@github.com" moveToFolder: "Notifications" markAsRead: true ``` ```yaml tool: manage-rules params: action: "create" name: "Invoices to Finance" containsSubject: "invoice, receipt, payment, statement" hasAttachments: true moveToFolder: "Finance" exceptFromAddresses: "accountant@example.com" ``` -------------------------------- ### Create a Reply Draft Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/email/create-draft-emails.md Use the 'reply' action to create a draft reply to an existing email. This automatically populates the subject, recipients, and threading headers. You can add a short comment that will be prepended to the quoted original message. ```tool_code tool: draft params: action: "reply" id: "original-message-id" comment: "Thanks for the update, Sarah. I'll review and get back to you." ``` -------------------------------- ### Create a Rule to Forward Emails Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/organise/create-inbox-rules.md Create a rule to automatically forward matching emails to a specified address. Setting 'stopProcessingRules' to true ensures no further rules are applied to these emails. ```yaml tool: manage-rules params: action: "create" name: "Forward client emails" fromAddresses: "client@company.com" forwardTo: "team@company.com" stopProcessingRules: true ``` -------------------------------- ### Search Emails and Apply Categories in Batch Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/organise/automate-your-inbox.md First, use `search-emails` to find emails based on criteria like sender. Then, use `apply-category` with the retrieved message IDs to add or remove categories in a batch operation. ```yaml tool: search-emails params: from: "finance@company.com" ``` ```yaml tool: apply-category params: messageIds: ["id1", "id2", "id3"] categories: ["Reference"] action: "add" ``` -------------------------------- ### Set Standard Working Hours Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/settings/configure-working-hours.md Configure your standard work days and hours. Ensure days are lowercase and times are in 24-hour format. ```tool tool: mailbox-settings params: action: "set-working-hours" startTime: "09:00" endTime: "17:30" daysOfWeek: ["monday", "tuesday", "wednesday", "thursday", "friday"] ``` -------------------------------- ### Set Azure Credentials Source: https://github.com/littlebearapps/outlook-assistant/blob/main/README.md Sets essential Azure credentials and test mode for the Outlook Assistant. ```bash OUTLOOK_CLIENT_ID=your-application-client-id OUTLOOK_CLIENT_SECRET=your-client-secret-VALUE USE_TEST_MODE=false ``` -------------------------------- ### Forward an Email as a Draft Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/quickrefs/tools-reference.md Forward an existing email as a draft using the `draft` tool with `action: "forward"`. Specify the original email's `id`, the `to` recipients, and an optional `comment`. ```plaintext draft(action: "forward", id: "message-id", to: "colleague@company.com", comment: "FYI") ``` -------------------------------- ### Preview Email Before Sending Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/quickrefs/tools-reference.md Use the `send-email` tool with `dryRun: true` to preview an email without actually sending it. This is useful for verifying the content and recipients. ```plaintext send-email(to: "...", subject: "...", body: "...", dryRun: true) ``` -------------------------------- ### List Email Folders Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/organise/organise-with-folders.md Use the 'list' action to retrieve all email folders. Include 'includeItemCounts' to see the number of emails in each folder, or 'includeChildren' to view nested subfolders. ```tool_code tool: folders params: action: "list" ``` ```tool_code tool: folders params: action: "list" includeItemCounts: true ``` ```tool_code tool: folders params: action: "list" includeChildren: true ``` -------------------------------- ### Configure Claude Desktop for Outlook Assistant Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/getting-started/connect-outlook-to-claude.md Add the Outlook Assistant configuration to your Claude Desktop's config file. This enables Claude to use the assistant for Outlook integration. ```json { "mcpServers": { "outlook": { "command": "npx", "args": ["-y", "@littlebearapps/outlook-assistant"], "env": { "OUTLOOK_CLIENT_ID": "your-client-id", "OUTLOOK_CLIENT_SECRET": "your-secret-value" } } } } ``` -------------------------------- ### Filter Meeting Rooms by Minimum Capacity Source: https://github.com/littlebearapps/outlook-assistant/blob/main/docs/how-to/advanced/find-meeting-rooms.md Find meeting rooms that can accommodate a minimum number of people. Specify the required capacity in the 'capacity' parameter. ```yaml tool: find-meeting-rooms params: capacity: 10 ```