After loading the workflow, resolve the references/、scripts/、templates/、examples/ relative paths according to that
workflow.md directory; when executing scripts, use the resolved actual paths, do not rely on the current shell directory.
Routing
| Intent | Read file |
|---|---|
| Event query (agenda / event-search), event create/delete/update and recurring events, participants and meeting rooms, busy/free / smart time slots / meeting room search, accept/reject invitations, event sharing and transferring organizer | references/workflows/calendar/workflow.md |
| Tasks, subtasks and parent tasks, members, reminders, comments, attachments, sections, my/related tasks, task search, task lists | references/workflows/task/workflow.md |
| Approval definitions, instances (initiate/withdraw/cc/initiated by me), tasks (to-do query, approve/reject/forward/return/add approvers/urge) | references/workflows/approval/workflow.md |
| Clock-in records and attendance statistics | references/workflows/attendance/workflow.md |
| OKR cycles, objective/key result creation and updates, progress, comments; quantitative metrics go through api passthrough | references/workflows/okr/workflow.md |
Execution rules
- For operations that affect others or are irreversible (inviting participants, approval actions, OKR writes, transferring organizer, deletion), show the target and key parameters before execution,
if possible
--dry-runpreview first, and execute only after user confirmation; in non-interactive environments, commands that require confirmation without--yeswill exit with exit 10 and will not execute. - Identity:
task my|search|related、Allapproval commands,calendar rsvp|event-reply、okr comment createmust use User Token; calendar and task write commands--asdefault to auto (if logged in, it is the user's own identity; previous versions defaulted to Bot); the OKR command group defaults to--as bot; others follow each workflow's instructions. - For modifying/deleting recurring events, first have the user confirm the scope (
--apply-to single|all|this-and-following), do not default on the user's behalf;all/this-and-followingrequires--yes。event-transferis irreversible, recurring events also require--transfer-series。 - To see the schedule for a certain period, use
calendar agenda(expands recurring events, filters canceled ones), do not uselist-events; for meetings without an explicit time, firstcalendar suggestionthen for the selected time slotroom-find。 - The time format follows the command help: calendar time points preferably use RFC3339 with timezone; the CLI cannot create all-day events (
YYYY-MM-DDwill become a time slot at 00:00 that day);suggestion/room-findonly accepts RFC3339; attendance dates only useYYYY-MM-DD/YYYYMMDD; task--duea pure date is 00:00 that day. - Approval
task query/instance initiatedandtask relatedare sparse pagination: an empty page or less than one page does not mean there is no data, usehas_moreas the standard, if complete results are needed use--page-all; approvalcountis not the total count. - Adding/removing tasks from a task list uses
task-add/task-remove, there is noadd-task/remove-task。
When delete/overwrite-type commands return exit code 10, after confirming the target and impact with the user, append the global --yes and rerun, do not add it yourself. For identity or scope errors (such as 99991663/99991668/99991672/99991679), read ../feishu-cli-platform/references/workflows/auth/references/identity.md; to determine success or failure, write scripts, or handle confirmation gates, read ../feishu-cli-platform/references/workflows/auth/references/agent-contract.md。