Skip to content

ALT-F1-OpenClaw/openclaw-skill-m365-task-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

openclaw-skill-m365-task-manager

License: MIT Node.js Microsoft 365 OpenClaw Skill ClawHub Security GitHub last commit GitHub issues GitHub stars

Production-ready OpenClaw skill for Microsoft 365 task operations using Microsoft Graph API (Microsoft To Do).

By Abdelkrim BOUJRAF / ALT-F1 SRL, Brussels πŸ‡§πŸ‡ͺ πŸ‡²πŸ‡¦

Table of Contents

Features

  • CRUD tasks β€” Create, read, update, and delete Microsoft To Do tasks
  • List management β€” Browse available task lists
  • Device Code auth β€” Delegated authentication (first login interactive, then cached)
  • Deterministic naming β€” Task naming helper for consistent conventions
  • Operational playbook β€” Lightweight guidelines for consistent usage

Quick Start

# 1. Clone
git clone https://github.com/ALT-F1-OpenClaw/openclaw-skill-m365-task-manager.git
cd openclaw-skill-m365-task-manager

# 2. Install
npm install

# 3. Configure
# Set environment variables (see Setup section)

# 4. Use
npm run todo -- info
npm run todo -- lists
npm run todo -- tasks:create --list-name "Tasks" --title "My first task" --due 2026-03-15

Setup

Prerequisites

  • Node.js 18+
  • Microsoft Entra app registration configured as public client
  • Microsoft Graph delegated permissions:
    • Tasks.ReadWrite
    • User.Read
    • offline_access

Configuration

Set environment variables:

M365_TENANT_ID=your-tenant-id-or-common
M365_CLIENT_ID=your-public-client-app-id
# optional override
M365_TOKEN_CACHE_PATH=/home/user/.cache/openclaw/m365-task-manager-token.json

First execution opens Device Code flow. Sign in once, token is cached for reuse.

Commands

# Connection + profile
npm run todo -- info

# Lists
npm run todo -- lists

# Read tasks
npm run todo -- tasks:list --list-name "Tasks"
npm run todo -- tasks:list --list-id <LIST_ID>

# Create task
npm run todo -- tasks:create --list-name "Tasks" --title "Task title" [--body "Notes"] [--due YYYY-MM-DD]

# Update task
npm run todo -- tasks:update --list-name "Tasks" --task-id <TASK_ID> [--title "..."] [--body "..."] [--status notStarted|inProgress|completed|waitingOnOthers|deferred] [--due YYYY-MM-DD]

# Delete task
npm run todo -- tasks:delete --list-name "Tasks" --task-id <TASK_ID>

See SKILL.md for full command reference.

Project Structure

skills/m365-task-manager/
β”œβ”€β”€ SKILL.md
β”œβ”€β”€ references/playbook.md
└── scripts/
    β”œβ”€β”€ m365-todo.mjs
    └── format-task-name.sh

Operational Convention

Recommended task title pattern:

<project>-<date>-<person>-<action>

Examples:

  • finance-2026-03-01-abdelkrim-review-monthly-budget
  • ops-2026-03-05-morad-prepare-quarterly-planning-notes

Security

  • Device Code delegated auth (no client secrets stored)
  • Token cached locally with configurable path
  • Delegated permissions scoped to Tasks.ReadWrite only
  • No secrets or tokens printed to stdout

Troubleshooting

invalid_grant

Usually app or tenant mismatch. Verify M365_TENANT_ID and M365_CLIENT_ID point to the correct app.

Device login shows wrong app name

Your service env is using another client ID. Update env, restart service, and retry.

No lists returned / request fails

Confirm delegated permissions are granted and admin consent applied.

ClawHub

Published as: openclaw-skill-m365-task-manager-by-altf1be

clawhub install openclaw-skill-m365-task-manager-by-altf1be

License

MIT β€” see LICENSE

Author

Abdelkrim BOUJRAF β€” ALT-F1 SRL, Brussels πŸ‡§πŸ‡ͺ πŸ‡²πŸ‡¦

Contributing

Contributions welcome! Please open an issue or PR.

About

OpenClaw skill for simple Microsoft 365 task management using To Do and Planner patterns.

Resources

License

Stars

4 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors