add_table_columns
Add columns to an existing table.
Args: table_id: The table id (e.g. “dtbl_abc123”) columns: JSON array of {name, key, data_type, config, is_required} — same shape as create_table’s columns.
Returns: The table’s updated schema, same shape as get_table.
Parameters#
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
table_id | string | yes | The table id (e.g. “dtbl_abc123”) | |
columns | array | yes | Array of {name, key, data_type, config, is_required}. Set is_required: true for mandatory values (not required). For select/multi_select, use config: {“options”: [{“value”: “Open”}]}, not top-level options. Explicit keys are used by row payloads. Unknown column fields are rejected. JSON-encoded arrays are also accepted. Column types (data_type): Text: text = any string; email = an email address string; url = a URL string Number: number = a number (write 0.12 for 12%, 1999.5 for $1,999.50). Display via config: {“format”: “currency”, “currency”: “EUR”} | {“format”: “percent”}, {“precision”: 0-10}; auto_number = assigned 1, 2, 3… when a new row omits it; write a number only to keep an existing id Date & time: date = a date; write YYYY-MM-DD, reads back YYYY-MM-DD; datetime = a timestamp; write ISO 8601 with a UTC offset, reads back ISO 8601 Choice: boolean = true or false; select = one option label; choices go in config: {“options”: [{“value”: “Open”}]}; multi_select = a list of option labels; choices go in config: {“options”: […]} Relations & files: linked_record = row ids from the linked table (config: {“linked_table_id”: “dtbl_…”}); people = organization member ids; media = an ordered list of org workspace image/video file ids (memfile_…) or /org/ paths |
Generated by generate_mcp_docs from the server tool. Add to this page below this block; the block is rewritten on every run.