Skills claude-office-skills skills
calendar-automation
- Use it when:
- You want your calendar to brief you each morning, prepare you before meetings or protect focus time, and plan to build that in n8n.
- You get:
- A setup write-up: the workflow as a YAML outline of trigger and steps, a sample of the message it sends, and the n8n nodes to build it.
- Workflows:
- A Slack morning digest, meeting prep an hour ahead, Sunday time blocking, Calendly bookings into Google Calendar and HubSpot, and a Friday calendar report.
- Also has:
- Two time-blocking templates: a maker schedule with two deep-work blocks and a manager schedule built around 1:1s.
- Doesn't:
- Read or change your calendar itself: its instructions never call the calendar and Slack MCP tools named in its frontmatter.
TL;DR
From Claude Office Skills. You describe the calendar routine you want automated and the agent writes it up as a workflow: a trigger, such as 6 AM on weekdays or an hour before a meeting of 30 minutes or more, then numbered steps and the message to send. Its five workflows count meetings, hours, free time and back-to-back slots for a Slack morning digest; draft a meeting prep doc with attendee profiles from LinkedIn and your CRM, recent emails, a suggested agenda and talking points; block deep work, admin time and buffers for the coming week around high-priority tasks from Todoist, Asana or Notion; turn Calendly bookings into calendar events, HubSpot records, a confirmation email and a Slack alert; and report time spent by category, meeting fragmentation and a productivity score each Friday. Its example for the digest ends with the n8n nodes to add, from a schedule trigger to Google Calendar, a code node and Slack, and an offer to generate the full n8n workflow JSON. The workflows are outlines for you to build, not files to import.
Summarizes the skill at 9c4c7d5.
npx skills add https://github.com/claude-office-skills/skills --skill calendar-automation skills.sh pageSource on GitHubAll skills from claude-office-skills/skills
- Total Downloads
- 6,300 on skills.sh, Nov 9, 2026
- Repo stars
- 569 claude-office-skills/skills
- First seen
- Mar 9, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 74 |
| Sep 28 | 58 |
| Oct 5 | 58 |
| Oct 12 | 101 |
| Oct 19 | 222 |
| Oct 26 | 176 |
| Nov 2 | 61 |
| Nov 9 | 76 |
| Category |
Office files, notes and suites like Lark and Google Workspace. |
|---|---|
| Type |
Knowledge and rules the agent applies while it works: best practices, design principles, API references. |
| Effect |
Adds no side effects of its own. It shapes how the agent thinks, writes or reviews. Guidelines and routers are always effect:none, even when the task they support edits code. |
| Needs |
Instructions only. Works in any agent that supports skills. |
| Publisher |
Everyone else. Unverified vendor claims default to community. |
| Topics | |
| Stack |
SKILL.md
From claude-office-skills/skills at 9c4c7d5. Checked daily, last changed Nov 6, 2026.
Frontmatter
name: calendar-automation
description: "Google Calendar and Outlook automation - scheduling optimization, meeting workflows, time blocking, and Slack/Sheets integration"
version: "1.0.0"
author: claude-office-skills
license: MIT
category: productivity
tags:
- calendar
- scheduling
- google-calendar
- outlook
- automation
department: Operations
models:
recommended:
- claude-sonnet-4
mcp:
server: google-workspace-mcp
tools:
- calendar_create_event
- calendar_list_events
- calendar_update
- slack_notify
capabilities:
- meeting_scheduling
- time_blocking
- calendar_sync
- meeting_prep
- daily_digest
languages:
- en
- zh
related_skills:
- gmail-workflows
- meeting-notes
- task-managementCalendar Automation
Automate Google Calendar and Outlook workflows for meeting management, time blocking, daily digests, and cross-platform synchronization. Based on n8n workflow templates.
Overview
This skill covers:
- Meeting scheduling automation
- Time blocking strategies
- Daily calendar digests to Slack
- Meeting prep reminders
- Calendar analytics
Core Workflows
1. Daily Calendar Digest to Slack
workflow: "Morning Calendar Briefing"
schedule: "6:00 AM daily"
steps:
1. get_today_events:
calendar: primary
time_min: today_start
time_max: today_end
2. categorize_events:
categories:
meetings: has_attendees == true
focus_time: title contains "Focus" OR "Deep Work"
one_on_ones: title contains "1:1" OR "1-on-1"
interviews: title contains "Interview"
3. calculate_stats:
total_meetings: count(meetings)
total_hours: sum(duration)
free_time: 8 - total_hours
back_to_back: count(gap < 15min)
4. format_message:
template: |
โ๏ธ *Good morning! Here's your day:*
๐
*{date}*
*Schedule Overview:*
โข {total_meetings} meetings ({total_hours}h)
โข {free_time}h of free time
โข {back_to_back} back-to-back slots โ ๏ธ
*Today's Events:*
{event_list}
๐ก *Tip:* {daily_tip}
5. send_to_slack:
channel: "#daily-schedule" or DM
6. log_to_sheets:
spreadsheet: "Calendar Analytics"
data: [date, meetings, hours, categories]
Event List Format:
โข 9:00 AM - Team Standup (15m) ๐ Zoom
โข 10:00 AM - 1:1 with Sarah (30m) ๐ฅ
โข 11:00 AM - Focus Time (2h) ๐ง
โข 2:00 PM - Client Call (1h) ๐ค Google Meet
โข 4:00 PM - Interview - PM Role (45m) ๐ฏ
2. Meeting Prep Automation
workflow: "Meeting Preparation"
trigger:
type: calendar_event
time: 1_hour_before_meeting
filter: has_attendees AND duration >= 30min
steps:
1. get_meeting_details:
extract: [title, attendees, description, meeting_link]
2. research_attendees:
for_each: attendee
actions:
- linkedin_lookup: get_title_company
- crm_lookup: get_past_interactions
- email_search: recent_threads
3. generate_prep_doc:
template: |
# Meeting Prep: {title}
**Time:** {start_time}
**Duration:** {duration}
**Link:** {meeting_link}
## Attendees
{attendee_profiles}
## Context
- Last interaction: {last_meeting_date}
- Open items: {open_tasks}
- Recent emails: {email_summary}
## Suggested Agenda
{ai_suggested_agenda}
## Talking Points
{ai_talking_points}
4. send_reminder:
slack_dm:
message: |
โฐ Meeting in 1 hour: *{title}*
๐ [Prep Doc]({prep_doc_link})
๐ [Join Meeting]({meeting_link})
Quick context: {one_line_summary}
3. Smart Time Blocking
workflow: "Auto Time Blocking"
schedule: "Sunday 8pm" # Plan for next week
steps:
1. analyze_calendar:
range: next_7_days
identify:
- existing_meetings
- recurring_meetings
- available_slots
2. get_priorities:
source: [todoist, asana, notion]
filter: due_this_week AND high_priority
3. allocate_focus_time:
rules:
- morning_block: 9-11am (deep work)
- afternoon_block: 2-4pm (collaborative)
- minimum_gap: 15min between meetings
- max_meetings_per_day: 5
4. create_blocks:
types:
deep_work:
duration: 2h
frequency: daily
preferred_time: 9-11am
color: blue
admin_time:
duration: 1h
frequency: daily
preferred_time: 4-5pm
color: gray
buffer:
duration: 15min
after: external_meetings
color: yellow
5. notify:
slack: "โ
Weekly time blocks created. {x} hours of focus time protected."
4. Calendly โ Calendar + CRM
workflow: "Calendly Booking Handler"
trigger:
type: calendly
event: booking_created
steps:
1. get_booking_details:
extract: [invitee, event_type, scheduled_time, answers]
2. enrich_contact:
clearbit: lookup_by_email
linkedin: get_profile
3. create_calendar_event:
google_calendar:
title: "{event_type} with {invitee_name}"
time: scheduled_time
description: |
**Booked via Calendly**
Name: {invitee_name}
Email: {invitee_email}
Company: {company}
**Pre-meeting questions:**
{calendly_answers}
attendees: [invitee_email, owner_email]
reminders: [1_day, 1_hour, 15_min]
4. update_crm:
hubspot:
create_or_update_contact:
email: invitee_email
properties:
last_meeting_booked: scheduled_time
meeting_type: event_type
create_engagement:
type: MEETING
timestamp: scheduled_time
5. send_confirmation:
email:
to: invitee_email
template: meeting_confirmation
include: [calendar_invite, prep_questions]
6. notify_slack:
channel: "#meetings"
message: "๐
New booking: {event_type} with {invitee_name} on {date}"
5. Calendar Analytics
analytics_workflow:
name: "Weekly Calendar Report"
schedule: "Friday 5pm"
metrics:
time_distribution:
- meetings_total_hours
- focus_time_hours
- admin_time_hours
- 1on1_time_hours
meeting_quality:
- avg_meeting_length
- back_to_back_count
- meetings_with_agenda
- external_vs_internal
productivity:
- longest_focus_block
- fragmentation_score
- after_hours_meetings
output:
format: markdown
destinations: [slack, google_sheets]
report_template: |
# ๐ Weekly Calendar Analytics
## Time Distribution
| Category | Hours | % of Week |
|----------|-------|-----------|
| Meetings | {meetings_hours} | {meetings_pct}% |
| Focus Time | {focus_hours} | {focus_pct}% |
| Admin | {admin_hours} | {admin_pct}% |
| Available | {available_hours} | {available_pct}% |
## Meeting Insights
- Total meetings: {total_meetings}
- Average length: {avg_length} min
- Back-to-back: {b2b_count} ({b2b_pct}%)
- With agenda: {agenda_pct}%
## Productivity Score
๐ฏ **{productivity_score}/100**
- Longest focus block: {longest_focus}
- Meeting fragmentation: {fragmentation}
- After-hours: {after_hours_count}
## Recommendations
{ai_recommendations}
Time Blocking Templates
Maker Schedule (Individual Contributor)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 9:00 - 11:00 โ Deep Work Block 1 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 11:00 - 11:30 โ Email/Slack โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 11:30 - 12:30 โ Meetings Window โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 12:30 - 1:30 โ Lunch โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 1:30 - 3:30 โ Deep Work Block 2 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 3:30 - 4:00 โ Buffer/Admin โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 4:00 - 5:00 โ Meetings Window โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 5:00 - 5:30 โ Daily Wrap-up โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Manager Schedule
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 8:00 - 8:30 โ Daily Planning โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 8:30 - 9:00 โ Team Standup โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 9:00 - 12:00 โ 1:1s / Meetings โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 12:00 - 1:00 โ Lunch โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 1:00 - 2:00 โ Focus Time โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 2:00 - 5:00 โ Meetings โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 5:00 - 5:30 โ Email/Wrap-up โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Output Example
Request: "Set up daily calendar digest for my Slack"
Output:
# Daily Calendar Digest Setup
## Workflow Configuration
```yaml
name: "Morning Calendar Briefing"
schedule: "6:00 AM weekdays"
timezone: "Asia/Shanghai"
trigger:
type: cron
expression: "0 6 * * 1-5"
actions:
1. fetch_events:
calendar: primary
date: today
2. send_slack:
channel: "@you" # or #your-channel
Sample Output
โ๏ธ Good morning! Here's your Thursday:
๐
January 30, 2026
โโโโโโโโโโโโโโโโโโโโโโ
๐ Overview:
โข 5 meetings (4.5h)
โข 3.5h free time
โข 1 back-to-back warning โ ๏ธ
โโโโโโโโโโโโโโโโโโโโโโ
๐๏ธ Schedule:
9:00 AM โ Team Standup (15m)
โ ๐ Google Meet
โ
10:00 AM โ 1:1 with Sarah (30m)
โ ๐ฅ Conference Room B
โ
11:00 AM โ ๐ง Focus Time (2h)
โ
1:00 PM โ Lunch
โ
2:00 PM โ Client Call - Acme (1h)
โ ๐ค Zoom (link attached)
โ
3:30 PM โ Product Review (1h)
โ ๐ Agenda attached
โ
5:00 PM โ โ
Day ends
โโโโโโโโโโโโโโโโโโโโโโ
๐ก Tip: You have 2h of focus time - tackle your highest priority task!
n8n Setup Instructions
- Create new workflow
- Add Schedule Trigger node (6am weekdays)
- Add Google Calendar node (Get Events)
- Add Code node (format message)
- Add Slack node (send message)
- Activate workflow
Would you like me to generate the full n8n workflow JSON?
---
*Calendar Automation Skill - Part of Claude Office Skills*