skills$openclaw/outlook
abhiramee08b0215.4k

by abhiramee08b021

outlook – OpenClaw Skill

outlook is an OpenClaw Skills integration for coding workflows. Microsoft Outlook/Live.com email client via Microsoft Graph API. List, search, read, send, and reply to emails.

5.4k stars954 forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameoutlook
descriptionMicrosoft Outlook/Live.com email client via Microsoft Graph API. List, search, read, send, and reply to emails. OpenClaw Skills integration.
ownerabhiramee08b021
repositoryabhiramee08b021/outlook-email
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @abhiramee08b021/outlook-email
last updatedFeb 7, 2026

Maintainer

abhiramee08b021

abhiramee08b021

Maintains outlook in the OpenClaw Skills directory.

View GitHub profile
File Explorer
3 files
.
_meta.json
287 B
README.md
3.6 KB
SKILL.md
2.1 KB
SKILL.md

name: outlook emoji: f4e7 description: Microsoft Outlook/Live.com email client via Microsoft Graph API. List, search, read, send, and reply to emails. homepage: https://github.com/abhiramee08b021/outlook-cli metadata: { "openclaw": { "emoji": "📧", "requires": { "bins": ["python3"], "python_packages": ["requests"] }, "install": [ { "id": "manual", "kind": "manual", "label": "Requires Azure AD app registration", }, ], }, }

Outlook CLI

Command-line email client for Microsoft Outlook/Live/Hotmail using Microsoft Graph API.

Setup

  1. Create Azure AD App: https://portal.azure.com → App registrations

    • Name: outlook-cli
    • Account type: "Personal Microsoft accounts only"
    • Redirect URI: http://localhost:8080/callback
  2. Get credentials from your app registration

  3. Configure:

    outlook configure
    
  4. Authenticate:

    outlook auth
    

Commands

CommandDescription
outlook list [n]List recent emails
outlook search "query" [n]Search emails
outlook read <id>Read email by ID
outlook send --to ...Send email
outlook reply <id>Reply to email
outlook statusCheck auth status

Examples

List emails:

outlook list 20

Search:

outlook search "from:linkedin.com"
outlook search "subject:invoice"

Send:

outlook send --to "user@example.com" --subject "Hello" --body "Message"
outlook send --to "a@x.com,b@x.com" --cc "boss@x.com" --subject "Update" --body-file ./msg.txt

Reply:

outlook reply EMAIL_ID --body "Thanks!"
outlook reply EMAIL_ID --all --body "Thanks everyone!"

Search Operators

  • from:email@domain.com - Sender
  • subject:keyword - Subject line
  • body:keyword - Email body
  • received:YYYY-MM-DD - Date
  • hasattachment:yes - Has attachments

Files

  • SKILL.md - This documentation
  • outlook - Main CLI script
  • README.md - Full documentation
README.md

Outlook CLI

A command-line tool for managing Microsoft Outlook/Live/Hotmail emails via Microsoft Graph API. Built as an OpenClaw skill.

Features

  • 📧 List emails - View recent emails in your inbox
  • 🔍 Search - Full-text search across emails
  • 📖 Read - View full email content
  • ✉️ Send - Send new emails with CC/BCC support
  • 💬 Reply - Reply to emails (with reply-all support)

Installation

Prerequisites

  • Python 3.7+
  • requests library (pip install requests)

Setup

  1. Clone or download this repository:

    git clone https://github.com/abhiramee08b021/outlook-cli.git
    cd outlook-cli
    
  2. Create Azure AD App Registration:

    • Go to Azure Portal → App registrations → New registration
    • Name: outlook-cli (or anything)
    • Supported account types: "Personal Microsoft accounts only"
    • Redirect URI: Web → http://localhost:8080/callback
    • Click Register
  3. Get credentials:

    • Copy Application (client) ID from Overview page
    • Go to Certificates & secrets → New client secret → Copy value
  4. Configure the tool:

    ./outlook configure
    # Enter your Client ID and Client Secret when prompted
    
  5. Authenticate:

    ./outlook auth
    
    • Opens browser for Microsoft login
    • Copy the callback URL and paste when prompted

Usage

List Emails

./outlook list          # List 10 most recent emails
./outlook list 20       # List 20 emails

Search Emails

./outlook search "from:linkedin.com"
./outlook search "subject:invoice"
./outlook search "body:meeting" 30

Search operators:

  • from:email@domain.com - Search by sender
  • to:email@domain.com - Search by recipient
  • subject:keyword - Search subject line
  • body:keyword - Search email body
  • received:YYYY-MM-DD - Search by date
  • hasattachment:yes - Emails with attachments

Read Email

./outlook read AQMkADAwATM3ZmY...

Send Email

# Simple email
./outlook send --to "recipient@example.com" --subject "Hello" --body "Message"

# Multiple recipients
./outlook send --to "user1@example.com,user2@example.com" --subject "Hi" --body "Hello all"

# With CC/BCC
./outlook send --to "boss@company.com" --cc "team@company.com" --subject "Update" --body "Project status"

# Body from file
./outlook send --to "friend@example.com" --subject "Notes" --body-file ./notes.txt

# HTML email
./outlook send --to "user@example.com" --subject "Styled" --body "<h1>Hello</h1>" --html

# From stdin (pipe)
echo "Meeting notes" | ./outlook send --to "team@company.com" --subject "Notes" --body-file -

Reply to Email

# Reply to sender only
./outlook reply EMAIL_ID --body "Thanks for the info!"

# Reply to all (includes CC)
./outlook reply EMAIL_ID --all --body "Thanks everyone!"

# Reply from file
./outlook reply EMAIL_ID --body-file ./response.txt

Check Status

./outlook status

Configuration

Configuration is stored in ~/.config/outlook-cli/:

  • config.json - Client ID and secret
  • tokens.json - OAuth tokens (auto-generated)

Security

  • Tokens are stored with restricted permissions (600)
  • Client secret is stored locally and never transmitted except to Microsoft
  • Uses OAuth2 with refresh tokens for secure, long-term access

Limitations

  • Attachments: Can view received emails with attachments, but sending attachments is not yet supported
  • Drafts: Direct send only, no draft saving

License

MIT

Contributing

Pull requests welcome! This is a community tool for Outlook email management.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install outlook?

Run openclaw add @abhiramee08b021/outlook-email in your terminal. This installs outlook into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/abhiramee08b021/outlook-email. Review commits and README documentation before installing.