← All tools

Tables

User-defined record types with typed fields, for the things that are genuinely rows rather than prose.

4Tools
12Parameters
2026-09-03Generated

muninn_table_define

Writes 3 parameters

Declare a table (a kind of thing you want to track — Staff, Sources, Clients) and the fields its records share. Re-calling with the same slug UPDATES the definition: fields you pass replace the current set, so send the whole list, not a delta. Field `key` is permanent and is what record values are stored under; `label` is what a human sees and can be renamed freely. Mark a field private:true to keep it out of the grid, out of csv/xlsx export, and out of any team-shared view — private values never leave the encrypted record body. Field types: text, textarea, number, date, select, multi-select, checkbox, nested-table. Use `textarea` for anything that runs to more than a line — notes, a description, an address, a bio: it stores exactly like `text` and tells the app to give it a multi-line box instead of a single-line input.

ParameterTypeRequiredDescription
tableSlug string Required Stable identifier, e.g. 'bui-staff'. Permanent — this is how records are filed.
title string Required Human-readable name, e.g. 'Staff'. Renameable.
fields object[] Required The full field list, in display order. Replaces any existing definition.

muninn_table_list

Read only 0 parameters

List every table you have declared, with its fields and how many records each holds. Counts are top-level records only — entries in a nested table are not counted as records of the parent table. Use this before adding a record, to check the table exists and to see what fields it expects.

muninn_table_record_add

Writes 6 parameters

Add a record to a table. `values` is keyed by field key (see muninn_table_list). Pass parentRecordId to file this as an entry in the nested table under an existing record — that is how a running log lives under a standing profile. Nesting is capped at one level: a record may hold a nested table, a nested record may not. Returns {recordId} — the record's memory id, which muninn_memory_get and muninn_memory_update accept.

ParameterTypeRequiredDescription
tableSlug string Required Which table to file this record into. Must already be declared.
values object Required Field values keyed by field key, e.g. {"role":"Engineer","status":"active"}. Unknown keys are rejected.
parentRecordId string Memory id of the parent record. Set this to add an entry to that record's nested table (a log entry under a profile).
tags string[] default [] Optional tags. Filing into a table is NOT a tag — it is structural — so no table tag is added for you.
project string Project slug to scope this record.
occurredAt string ISO 8601 datetime of when this actually happened, if not now. Useful for backfilling log entries.

muninn_table_records_list

Read only 3 parameters

List the records in a table, in order. Pass parentRecordId instead to list the nested table under one record (its log). By default returns ids and positions only — cheap, no record bodies read. Pass resolve:true to also return each record's field values; private fields are excluded from resolved values.

ParameterTypeRequiredDescription
tableSlug string List the top-level records of this table.
parentRecordId string List the nested table under this record instead. Takes precedence over tableSlug.
resolve boolean default false true = also read each record body and return its field values (private fields excluded).

← Back to all 70 tools