Feishu CLI Calendar & Scheduling

View your daily agenda, create events with attendees, query free/busy status across team members, and get AI-powered optimal meeting time suggestions.

Calendar Management from the Terminal

The Feishu CLI calendar module provides 4 shortcut commands for complete calendar management. View your daily agenda, create events with attendees, query free/busy status across team members, and get AI-powered optimal meeting time suggestions. These shortcuts wrap the Lark Open Platform Calendar API and support both user and bot identities.

+agenda — View Your Calendar Agenda

Display your upcoming events for today or a custom date range. By default, +agenda shows today’s events. The output includes event title, time, attendees, and status.

# View today's agenda (default) $ lark-cli calendar +agenda
# View agenda for a specific week $ lark-cli calendar +agenda --start "2026-04-01" --end "2026-04-07"
# View agenda for a specific calendar $ lark-cli calendar +agenda --calendar-id "primary"

Parameters

ParameterDescription
--startStart date or datetime (defaults to today)
--endEnd date or datetime (defaults to end of today)
--calendar-idTarget calendar ID (defaults to primary)

Output Fields

Each event in the output includes: event title, start/end time, attendees (names and response status), location, and organizer. All-day events are shown separately from timed events.

+create — Create Calendar Events

Create events with a summary, time range, attendees, description, and recurrence rules. The --start and --end parameters are required.

# Create a simple one-hour event $ lark-cli calendar +create --summary "Sprint Planning" --start "2026-04-01T09:00" --end "2026-04-01T10:00"
# Create an event with attendees $ lark-cli calendar +create --summary "Design Review" --start "2026-04-02T14:00" --end "2026-04-02T15:00" --attendee-ids "ou_xxx,ou_yyy"
# Create an event with a description $ lark-cli calendar +create --summary "Quarterly Review" --start "2026-04-05T10:00" --end "2026-04-05T11:30" --description "Review Q1 metrics and set Q2 targets"
# Create a weekly recurring event (4 occurrences) $ lark-cli calendar +create --summary "Weekly Standup" --start "2026-04-01T09:00" --end "2026-04-01T09:30" --rrule "FREQ=WEEKLY;COUNT=4"

Parameters

ParameterDescriptionRequired
--summaryEvent titleYes
--startStart date or datetime (ISO 8601)Yes
--endEnd date or datetime (ISO 8601)Yes
--attendee-idsComma-separated user IDs to inviteNo
--descriptionEvent description or notesNo
--rruleiCalendar recurrence rule (RFC 5545)No

+freebusy — Check Availability

Query the free/busy status of one or more users for a given time range. Essential for finding available slots before scheduling meetings.

# Check a user's availability for a full day $ lark-cli calendar +freebusy --user-id "ou_xxx" --start "2026-04-01" --end "2026-04-02"
# Check availability for a specific time window $ lark-cli calendar +freebusy --user-id "ou_xxx" --start "2026-04-01T09:00" --end "2026-04-01T17:00"

Parameters

ParameterDescription
--user-idUser ID to check availability for
--startStart of the time range
--endEnd of the time range

The output shows busy time blocks within the queried range, making it easy to identify open slots for scheduling.

+suggestion — AI-Powered Meeting Time Recommendations

Get intelligent meeting time suggestions based on attendee calendars. The AI analyzes availability across all participants and recommends optimal slots.

# Get AI-powered time suggestions $ lark-cli calendar +suggestion

This shortcut leverages Feishu’s AI scheduling engine to recommend times when all attendees are available, accounting for timezone differences and working hours preferences.

Lower-Level Calendar API Access

Beyond shortcuts, you can access the full Calendar API directly for advanced use cases. These commands map directly to the Lark Open Platform Calendar API endpoints.

# List all calendars $ lark-cli calendar calendars list
# View event instances with raw API parameters $ lark-cli calendar events instance_view --params '{"calendar_id":"primary","start_time":"1711929600","end_time":"1712016000"}'
# Inspect the schema for a calendar API endpoint $ lark-cli schema calendar.events.instance_view

Use lark-cli schema to explore the full parameter set for any API endpoint before calling it directly.

Required Scopes & Identity

Calendar commands require specific OAuth scopes depending on the operation. Both user and bot identities are supported for most commands.

OperationRequired ScopeIdentity
View agenda / list eventscalendar:calendar:readonlyUser, Bot
Create eventscalendar:calendarUser, Bot
Check free/busycalendar:calendar:readonlyUser, Bot
Time suggestionscalendar:calendar:readonlyUser

Ensure your app has the required scopes enabled in the Lark Open Platform developer console before using these commands.

Common Calendar Workflows

Cross-Timezone Scheduling

When scheduling across time zones, combine +freebusy with +suggestion to find slots that work for distributed teams. Feishu CLI handles timezone conversion automatically based on each user’s configured timezone.

# Check availability across time zones, then create the event $ lark-cli calendar +freebusy --user-id "ou_xxx" --start "2026-04-01" --end "2026-04-02" $ lark-cli calendar +create --summary "Cross-team Sync" --start "2026-04-01T22:00" --end "2026-04-01T23:00" --attendee-ids "ou_xxx,ou_yyy"

Automated Standup Reports

Combine calendar data with messaging to generate automated daily standup summaries. Use +agenda to pull today’s events, then pipe the output to the messaging module to post in your team channel.

Meeting Room Booking

Use the lower-level API to query meeting room calendars and create bookings. Meeting rooms are represented as calendar resources in the Lark platform.

All Calendar Shortcut Commands

ShortcutDescriptionRiskKey Parameters
+agendaView calendar agenda for a date rangeSafe--start, --end, --calendar-id
+createCreate a new calendar eventMedium--summary, --start, --end, --attendee-ids, --rrule
+freebusyQuery free/busy statusSafe--user-id, --start, --end
+suggestionAI-powered meeting time suggestionsSafe(interactive)

Related Feishu CLI Guides