Command dictionary
In Edit on a metasheet, open an option’s value (Space). Rows are fields, not a JSON blob.
| Name | Required | Meaning |
cmd | Yes | The command id from the tables below. |
kind | No | cmd (default, ribbon / runCmd), profile, picker, or header (field ☰). |
key | No | One-letter hotkey while that menu is open. |
tone | No | Insert swatch: table, dict, list, grid, pivot. |
disabled | No | true — greyed out. Ribbon cmds refresh this from the live sheet. |
stub | No | true — advertised but not implemented. |
danger | No | true — destructive styling (Sign out). |
detail | No | Short secondary label on the row. |
icon | No | Short icon (profile / field menus). |
pick | No | Extra payload for field commands (format code, principal, …). |
principal | No | Access principal id (field Access). |
valKey | No | Filter value key (field Filter). |
toggle | No | true — stays open after click (field checkboxes). |
text | No | true — the row is an in-place text field (filter query). |
A nested menu is a dictionary that does not have a cmd (or id) row. Labels you see in the menu are the parent dictionary’s names — not the cmd string.
Ribbon · Insert kind cmd
cmd | Default label | What it does |
table | Table | Insert a nested table. On a grid, a multi-cell selection is moved into that table (one record per row, one field per column, generated headers). A single cell still inserts an empty table. |
dictionary | Dictionary | Insert a named-field dictionary. On a grid, a multi-cell selection is moved in: two columns become Name/Value rows; a two-row range that is not two columns becomes one entry per column; any other shape stores each cell as Field 1…. |
list | Field | Insert a field (numbered values). On a grid, a multi-cell selection is moved in row by row (left to right). |
grid | Grid | Insert a nested grid. |
checkbox | Checkbox | Boolean cell; Space toggles. |
image | File… | File cell (image, PDF, …). |
file | — | Same as File… (alias). |
button | Button | Clickable cell. Push data appends/writes; also query refresh, URL, email, recalc. |
pivot | Pivot table | Pivot beside the current table. |
chart | Chart | Insert a nested bar/line/pie chart beside the source. |
chartbar chartline chartpie | Bar / Line / Pie | Chart tab — set kind. |
chartrefresh | Refresh | Rebuild series from source. |
chartgosource | Go to source | Jump to the table or formula cell. |
Ribbon · Formulas
cmd | Default label | What it does |
fnlib | Library | Function library. |
names | Defined names | Create/remove #name pointers. |
calc | Calculation: Auto/Manual | Toggle recalc mode. |
refresh | Recalc all | Full invalidate (F9). |
fnsec_math | Math | Library filtered to that catalog section. |
fnsec_stat | Statistical | |
fnsec_date | Date & time | |
fnsec_logic | Logical | |
fnsec_lookup | Lookup | |
fnsec_array | Array | |
fnsec_lambda | Lambda | |
fnsec_text | Text | |
fnsec_info | Information | |
Any fnsec_<categoryId> opens the library for that section. Unknown ids toast “No functions in that section”.
Ribbon · Queries
cmd | Default label | What it does |
querymanage | Manage… | List / edit / delete queries. |
querynew | From API… | GET a URL into the selected cell; optionally save as a query. |
queryrefresh | Refresh | Re-fetch the query for this cell. |
queryrefreshall | Refresh all | Re-fetch every saved query. |
importapi | — | Alias of From API… |
Ribbon · Data
cmd | Default label | What it does |
sortasc | Sort A→Z | Sort the current table or list. |
sortdesc | Sort Z→A | |
filter | Filters | Criteria dialog. |
validate | Validation… | Allowed values / types. |
find | Find | Search the tree (Ctrl+F). |
replace | Replace | Replace in the current structure. |
getdata | Sample table | Demo Region/Units/Revenue table. |
biggrid | Load 5k-row grid | Virtualization demo. |
importlocal | Local file… | Import a file into the selection / workbook. |
import | — | Alias of Local file… |
importfolder | Shared folder… | Pick from a shared folder. |
exportjson | Download JSON | Export metagrid-v2. |
export | — | Alias of Download JSON. |
exportemail | Email… | Send the workbook JSON. |
copylink | Copy app link | Copy the app URL. |
share | — | Alias of Copy app link. |
Ribbon · Access
cmd | Default label | What it does |
accessusers | Users | Workbook roster. |
accessgroups | Groups | Named groups, including subgroups. |
accessperms | Permissions | Who may view / edit / grant. |
access | Access… | Permissions for the current structure (also on Structure). |
viewas | View as… | Preview as another principal. |
Ribbon · Structure
The Structure tab changes with cur.type. These cmds still work from any customized menu.
cmd | On | What it does |
gridcleanup | Grid | Used range → table or dictionary. |
transpose | Table | Fields ↔ records. |
showfields | Table | Hide fields without deleting them. |
toggletotals | Table | Total record on/off. |
lockheaders | Table | Share nested field formulas. |
tolist | Table | Convert to list (one field). |
todictionary | Table / list | Convert to dictionary (one record, or named list). |
totable | Field | Convert to table. |
totablepairs | Dictionary | Name/Value table. |
tonumberedlist | Dictionary | Convert to a field. |
tonamedlist | — | Legacy alias of dictionary conversion. |
namedlist | — | Legacy alias of insert dictionary. |
pivotgosource | Pivot | Jump to the source table. |
pivotrefresh | Pivot | Rebuild from source. |
pivotfields | Pivot | Field list pane. |
pivotaddgroup | Pivot | Add a group field. |
pivotremovegroup | Pivot | Remove a group field. |
pivotaddvalue | Pivot | Add a value field. |
pivotremovevalue | Pivot | Remove a value field. |
pivotaddfilter | Pivot | Add a pivot filter. |
pivotclearfilters | Pivot | Clear pivot filters. |
Profile kind profile
Set kind to profile. These ids are not passed to runCmd unless noted.
cmd | Default label | What it does |
sheets | My sheets | Cloud workbook list (signed in). |
signin | Sign in… | Auth dialog. |
signout | Sign out | Sign out (danger). |
menus | Menus… | Open the full menu catalog. Also a cmd id. |
identities | Addresses… | Settings → Sending addresses (linked emails and phones for /EMAIL / /TEXT). |
prefs | Settings… | Settings. Also a cmd id. |
protect | Protect sheet | Local read-only. Also a cmd id. |
viewas | View as… | Same as Access → View as. Also a cmd id. |
help | Keyboard shortcuts | Help overlay. Also a cmd id. |
Empty-cell picker kind picker
cmd | Default label | What it does |
fromlist | From a list… | Point at a list or column to fill this cell. |
grid | Grid | Insert grid and drill in. |
table | Table | Insert table and drill in. |
list | Field | Insert a field and drill in. |
namedlist | Dictionary | Insert dictionary and drill in. |
Sheet commands you can pin
These run through kind: cmd even though they are not on the default ribbon. Keyboard and gutters already do most of them.
cmd | What it does |
copy cut paste pastevalues | Clipboard. |
filldown fillright | Fill. |
selectall | Select all. |
insrow inscol delrow delcol delcell | Insert / delete geometry. |
undo redo | History. |
rename | Start editing the current name/header. |
uuid | Toast the structure id and cell key (debug). |
fmtgeneral fmtnumber fmtcurrency fmtpercent fmtsci | Number formats. |
fmtdecinc fmtdecdec fmtcomma | Decimals / comma style. |
fmtdate fmtdateiso fmtdatelong fmtdatetime fmttime fmttext fmtclear | Date/text formats. |
Field ☰ kind header
Field menus rebuild from the current field — they are not saved with your customized ribbon. kind must be header. Several ids take extra rows (pick, principal, valKey).
cmd | Role |
filter sort validate format | Open those submenus. |
clear-filter | Clear the field filter. |
sort-asc sort-desc | Sort this field. |
hide-field unique-id total-agg | Field visibility / id / totals aggregate. |
list-from-col | Create a list from this field’s values (placed before the table). |
fit fit-auto fit-name fit-manual | Column fit. |
access-see access-edit access-manage access-toggle | Field Access. |
fmt | Apply a format; pick is the code (General, number, currency, percent, scientific, text, date, dateiso, datelong, datetime, time, clear). |
fmt-number fmt-date fmt-font fmt-align fmt-cond | Format submenus. |
fmt-bold fmt-italic fmt-wrap fmt-family fmt-size-inc fmt-size-dec | Font. |
fmt-align-pick | Alignment; pick is left / center / right / empty for default. |
fmt-scale | Color scale; pick is gr or rg. |
fmt-dups fmt-cond-clear | Duplicates / clear conditional formatting. |
fmt-dec-inc fmt-dec-dec fmt-comma | Number submenu. |
op q select-all add-to-filter val apply | Filter builder. |
value structure file toggles-menu list | Type picker. |
pick-value pick-struct pick-file nav-list | Type details. |
linked fxlinked blank strict | Validation toggles. |
pick-total-agg | Total aggregate; pick is sum / avg / min / max / append. |
Where this is stored
Customized ribbon and profile menus persist in localStorage key metagrid:metasheet-v2 as nested JSON objects. Field ☰ and the empty-cell picker always rebuild live. Reset on the metasheet restores the built-in trees.