Update account metadata
update-account-metadataChange the definition of a metadata field the account can see, whether it is one of the account's own fields or a
system_reference field provided by fynk.
Use this tool when:
The user asks to rename a metadata field, or to change what it holds
The user asks to start or stop having fynk's AI analyses fill a field in
The user asks to change which document types a field applies to
The user asks to put one of fynk's fields back to how fynk provides it
metadata_uuid comes from list-account-metadata. Send only the arguments that should change; everything left out
keeps its current value. Sending null for description, prompt or keywords clears it.
A field's name and value_type are fixed at creation and this tool cannot change either. To rename a field for
the people using it, change display_name - in Title Case, the way fynk's own fields are named ("Signing Date",
"Contract Value").
fynk's own system_reference fields can be reconfigured per account: the change applies to this account alone and
leaves the field as fynk defines it everywhere else, and putting an argument back to fynk's own value stops
overriding it. fynk's other system field types (system, system_autofilled, system_computed) are maintained
entirely by fynk and cannot be changed at all.
One of fynk's fields that an account has reconfigured reports the arguments it overrides as overridden_fields,
from this tool and from list-account-metadata alike. Send reset_to_fynk_default: true on its own to drop all of
them at once, leaving the account reading the field exactly as fynk provides it; there is no per-argument reset, so
re-send whichever of them are still wanted afterwards.
select_values replaces the whole list of options, which are literally what a user picks from, so write them as
presentable labels: "Net 30", not "net 30". They govern what can be chosen from now on and leave values already
recorded on documents as they are, so prefer adding an option to renaming or removing one. Since the list is
replaced wholesale, send every option that should remain: one left out is one taken away.
Taking away an option that documents already hold is refused until the user has confirmed it. Such a value stays
on its document but can no longer be filtered for. The refusal names the options and how many documents and
templates still use each - then repeat the call with confirmed_removing_options_in_use: true. Send that only in
answer to such a refusal, never as a matter of course. reset_to_fynk_default is covered the same way, since
putting fynk's own options back takes away any the account added to them.
Put the effect to the user in their own terms and ask before going ahead - "removing Net 90 would affect 3 documents that still use it, shall I go ahead?" - rather than quoting the refusal back at them.
prompt and keywords decide whether fynk's AI analyses fill this field in - a prompt puts the field into them,
keywords only assist it and do nothing on their own. So set both together to have a field extracted, and clear
prompt to take a field back out of the analyses and leave it to only be filled in by hand.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | No | What the AI analyses should extract for this field, and what puts the field into them (max 1024 characters). Define what the value is, then qualify it the way fynk's own fields do - what counts, what does not, and what to do when the document is not explicit - over several sentences where that helps. The "Net Rent" field reads: "The net rent for the property, which is the rent excluding any taxes or costs e.g. VAT. It must be explicitly stated in the contract as net rent per month. Derive the currency unit from the parties to the contract if it is not explicitly stated." A single vague line extracts poorly. null takes the field back out of the analyses | |
| keywords | No | Comma-separated keywords that help the AI analyses locate the field in a document (max 1024 characters). List the terms as they would appear in a contract, including synonyms and the equivalents in other languages the account's documents are written in - the "Net Rent" field carries "net rent, netto miete, netto kaltmiete, kaltmiete, nettomiete pro monat". These have no effect without a `prompt`. null clears them | |
| description | No | What the field holds, shown to users configuring it (max 1024 characters). null clears it | |
| display_name | No | New human-readable name shown in the UI, in Title Case (max 255 characters), e.g. "Discount Rate". The field's programmatic name cannot be changed | |
| metadata_uuid | Yes | UUID of the metadata field to update, as reported by list-account-metadata | |
| select_values | No | Replaces the whole list of options a user picks from, written as presentable labels, e.g. ["Net 30", "Net 60"]. Only for "select" and "multi_select" fields | |
| is_contract_value | No | Whether the field counts towards a document's calculated contract value. Only allowed when the field's value_type is "currency" or "currency_duration" | |
| reset_to_fynk_default | No | Send true to drop everything this account has configured on one of fynk's "system_reference" fields, so that it reads the field exactly as fynk provides it. Only true is accepted, only for a field whose overridden_fields are not empty, and only on its own - no other argument may accompany it | |
| relevant_document_type_uuids | No | Replaces the document types the field is meaningful for, as uuids from list-account-document-types. Send null or an empty list to make it meaningful for none; send relevant_for_all_document_types instead to make it meaningful for every one | |
| relevant_for_all_document_types | No | Send true to make the field meaningful for every document type, including any added later. Only true is accepted, and not together with relevant_document_type_uuids | |
| confirmed_removing_options_in_use | No | Send true only once the user has confirmed - in answer to the refusal that named them - that select options this account's documents already hold should be taken away. A change that takes no such option away refuses it, so never send it as a matter of course |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Internal name of the metadata field | |
| type | No | The type of the metadata field, which defines where its value comes from. account: Custom metadata fields that are specific to your account system_reference: Pre-defined useful metadata fields provided by fynk system_autofilled: Fields that are automatically filled by the system in response to events, like "Signing completion date" system_computed: Fields that are calculated by the system based on other metadata values. e.g. "Signing duration" is the difference between "Signing date" and "Signed date" system: Other system-provided metadata fields | |
| uuid | No | Do not show to the user unless they ask for it | |
| settings | No | Extra configuration for the field. Not present means there is nothing to restrict | |
| value_type | No | Controls the kinds of values that can be assigned to the metadata | |
| _entity_type | No | Only relevant for tooling. Do not show to the user | |
| display_name | No | Human-readable name of the metadata field | |
| select_values | No | When value_type is "select" or "multi_select", defines the allowed values. For these types of metadata, ONLY these values are possible. Absent for every other value type | |
| is_contract_value | No | Whether this field counts towards a document's calculated contract value. Only meaningful when value_type is "currency" or "currency_duration" | |
| overridden_fields | No | Only for a "system_reference" field the account has configured differently to how fynk provides it, and absent otherwise: the update-account-metadata arguments it has changed, e.g. ["display_name", "select_values"]. Send reset_to_fynk_default to that tool to put all of them back | |
| relevant_document_types | No | Names of the document types this field is meaningful for. Empty together with relevant_for_all_document_types false means the field is not in use for any document type, so charting it will likely produce no data | |
| relevant_for_all_document_types | No | When true, the field is meaningful for every document type and relevant_document_types is empty |