🧪 Skills
Feishu Meeting
Create Feishu (Lark) video meetings via Calendar API — instant, scheduled, or recurring. Supports multiple invitees (resolved from mobile/email), automatic F...
v1.0.0
Description
name: feishu-meeting description: > Create Feishu (Lark) video meetings via Calendar API — instant, scheduled, or recurring. Supports multiple invitees (resolved from mobile/email), automatic Feishu VC link generation, RRULE-based recurrence, and calendar integration (events appear in attendees' calendars). Use when user asks to: create/schedule a meeting, set up a recurring meeting, book a video call, 开会, 预约会议, 发起会议, 创建周期性会议, 飞书会议.
Feishu Meeting
Create Feishu video meetings with one command. Meetings appear in attendees' calendars with auto-generated VC links.
Prerequisites
Feishu app permissions (enable in Feishu Open Platform console):
calendar:calendar— Read/write calendarsvc:reserve— Reserve meetingscontact:user.id:readonly— Resolve mobile/email to user IDs
The app must have bot capability enabled.
Configuration
Before first use, set these values in scripts/create.sh:
DEFAULT_OWNER_OPEN_ID— Open ID of the default meeting owner (required)CALENDAR_ID— The bot's primary calendar ID (run the discovery command below)
Discover Calendar ID
# After configuring Feishu appId/appSecret in openclaw.json:
curl -s "https://open.feishu.cn/open-apis/calendar/v4/calendars" \
-H "Authorization: Bearer $TOKEN" | python3 -c "
import json,sys
for c in json.load(sys.stdin)['data']['calendar_list']:
print(f\"{c['calendar_id']} {c['type']} {c['summary']}\")"
Use the primary calendar ID.
Usage
scripts/create.sh "Topic" # Instant (5min from now)
scripts/create.sh "Topic" --start "2026-03-10 14:00" --duration 60 # Scheduled
scripts/create.sh "Topic" --invitee "13800138000" # With invitee
scripts/create.sh "Topic" --invitee "a@b.com" --invitee "138..." # Multiple
scripts/create.sh "Topic" --rrule "FREQ=WEEKLY;BYDAY=WE;COUNT=8" # Recurring
Options
| Flag | Description | Default |
|---|---|---|
--invitee <mobile|email> |
Add invitee (repeatable) | Owner only |
--start <datetime> |
Start time "YYYY-MM-DD HH:MM" |
Now + 5 min |
--duration <min> |
Duration in minutes | 60 |
--rrule <rule> |
RFC 5545 recurrence rule | None |
Positional args after topic are treated as invitees for convenience.
RRULE Examples
| Pattern | RRULE |
|---|---|
| Every Monday | FREQ=WEEKLY;BYDAY=MO;COUNT=52 |
| Every weekday | FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;COUNT=52 |
| Biweekly Wednesday | FREQ=WEEKLY;INTERVAL=2;BYDAY=WE;COUNT=26 |
| Monthly 1st Friday | FREQ=MONTHLY;BYDAY=1FR;COUNT=12 |
| Daily for 5 days | FREQ=DAILY;COUNT=5 |
Important: Feishu requires COUNT or UNTIL in recurrence rules. The script auto-appends COUNT=52 if neither is present.
How It Works
- Gets
tenant_access_tokenfrom Feishu app credentials - Creates a calendar event with
vchat.vc_type: "vc"(auto-generates Feishu VC link) - Resolves invitee mobiles/emails → open_ids via
batch_get_id - Adds attendees to the calendar event (they see it in their Feishu calendar)
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
99991672 |
Missing permission | Enable the required scope in app console |
190002 invalid parameters |
Bad RRULE or timestamp | Ensure RRULE has COUNT/UNTIL; timestamps are Unix seconds |
| Invitee not found | User not in app's visibility scope | Add user to app's contact scope, or share link manually |
121003 param error on reserves API |
Wrong field in payload | Don't pass invitees to /vc/v1/reserves/apply — it doesn't exist |
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!