ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified productivity Safety 4/5

calin

Sync any ICS/iCal calendar to Microsoft Exchange as blocked time slots — supports recurring events, change detection, and privacy-preserving sync

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/blucaru/block-on-exchange
Or

What This Skill Does

CalIn is a specialized OpenClaw integration designed to bridge the gap between disparate calendar systems and your Microsoft Exchange work environment. By utilizing ICS/iCal feeds, the skill performs a one-way synchronization of your availability. It pulls event data from any CalDAV-compatible source—such as Google Calendar, iCloud, Nextcloud, or Proton—and translates those time blocks into 'Blocked' appointments on your Microsoft Exchange calendar. The skill is engineered with a privacy-first architecture: it never reads or stores event titles, descriptions, or participant information. Instead, it only observes start/end times and recurrence rules, ensuring that your sensitive personal meeting details remain completely private while still preventing colleagues from booking over your existing commitments.

Installation

Installation is streamlined for OpenClaw users. First, navigate to your skills directory and execute the provided install.sh script to set up a Python virtual environment with the necessary dependencies, including icalendar and msal. Next, populate the ~/.calintegration/.env file with your specific ICS source URL and Azure Active Directory app credentials. You will need to register an application in the Azure Portal with Calendars.ReadWrite permissions. Once configured, run venv/bin/python main.py setup to complete the one-time OAuth authentication. For hands-free operation, the installation package includes a native launchd configuration for periodic background syncs.

Use Cases

CalIn is perfect for professionals who juggle multiple calendar identities. Common use cases include: preventing 'double-booking' by mirroring personal medical appointments or errands onto a work calendar, maintaining a unified view of your availability for team scheduling tools, or ensuring you never miss a lunch break or focus block due to work meeting invites. It acts as an automated buffer between your private life and corporate requirements.

Example Prompts

  1. 'OpenClaw, please run a sync now to update my Exchange calendar with my personal appointments.'
  2. 'Check the status of my CalIn sync; how many events were updated during the last cycle?'
  3. 'Clear all previously synced events from my work calendar to start fresh.'

Tips & Limitations

To ensure optimal performance, schedule your sync cycle via the provided background task feature, ideally every 15-30 minutes. Note that this is a one-way sync; changes made to the blocked slots on Exchange will not propagate back to your source ICS feed, and manual modifications on the Exchange side may be overwritten during subsequent sync cycles. Always ensure your ICS feed remains active, as password changes or revoked sharing links will break the connection. For security, the configuration file is restricted to your user account via chmod 600.

Metadata

Author@blucaru
Stars4473
Views1
Updated2026-05-01
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-blucaru-block-on-exchange": {
      "enabled": true,
      "auto_update": true
    }
  }
}

Tags(AI)

#calendar#productivity#scheduling#exchange#sync
Safety Score: 4/5

Flags: network-access, file-write, file-read, external-api