Feishu Calendar Skill
Quick Index
| User Intent |
module |
tool_action |
Required Parameters |
| Create Event |
calendar |
create |
title, start, duration |
| Query Event |
calendar |
query |
start, end |
| Update Event |
calendar |
update |
event_id + fields to update |
| Delete Event |
calendar |
delete |
event_id |
| List Calendars |
calendar |
list_calendars |
- |
| Check Free/Busy |
calendar |
freebusy |
user_ids, start, end |
Invocation Examples
Create Event
python3 skills/feishu-cli/run.py '{
"action": "tool",
"module": "calendar",
"tool_action": "create",
"title": "周会",
"start": "2026-03-10 10:00",
"duration": "60m",
"attendees": ["ou_xxx", "ou_yyy"],
"description": "每周同步进度"
}'
Query Event
python3 skills/feishu-cli/run.py '{
"action": "tool",
"module": "calendar",
"tool_action": "query",
"start": "2026-03-10",
"end": "2026-03-14"
}'
Check Free/Busy
python3 skills/feishu-cli/run.py '{
"action": "tool",
"module": "calendar",
"tool_action": "freebusy",
"user_ids": ["ou_xxx", "ou_yyy"],
"start": "2026-03-10 09:00",
"end": "2026-03-10 18:00"
}'
Core Constraints
- Time Format: Supports
"2026-03-10 10:00" or ISO 8601 "2026-03-10T10:00:00+08:00"
- duration: Supports
"30m", "1h", "1h30m" and other formats
- attendees: Uses
open_id(ou_ prefix), array format
- Time Zone: Defaults to the server time zone; can be specified via the
timezone parameter (e.g. "Asia/Shanghai")
- Calendar ID: Most operations default to the primary calendar; other calendars can be specified via
calendar_id 指定其他日历
- Recurring Event: Uses the
recurrence parameter (RRULE format), e.g. "FREQ=WEEKLY;BYDAY=MO"
Common Errors
| Error |
Cause |
Solution |
| No permission to access calendar |
Calendar-related scope not authorized |
Perform OAuth authorization |
| Unable to add attendee |
Incorrect user_id format |
Confirm to use open_id (starts with ou_) |
| Time conflict |
An event already exists in the target time slot |
Query free/busy first to confirm availability |