Lists the custom fields the workspace defined for its accounts, in their order: name, slug (the key of the value in each account's custom_fields), type (text, number, select, multiselect, date, daterange, checkbox, user, rating, progress, files…), options of selects, required flag, help text, group and visibility in the table and the drawer. Up to 100 fields. Read the values of one account with child_orgs.custom_fields.get_values.
Scope
child_orgs:read
Permission
View the module
MCP tool
child_orgs_custom_fields_listOn the full surface; on the compact one, mb_execute_operation with id: "child_orgs.custom_fields.list".
Declared cost: up to 201 reads and 0 writes per call (they count against the daily quota).
Defines a custom field for the workspace's accounts, at the end of the order: name, type, options for select and multiselect, required flag, default value, help text, group and visibility in the table and the drawer. The slug (lowercase letters, digits and underscores) is derived from the name unless given and must be unique in the workspace (custom_field_slug_taken, 409); up to 100 fields (limit_reached, 409, details.resource account_custom_fields). Owners and admins. Returns the field.
Scope
child_orgs:write
Permission
Edit in the module · Only owner, admin
MCP tool
child_orgs_custom_fields_createOn the full surface; on the compact one, mb_execute_operation with id: "child_orgs.custom_fields.create".
Declared cost: up to 2 reads and 1 writes per call (they count against the daily quota).
Parameters
namestringbodyrequired
The field's name as the app shows it (up to 80 characters).
typeenumbodyrequired
The kind of value: text, longtext, number, currency (an amount), currency_code (an ISO 4217 code; currencyCode is accepted too), country, date, datetime, daterange, select or multiselect (with options), url, email, phone, checkbox, user or member (one member of the workspace or the account: the field holds their uid; the two are the same), members (a list of members' uids), rating, progress or files.
The key of the value in each account's custom_fields (lowercase letters, digits and underscores; derived from the name when absent). It cannot change later.
optionsarray<object>bodyoptional
For select and multiselect: the choices (up to 100), each with value, label and an optional color.
is_requiredbooleanbodyoptional
Whether the app marks the field as required.
default_valueanybodyoptional
The value a new account gets (up to 2 KB, of the field's type).
help_textstringbodyoptional
A hint shown under the field (up to 300 characters).
group_namestringbodyoptional
The group the field is shown in, in the account's profile (up to 60 characters).
Changes the name, options, required flag, default value, help text, group, visibility or order of an account custom field; null clears the help text, the group or the default value. The slug and the type do not change (the stored values depend on them). Fields not sent keep their value. Owners and admins. Returns the field.
Scope
child_orgs:write
Permission
Edit in the module · Only owner, admin
MCP tool
child_orgs_custom_fields_updateOn the full surface; on the compact one, mb_execute_operation with id: "child_orgs.custom_fields.update".
Declared cost: up to 1 reads and 1 writes per call (they count against the daily quota).
Parameters
field_idstringpathrequired
Custom field definition id (from child_orgs.custom_fields.list).
namestringbodyoptional
The field's name as the app shows it (up to 80 characters).
optionsarray<object>bodyoptional
For select and multiselect: the choices (up to 100), each with value, label and an optional color. Replaces the whole list.
is_requiredbooleanbodyoptional
Whether the app marks the field as required.
default_valueany | nullbodyoptional
The value a new account gets (up to 2 KB, of the field's type). null removes it.
help_textstring | nullbodyoptional
A hint shown under the field (up to 300 characters). null removes it.
group_namestring | nullbodyoptional
The group the field is shown in, in the account's profile (up to 60 characters). null removes it.
show_in_tablebooleanbodyoptional
Whether the Accounts table shows it as a column.
show_in_drawerbooleanbodyoptional
Whether the account's side panel shows it.
orderintegerbodyoptional
Its position among the account fields (0 = the first); child_orgs.custom_fields.reorder sets the whole order at once.
Deletes the definition of an account custom field. The values the accounts stored under its slug are kept and simply stop being shown; the definition stays 30 days in the trash and, restored, shows them again. Owners and admins. Outside the app it needs a dry run and a confirm_token, except a REST DELETE with a key allowed to delete.
With an API key, this DELETE runs directly: the record stays 30 days in the trash and the response carries its trash_item_id. With an OAuth token, and through the MCP, it needs dry_run → confirm_token.
Scope
child_orgs:writeand “Allow deletions” (child_orgs:delete in OAuth)
Permission
Edit in the module · Only owner, admin
MCP tool
child_orgs_custom_fields_deleteOn the full surface; on the compact one, mb_execute_operation with id: "child_orgs.custom_fields.delete".
Declared cost: up to 1 reads and 1 writes per call (they count against the daily quota).
Parameters
field_idstringpathrequired
Custom field definition id (from child_orgs.custom_fields.list).
Response
oktrue
trash_item_idstring
The trash item this deletion left: the item_id of platform.trash.restore (POST /trash/{item_id}/restore). Missing if nothing went to the trash.
trash_item_idsarray<string>
Only when the deletion left more than one copy: all of them, the first being trash_item_id.
trash_expires_atnumber
When the copy leaves the trash for good (epoch ms): 30 days after the deletion.
Sets the order of the account custom fields, shared by everyone in the workspace (columns of the Accounts table and the account drawer): the ids sent go first, in that order; the fields not sent keep their relative order after them. Unknown ids are refused. Owners and admins. Returns every field id with its new position.
Scope
child_orgs:write
Permission
Edit in the module · Only owner, admin
MCP tool
child_orgs_custom_fields_reorderOn the full surface; on the compact one, mb_execute_operation with id: "child_orgs.custom_fields.reorder".
Declared cost: up to 200 reads and 200 writes per call (they count against the daily quota).
Parameters
ordered_idsarray<string>bodyrequired
Field ids in the new order. Fields not listed keep their relative order after these.
Returns the values of the account custom fields stored in one account, keyed by slug (only fields defined today; empty fields are absent). Value formats: text as strings, numbers, timestamps in milliseconds for dates, { from, to } for date ranges, option values for selects, member uids for people, and the uploaded files' metadata for files fields. Needs to see the account (members only see their assigned ones).
Scope
child_orgs:read
Permission
View the module
MCP tool
child_orgs_custom_fields_get_valuesOn the full surface; on the compact one, mb_execute_operation with id: "child_orgs.custom_fields.get_values".
Declared cost: up to 201 reads and 0 writes per call (they count against the daily quota).
Parameters
account_idstringpathrequired
Account id: a child organization of this workspace (the ids of platform.orgs.list).
Writes custom field values of one account, keyed by slug (child_orgs.custom_fields.list). By default only the fields sent change and null clears one; with replace: true the account keeps exactly the fields sent. Each new value is validated against its field's type (custom_field_invalid; custom_field_unknown for a slug that does not exist): text, numbers, timestamps in milliseconds for dates, { from, to } for date ranges, option values for selects, uids of workspace members for people, 0–5 for rating and 0–100 for progress. Files are uploaded in the app (custom_field_not_writable). Owners, admins and members, on accounts they can see. Returns the stored values and the slugs that changed.
Scope
child_orgs:write
Permission
Edit in the module · Only owner, admin, member
MCP tool
child_orgs_custom_fields_set_valuesOn the full surface; on the compact one, mb_execute_operation with id: "child_orgs.custom_fields.set_values".
Declared cost: up to 202 reads and 1 writes per call (they count against the daily quota).
Parameters
account_idstringpathrequired
Account id: a child organization of this workspace (the ids of platform.orgs.list).
custom_fieldsobjectbodyrequired
Values keyed by field slug; null clears a field.
replacebooleanbodyoptional
true: the account keeps exactly the fields sent (the rest are cleared). Default false: only the fields sent change.