2.6 KiB
2.6 KiB
Task Events
Prerequisite: Read
../SKILL.mdfirst for theevent consumeessentials (commands, subprocess contract, jq usage).
Key catalog (1)
| EventKey | Purpose |
|---|---|
task.task.update_user_access_v2 |
A visible task has been created, deleted, or updated |
This key uses a Native schema (V2 envelope; output rooted at .event) and carries a PreConsume hook that calls the Task event subscription API before listening.
Scopes & auth
| EventKey | Scope | Auth |
|---|---|---|
task.task.update_user_access_v2 |
task:task:read |
user, bot |
Supports --as user or --as bot.
--as user: receive task updates visible to the current user through authorship, assignment, following, or other access.--as bot: receive task updates for tasks the application is responsible for.
task.task.update_user_access_v2
Subscription behavior
On startup, event consume calls:
POST /open-apis/task/v2/task_v2/task_subscription?user_id_type=open_id
The Task subscription API has no matching unsubscribe endpoint in the current CLI metadata, so graceful exit has no cleanup call for this EventKey. Re-running the consumer repeats the subscribe call for the selected identity.
This EventKey is single-consumer per local bus subscription: start one event consume task.task.update_user_access_v2 process for a given app/profile/identity at a time.
Output fields (V2 envelope; root path .event)
| Field | Type | Description |
|---|---|---|
.header.event_id |
string | Globally unique event ID; safe for deduplication |
.header.create_time |
string (timestamp_ms) | Event creation time in milliseconds |
.event.event_types[] |
string enum | Task commit types included in this event |
.event.task_guid |
string (kind=task_guid) | Task GUID that changed |
Commit types:
task_assignees_update
task_completed_update
task_create
task_deleted
task_desc_update
task_followers_update
task_reminders_update
task_start_due_update
task_summary_update
Example
# Stream task update events for the current user
lark-cli event consume task.task.update_user_access_v2 --as user
# Sample one event for payload inspection
lark-cli event consume task.task.update_user_access_v2 \
--as user --max-events 1 --timeout 2m
# Project to a compact task-update record
lark-cli event consume task.task.update_user_access_v2 \
--as user \
--jq '{event_id: .header.event_id, task_guid: .event.task_guid, event_types: .event.event_types, timestamp: .header.create_time}'
# Consume as the app identity
lark-cli event consume task.task.update_user_access_v2 --as bot