🧪 Skills

OneDrive Integration

Copy large/long files to OneDrive for sharing when the user is on Telegram or WhatsApp and wants to view a full document or long file. Use to place files int...

v0.1.0
❤️ 0
⬇️ 331
👁 1
Share

Description


name: onedrive-integration description: Copy large/long files to OneDrive for sharing when the user is on Telegram or WhatsApp and wants to view a full document or long file. Use to place files into OneDrive under an OpenClaw folder and provide the new filename/location.

onedrive-integration

Goal

When the user needs a full document / long file in Telegram/WhatsApp (where pasting is awkward), copy the file(s) into OneDrive so the user can open/share from there.

Prerequisites

command -v python3
python3 --version

Configuration (portable)

Machine-specific config lives alongside the skill:

  • Example (do not edit): ~/.openclaw/skills/onedrive-integration/config.env.example
  • Real (machine-specific): ~/.openclaw/skills/onedrive-integration/config.env

Keys:

  • ONEDRIVE_ROOT (required) — e.g. /mnt/c/Users/<windows_user>/OneDrive
  • ONEDRIVE_SUBDIR (optional) — default openclaw

If config is missing/unset, do not guess—ask Boss to confirm the correct OneDrive folder, then write config.env.

Initialization / installation / onboarding

Preferred (chat-first)

Because the primary interface is chat (Telegram), the preferred onboarding flow is:

  1. Ask Boss to confirm the correct OneDrive root folder.
  2. Write the real config file: config.env.
  3. Run a smoke test by copying a small temp file.

Optional (terminal)

If you are running in a real terminal, you can use the interactive onboarding script:

~/.openclaw/skills/onedrive-integration/scripts/onboard.sh

How it works

Copy requested file(s) into:

  • ${ONEDRIVE_ROOT}/${ONEDRIVE_SUBDIR}/ (defaults to openclaw/)

During copy, rename files to include their source path to avoid collisions.

Rename rules

  • Convert absolute path into a safe filename:
    • strip leading /
    • replace path separators (/ and \\) with -
    • lowercase
    • replace any non [a-z0-9._-] with -
    • collapse multiple -

Examples:

  • /home/miles/folder1/file1.mdwsl-home-miles-folder1-file1.md
  • /mnt/c/Users/<user>/folder1/file1.mdc-users-<user>-folder1-file1.md

Implementation

Canonical executable lives inside the skill folder:

  • ~/.openclaw/skills/onedrive-integration/scripts/copy_to_onedrive.py

Run:

~/.openclaw/skills/onedrive-integration/scripts/copy_to_onedrive.py <paths...>

(Reads config.env automatically.)

Optional overrides:

  • .../copy_to_onedrive.py --onedrive-root "..." --subdir "..." <paths...>
  • .../copy_to_onedrive.py --config /path/to/config.env <paths...>

The script:

  • creates ${ONEDRIVE_ROOT}/${ONEDRIVE_SUBDIR}/ if missing
  • copies files (preserve timestamps)
  • prints the destination paths (no secrets)

Notes

  • If the request is a browser-only document (no local file), download it to a temp path first, then copy.
  • If ONEDRIVE_ROOT is unset, do not guess—ask for confirmation.

Executables / bin placement

  • Keep the canonical script inside the skill folder.
  • Optional: symlink into a common PATH dir (only if you want a short command):
mkdir -p ~/.local/bin
ln -sf ~/.openclaw/skills/onedrive-integration/scripts/copy_to_onedrive.py ~/.local/bin/copy-to-onedrive

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs