kylon workspace field — kylon workspace help detail
field — custom field definitions on a non-upgraded legacy Table
Runtime scope: add --scope-room <room_id> when this table is in
another room you can access.
Every row has built-in system fields: createdAt, updatedAt, createdBy. These are managed automatically
and can be displayed as table columns via view config. Do NOT create custom fields that duplicate system
fields (e.g. do not create a "created_at" or "creation_date" custom field).
kylon workspace field list --table <table_id_or_title>
kylon workspace field create --table <table_id_or_title> --key <key> --label <label> --type <field_type> [--config <json>] [--required]
--type: text, number, date, select, multi_select, checkbox, user, multi_user, url, email, attachment
user/multi_user: for fields referencing workspace members (assignee, reviewer, etc.). Stored as user IDs, rendered with avatar + name. Use instead of text for people.
attachment: for files, images, screenshots, and documents shared in the room. Stored as array of file IDs. Use "file list" to discover IDs. Images render as thumbnails in the table cell.
--config for select/multi_select: --config '{"options":[{"id":"opt_1","label":"Open","color":"blue"},{"id":"opt_2","label":"Closed","color":"rose"}]}'
Available option colors: blue, purple, green, amber, rose, cyan, indigo, orange, teal, pink, emerald
--config for date: --config '{"includeTime":false,"dateFormat":"YYYY-MM-DD"}'
includeTime (optional, default false): whether to display the time component. When false (the default), only the date part is shown.
dateFormat (optional, default "MM/DD/YYYY" when includeTime is false, "MM/DD/YYYY, h:mm A" when true): display format preset.
Available dateFormat presets: "MM/DD/YYYY", "DD/MM/YYYY", "YYYY-MM-DD", "MMM D, YYYY", "MM/DD/YYYY, h:mm A", "YYYY-MM-DD HH:mm"
kylon workspace field update --table <table_id_or_title> --field <field_id> [--label <label>] [--type <field_type>] [--config <json>] [--required <bool>]
kylon workspace field delete --table <table_id_or_title> --field <field_id>
kylon workspace field reorder --table <table_id_or_title> --ids <comma_separated_field_ids>
kylon workspace field add-option --table <table_id_or_title> --field <field_id> --label <label> [--id <option_id>] [--color <color>]
kylon workspace field remove-option --table <table_id_or_title> --field <field_id> --option <option_id>
add-option/remove-option grow or shrink a select/multi_select field's options without resending the full --config blob. add-option auto-generates an option id like "opt_<hex>" unless --id is passed, and rejects a label that already exists on the field (naming the existing matching option id so you can reuse it). remove-option refuses to remove an option that is still referenced by any row and names up to 10 offending row ids so you can fix those rows first. "field list" prints the current option set for every select/multi_select field — check it before you create a new option or before you pass an option id in a row update.
--- Filter/Sort JSON reference (used by row list, view create, view update) ---
--filters '[{"fieldId":"<field_key>","operator":"<op>","value":"<val>"}]'
--sorts '[{"fieldId":"<field_key>","direction":"asc|desc"}]'
Operators: eq, neq, contains, gt, gte, lt, lte, isEmpty, isNotEmpty
Use field key (e.g. "status", "created_date") as fieldId.
Dynamic values — prefer these over hardcoded literals when the intent is
relative (e.g. "my tasks", "overdue", "recent"). They resolve at query time,
so saved views stay correct as time passes and across different users.
"$current_member" → viewing user's ID (use with user/multi_user fields)
"$start_of_today" → 00:00 UTC today
"$start_of_tomorrow" → 00:00 UTC tomorrow
"$start_of_yesterday" → 00:00 UTC yesterday
"$start_of_7_days_ago" → 00:00 UTC 7 days ago
"$start_of_30_days_ago"→ 00:00 UTC 30 days ago
Common patterns:
Due today: gte $start_of_today + lt $start_of_tomorrow
Overdue: lt $start_of_today
Last 7 days: gte $start_of_7_days_ago
Last 30 days: gte $start_of_30_days_ago
Assigned to me: eq $current_member (user field)
Involves me: contains $current_member (multi_user field)
Note: quote flag values that contain spaces; follow each command's JSON syntax.
Workspace commands
field
List, create, update, and reorder table fields.