Install
openclaw skills install feishu-meetingCreate 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, 开会, 预约会议, 发起会议, 创建周期性会议, 飞书会议.
openclaw skills install feishu-meetingCreate Feishu video meetings with one command. Meetings appear in attendees' calendars with auto-generated VC links.
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 IDsThe app must have bot capability enabled.
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)# 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.
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
| 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.
| 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.
tenant_access_token from Feishu app credentialsvchat.vc_type: "vc" (auto-generates Feishu VC link)batch_get_id| 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 |