Skip to main content
Glama

Update workspace settings

update_workspace
DestructiveIdempotent

Admin PATCH; omitted/unchanged fields stay. Name/framework: finalize_workspace_setup. default_currency is locked while Fixed rates exist (remove via set_exchange_rates). Recorder/notice/domain-join switches, read_scope_by_role (own | team | all per role; admins see all) and autonomy_by_role (manage_approvals action:"autonomy" shows the evidence) need confirm:true; otherwise preview. Returns settings and changed keys. lead_notifications (send alone): read returns rule/version, members, fields, status; configure uses expected_version (null if absent) and confirm:true. source_filter:null matches all new leads, else exact match. Recipients: owner, members (max20 IDs), or inbox (recipient_email). Empty IDs except members; null email except inbox. message_field_key:null omits message. Internal, default off, no backfill. /developers#website-enquiries.

When to use: An admin changes workspace preferences, access, automation or internal lead alerts.

Example: Set our timezone to Europe/Stockholm.

Input Schema

NameRequiredDescriptionDefault
flagsNoWorkspace capability flags.
confirmNoApply posture/notification changes; false or omitted previews without writing.
logo_urlNoWorkspace logo as an http(s) URL; null clears it.
timezoneNoIANA timezone, e.g. Europe/Stockholm.
date_formatNoDate format; null restores Automatic (MM/DD/YYYY).
autonomy_by_roleNoPer role (admin, manager, member) and source (assistant: a direct write; conversation: a review of pasted text; call, email, meeting, linkedin, sms, other: a review of that stored conversation): commit (default) | review (assistant only: propose → review first) | queue (held for an admin).
currency_displayNoMoney display; null defaults to symbol.
default_currencyNoSupported ISO 4217 code. Locked while Fixed exchange rates exist.
recorder_enabledNoEnable recording across member calendars; needs confirm:true.
allow_domain_joinNoAllow organisational-domain colleagues to join without invitation; needs confirm:true.
deal_value_metricNoProduct value time basis; does not rewrite existing amounts.
lead_notificationsNoRead or replace the new-lead email rule; send alone.
read_scope_by_roleNoPer role: own (their book), team (their reporting tree's) or all (default). A member's own setting wins.
recorder_auto_scopeNoAutomatic joins: external customer calls (default), or off (manual record_meeting only).
auto_create_contactsNoAllow new contacts from email/calendar ingestion; existing activity continues either way.
recorder_notice_enabledNoEmail external attendees an hour before recording with opt-out; needs confirm:true.

Output Schema

NameRequiredDescriptionDefault
noteNo
changedNo
changesNo
updatedNo
problemsNo
settingsNo
requires_confirmNo
lead_notificationsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / autonomy_by_role
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Per role (admin, manager, member) and source (assistant: a direct write; conversation: a review of pasted text; call, email, meeting, linkedin, sms, other: a review of that stored conversation): commit (default) | review (assistant only: propose → review first) | queue (held for an admin).",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / read_scope_by_role
      Added value: +{
      +  "description": "Per role: own (their book), team (their reporting tree's) or all (default). A member's own setting wins.",
      +  "properties": {
      +    "manager": {
      +      "description": "One of: own | team | all.",
      +      "type": "string"
      +    },
      +    "member": {
      +      "description": "One of: own | team | all.",
      +      "type": "string"
      +    },
      +    "viewer": {
      +      "description": "One of: own | team | all.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed14 schema fields changed
    • removedInput schema / properties / allow_domain_join / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / allow_domain_join / type
      Added value: +[
      +  "boolean",
      +  "string",
      +  "number"
      +]
    • removedInput schema / properties / auto_create_contacts / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / auto_create_contacts / type
      Added value: +[
      +  "boolean",
      +  "string",
      +  "number"
      +]
    • removedInput schema / properties / confirm / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / confirm / type
      Added value: +[
      +  "boolean",
      +  "string",
      +  "number"
      +]
    • removedInput schema / properties / flags / properties / automation_enabled / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / flags / properties / automation_enabled / type
      Added value: +[
      +  "boolean",
      +  "string",
      +  "number"
      +]
    • removedInput schema / properties / logo_url / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / logo_url / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / recorder_enabled / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / recorder_enabled / type
      Added value: +[
      +  "boolean",
      +  "string",
      +  "number"
      +]
    • removedInput schema / properties / recorder_notice_enabled / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / recorder_notice_enabled / type
      Added value: +[
      +  "boolean",
      +  "string",
      +  "number"
      +]
  4. Changed1 schema field changed
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
  5. Changed1 schema field changed
    • changedInput schema / properties / lead_notifications / oneOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "action": {
      -        "const": "read",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "action"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "action": {
      -        "const": "configure",
      -        "type": "string"
      -      },
      -      "enabled": {
      -        "type": "boolean"
      -      },
      -      "expected_version": {
      -        "anyOf": [
      -          {
      -            "exclusiveMinimum": 0,
      -            "maximum": 9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "message_field_key": {
      -        "anyOf": [
      -          {
      -            "maxLength": 128,
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "recipient_email": {
      -        "anyOf": [
      -          {
      -            "maxLength": 254,
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "recipient_ids": {
      -        "items": {
      -          "format": "uuid",
      -          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -          "type": "string"
      -        },
      -        "maxItems": 20,
      -        "type": "array"
      -      },
      -      "recipient_mode": {
      -        "enum": [
      -          "owner",
      -          "members",
      -          "inbox"
      -        ],
      -        "type": "string"
      -      },
      -      "source_filter": {
      -        "anyOf": [
      -          {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "action",
      -      "enabled",
      -      "source_filter",
      -      "recipient_mode",
      -      "recipient_ids",
      -      "message_field_key",
      -      "expected_version"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "action": {
      +        "const": "read",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "action"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "action": {
      +        "const": "configure",
      +        "type": "string"
      +      },
      +      "enabled": {
      +        "type": "boolean"
      +      },
      +      "expected_version": {
      +        "anyOf": [
      +          {
      +            "exclusiveMinimum": 0,
      +            "maximum": 9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "message_field_key": {
      +        "anyOf": [
      +          {
      +            "maxLength": 128,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "recipient_email": {
      +        "anyOf": [
      +          {
      +            "maxLength": 254,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "recipient_ids": {
      +        "items": {
      +          "format": "uuid",
      +          "type": "string"
      +        },
      +        "maxItems": 20,
      +        "type": "array"
      +      },
      +      "recipient_mode": {
      +        "enum": [
      +          "owner",
      +          "members",
      +          "inbox"
      +        ],
      +        "type": "string"
      +      },
      +      "source_filter": {
      +        "anyOf": [
      +          {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "action",
      +      "enabled",
      +      "source_filter",
      +      "recipient_mode",
      +      "recipient_ids",
      +      "message_field_key",
      +      "expected_version"
      +    ],
      +    "type": "object"
      +  }
      +]
  6. Changed8 schema fields changed
    • removedOutput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • removedOutput schema / additionalProperties
      Removed value: -{}
    • removedOutput schema / properties / changes / items / additionalProperties
      Removed value: -{}
    • removedOutput schema / properties / changes / items / propertyNames
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / lead_notifications / additionalProperties
      Removed value: -{}
    • removedOutput schema / properties / lead_notifications / propertyNames
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / settings / additionalProperties
      Removed value: -{}
    • removedOutput schema / properties / settings / propertyNames
      Removed value: -{
      -  "type": "string"
      -}
  7. Changed15 schema fields changed
    • changedInput schema / properties / allow_domain_join / description
      Previous value: -"Let colleagues on the workspace's organisational email domain join without an invite. Access posture: needs confirm:true."New value: +"Allow organisational-domain colleagues to join without invitation; needs confirm:true."
    • changedInput schema / properties / auto_create_contacts / description
      Previous value: -"Whether mail and calendar ingestion may mint NEW contacts; false stops minting while existing contacts keep getting activity."New value: +"Allow new contacts from email/calendar ingestion; existing activity continues either way."
    • changedInput schema / properties / confirm / description
      Previous value: -"true carries out a change to recorder_enabled, recorder_notice_enabled or allow_domain_join; omitted or false returns the preview and writes nothing."New value: +"Apply posture/notification changes; false or omitted previews without writing."
    • changedInput schema / properties / currency_display / description
      Previous value: -"Money read style — symbol ($1,200) or code (USD 1,200); null restores the default symbol rendering."New value: +"Money display; null defaults to symbol."
    • changedInput schema / properties / date_format / description
      Previous value: -"Workspace-wide numeric date format; null restores Automatic (the pinned MM/DD/YYYY canon)."New value: +"Date format; null restores Automatic (MM/DD/YYYY)."
    • changedInput schema / properties / deal_value_metric / description
      Previous value: -"How product-derived deal values normalize onto a time basis; existing amounts are never rewritten."New value: +"Product value time basis; does not rewrite existing amounts."
    • changedInput schema / properties / default_currency / description
      Previous value: -"ISO 4217 code (USD, EUR, GBP, SEK, DKK, NOK, JPY, KWD, BHD). Locked while any Fixed exchange rate exists because Fixed rates are denominated in it."New value: +"Supported ISO 4217 code. Locked while Fixed exchange rates exist."
    • changedInput schema / properties / flags / description
      Previous value: -"Workspace capability flags, currently { automation_enabled }."New value: +"Workspace capability flags."
    • changedInput schema / properties / flags / properties / automation_enabled / description
      Previous value: -"Whether the workspace's declared automation rules fire on record writes."New value: +"Run declared automation rules on record writes."
    • addedInput schema / properties / lead_notifications
      Added value: +{
      +  "description": "Read or replace the new-lead email rule; send alone.",
      +  "oneOf": [
      +    {
      +      "properties": {
      +        "action": {
      +          "const": "read",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "action"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "properties": {
      +        "action": {
      +          "const": "configure",
      +          "type": "string"
      +        },
      +        "enabled": {
      +          "type": "boolean"
      +        },
      +        "expected_version": {
      +          "anyOf": [
      +            {
      +              "exclusiveMinimum": 0,
      +              "maximum": 9007199254740991,
      +              "type": "integer"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "message_field_key": {
      +          "anyOf": [
      +            {
      +              "maxLength": 128,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "recipient_email": {
      +          "anyOf": [
      +            {
      +              "maxLength": 254,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "recipient_ids": {
      +          "items": {
      +            "format": "uuid",
      +            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +            "type": "string"
      +          },
      +          "maxItems": 20,
      +          "type": "array"
      +        },
      +        "recipient_mode": {
      +          "enum": [
      +            "owner",
      +            "members",
      +            "inbox"
      +          ],
      +          "type": "string"
      +        },
      +        "source_filter": {
      +          "anyOf": [
      +            {
      +              "maxLength": 200,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "action",
      +        "enabled",
      +        "source_filter",
      +        "recipient_mode",
      +        "recipient_ids",
      +        "message_field_key",
      +        "expected_version"
      +      ],
      +      "type": "object"
      +    }
      +  ]
      +}
    • changedInput schema / properties / recorder_auto_scope / description
      Previous value: -"Which meetings the recorder joins by itself: external (customer calls, the default) or off (only a human's record_meeting)."New value: +"Automatic joins: external customer calls (default), or off (manual record_meeting only)."
    • changedInput schema / properties / recorder_enabled / description
      Previous value: -"The meeting recorder's one admin switch; on connects every member's calendar to the recorder. Posture change: needs confirm:true."New value: +"Enable recording across member calendars; needs confirm:true."
    • changedInput schema / properties / recorder_notice_enabled / description
      Previous value: -"Email external attendees about an hour before a recorded meeting with a one-click opt-out. Consent posture: needs confirm:true."New value: +"Email external attendees an hour before recording with opt-out; needs confirm:true."
    • changedInput schema / properties / timezone / description
      Previous value: -"IANA time zone name, e.g. Europe/Stockholm or America/New_York; an unknown zone is refused."New value: +"IANA timezone, e.g. Europe/Stockholm."
    • addedOutput schema / properties / lead_notifications
      Added value: +{
      +  "additionalProperties": {},
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
  8. Changed15 schema fields changed
    • changedInput schema / properties / allow_domain_join / description
      Previous value: -"Allow organisational-domain colleagues to join without invitation; needs confirm:true."New value: +"Let colleagues on the workspace's organisational email domain join without an invite. Access posture: needs confirm:true."
    • changedInput schema / properties / auto_create_contacts / description
      Previous value: -"Allow new contacts from email/calendar ingestion; existing activity continues either way."New value: +"Whether mail and calendar ingestion may mint NEW contacts; false stops minting while existing contacts keep getting activity."
    • changedInput schema / properties / confirm / description
      Previous value: -"Apply posture/notification changes; false or omitted previews without writing."New value: +"true carries out a change to recorder_enabled, recorder_notice_enabled or allow_domain_join; omitted or false returns the preview and writes nothing."
    • changedInput schema / properties / currency_display / description
      Previous value: -"Money display; null defaults to symbol."New value: +"Money read style — symbol ($1,200) or code (USD 1,200); null restores the default symbol rendering."
    • changedInput schema / properties / date_format / description
      Previous value: -"Date format; null restores Automatic (MM/DD/YYYY)."New value: +"Workspace-wide numeric date format; null restores Automatic (the pinned MM/DD/YYYY canon)."
    • changedInput schema / properties / deal_value_metric / description
      Previous value: -"Product value time basis; does not rewrite existing amounts."New value: +"How product-derived deal values normalize onto a time basis; existing amounts are never rewritten."
    • changedInput schema / properties / default_currency / description
      Previous value: -"Supported ISO 4217 code. Locked while Fixed exchange rates exist."New value: +"ISO 4217 code (USD, EUR, GBP, SEK, DKK, NOK, JPY, KWD, BHD). Locked while any Fixed exchange rate exists because Fixed rates are denominated in it."
    • changedInput schema / properties / flags / description
      Previous value: -"Workspace capability flags."New value: +"Workspace capability flags, currently { automation_enabled }."
    • changedInput schema / properties / flags / properties / automation_enabled / description
      Previous value: -"Run declared automation rules on record writes."New value: +"Whether the workspace's declared automation rules fire on record writes."
    • removedInput schema / properties / lead_notifications
      Removed value: -{
      -  "description": "Read or replace the new-lead email rule; send alone.",
      -  "oneOf": [
      -    {
      -      "properties": {
      -        "action": {
      -          "const": "read",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "action"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "properties": {
      -        "action": {
      -          "const": "configure",
      -          "type": "string"
      -        },
      -        "enabled": {
      -          "type": "boolean"
      -        },
      -        "expected_version": {
      -          "anyOf": [
      -            {
      -              "exclusiveMinimum": 0,
      -              "maximum": 9007199254740991,
      -              "type": "integer"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "message_field_key": {
      -          "anyOf": [
      -            {
      -              "maxLength": 128,
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "recipient_email": {
      -          "anyOf": [
      -            {
      -              "maxLength": 254,
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "recipient_ids": {
      -          "items": {
      -            "format": "uuid",
      -            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -            "type": "string"
      -          },
      -          "maxItems": 20,
      -          "type": "array"
      -        },
      -        "recipient_mode": {
      -          "enum": [
      -            "owner",
      -            "members",
      -            "inbox"
      -          ],
      -          "type": "string"
      -        },
      -        "source_filter": {
      -          "anyOf": [
      -            {
      -              "maxLength": 200,
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        }
      -      },
      -      "required": [
      -        "action",
      -        "enabled",
      -        "source_filter",
      -        "recipient_mode",
      -        "recipient_ids",
      -        "message_field_key",
      -        "expected_version"
      -      ],
      -      "type": "object"
      -    }
      -  ]
      -}
    • changedInput schema / properties / recorder_auto_scope / description
      Previous value: -"Automatic joins: external customer calls (default), or off (manual record_meeting only)."New value: +"Which meetings the recorder joins by itself: external (customer calls, the default) or off (only a human's record_meeting)."
    • changedInput schema / properties / recorder_enabled / description
      Previous value: -"Enable recording across member calendars; needs confirm:true."New value: +"The meeting recorder's one admin switch; on connects every member's calendar to the recorder. Posture change: needs confirm:true."
    • changedInput schema / properties / recorder_notice_enabled / description
      Previous value: -"Email external attendees an hour before recording with opt-out; needs confirm:true."New value: +"Email external attendees about an hour before a recorded meeting with a one-click opt-out. Consent posture: needs confirm:true."
    • changedInput schema / properties / timezone / description
      Previous value: -"IANA timezone, e.g. Europe/Stockholm."New value: +"IANA time zone name, e.g. Europe/Stockholm or America/New_York; an unknown zone is refused."
    • removedOutput schema / properties / lead_notifications
      Removed value: -{
      -  "additionalProperties": {},
      -  "propertyNames": {
      -    "type": "string"
      -  },
      -  "type": "object"
      -}
  9. Changed15 schema fields changed
    • changedInput schema / properties / allow_domain_join / description
      Previous value: -"Let colleagues on the workspace's organisational email domain join without an invite. Access posture: needs confirm:true."New value: +"Allow organisational-domain colleagues to join without invitation; needs confirm:true."
    • changedInput schema / properties / auto_create_contacts / description
      Previous value: -"Whether mail and calendar ingestion may mint NEW contacts; false stops minting while existing contacts keep getting activity."New value: +"Allow new contacts from email/calendar ingestion; existing activity continues either way."
    • changedInput schema / properties / confirm / description
      Previous value: -"true carries out a change to recorder_enabled, recorder_notice_enabled or allow_domain_join; omitted or false returns the preview and writes nothing."New value: +"Apply posture/notification changes; false or omitted previews without writing."
    • changedInput schema / properties / currency_display / description
      Previous value: -"Money read style — symbol ($1,200) or code (USD 1,200); null restores the default symbol rendering."New value: +"Money display; null defaults to symbol."
    • changedInput schema / properties / date_format / description
      Previous value: -"Workspace-wide numeric date format; null restores Automatic (the pinned MM/DD/YYYY canon)."New value: +"Date format; null restores Automatic (MM/DD/YYYY)."
    • changedInput schema / properties / deal_value_metric / description
      Previous value: -"How product-derived deal values normalize onto a time basis; existing amounts are never rewritten."New value: +"Product value time basis; does not rewrite existing amounts."
    • changedInput schema / properties / default_currency / description
      Previous value: -"ISO 4217 code (USD, EUR, GBP, SEK, DKK, NOK, JPY, KWD, BHD). Locked while any Fixed exchange rate exists because Fixed rates are denominated in it."New value: +"Supported ISO 4217 code. Locked while Fixed exchange rates exist."
    • changedInput schema / properties / flags / description
      Previous value: -"Workspace capability flags, currently { automation_enabled }."New value: +"Workspace capability flags."
    • changedInput schema / properties / flags / properties / automation_enabled / description
      Previous value: -"Whether the workspace's declared automation rules fire on record writes."New value: +"Run declared automation rules on record writes."
    • addedInput schema / properties / lead_notifications
      Added value: +{
      +  "description": "Read or replace the new-lead email rule; send alone.",
      +  "oneOf": [
      +    {
      +      "properties": {
      +        "action": {
      +          "const": "read",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "action"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "properties": {
      +        "action": {
      +          "const": "configure",
      +          "type": "string"
      +        },
      +        "enabled": {
      +          "type": "boolean"
      +        },
      +        "expected_version": {
      +          "anyOf": [
      +            {
      +              "exclusiveMinimum": 0,
      +              "maximum": 9007199254740991,
      +              "type": "integer"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "message_field_key": {
      +          "anyOf": [
      +            {
      +              "maxLength": 128,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "recipient_email": {
      +          "anyOf": [
      +            {
      +              "maxLength": 254,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "recipient_ids": {
      +          "items": {
      +            "format": "uuid",
      +            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +            "type": "string"
      +          },
      +          "maxItems": 20,
      +          "type": "array"
      +        },
      +        "recipient_mode": {
      +          "enum": [
      +            "owner",
      +            "members",
      +            "inbox"
      +          ],
      +          "type": "string"
      +        },
      +        "source_filter": {
      +          "anyOf": [
      +            {
      +              "maxLength": 200,
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "action",
      +        "enabled",
      +        "source_filter",
      +        "recipient_mode",
      +        "recipient_ids",
      +        "message_field_key",
      +        "expected_version"
      +      ],
      +      "type": "object"
      +    }
      +  ]
      +}
    • changedInput schema / properties / recorder_auto_scope / description
      Previous value: -"Which meetings the recorder joins by itself: external (customer calls, the default) or off (only a human's record_meeting)."New value: +"Automatic joins: external customer calls (default), or off (manual record_meeting only)."
    • changedInput schema / properties / recorder_enabled / description
      Previous value: -"The meeting recorder's one admin switch; on connects every member's calendar to the recorder. Posture change: needs confirm:true."New value: +"Enable recording across member calendars; needs confirm:true."
    • changedInput schema / properties / recorder_notice_enabled / description
      Previous value: -"Email external attendees about an hour before a recorded meeting with a one-click opt-out. Consent posture: needs confirm:true."New value: +"Email external attendees an hour before recording with opt-out; needs confirm:true."
    • changedInput schema / properties / timezone / description
      Previous value: -"IANA time zone name, e.g. Europe/Stockholm or America/New_York; an unknown zone is refused."New value: +"IANA timezone, e.g. Europe/Stockholm."
    • addedOutput schema / properties / lead_notifications
      Added value: +{
      +  "additionalProperties": {},
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
  10. Changed1 schema field changed
    • changedInput schema / properties / default_currency / description
      Previous value: -"ISO 4217 code (USD, EUR, GBP, SEK, DKK, NOK, JPY, KWD, BHD). Locked while any manual exchange rate exists because stored rates are denominated in it."New value: +"ISO 4217 code (USD, EUR, GBP, SEK, DKK, NOK, JPY, KWD, BHD). Locked while any Fixed exchange rate exists because Fixed rates are denominated in it."
  11. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already declaring mutation, destructiveness, idempotency and internal scope, the description adds substantial behavior: omitted fields stay unchanged, most posture/notification changes need confirm:true or preview, default_currency is locked while Fixed rates exist, and lead_notifications supports read/configure with expected_version. It also discloses that settings changes are internal, default off, and have no backfill.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The length is justified by the 16-parameter, nested tool surface, and most sentences carry non-redundant operational detail. Structure is slightly dense and telegraphic in places, especially the semicolon-heavy constraint block and the fragment 'Internal, default off, no backfill', but the key behavior is front-loaded and the example is useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema and 100% schema descriptions, the definition supplies the missing behavioral context an agent needs: admin scope, PATCH semantics, preview/confirm rules, currency locking, lead-notification read/configure behavior, recipient constraints, and return summary. It is complete enough to invoke safely without repeating every schema field description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds important cross-parameter meaning beyond the schema: which settings require confirm:true, how lead_notifications read/configure works, expected_version semantics, source_filter matching, recipient constraints, and message_field_key:null behavior. It does not elaborate every top-level parameter, but it substantively clarifies the hardest nested and conditional parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Admin PATCH' for workspace settings) and grounds it with 'When to use: An admin changes workspace preferences, access, automation or internal lead alerts.' It also distinguishes key sibling routes, such as using finalize_workspace_setup for name/framework and set_exchange_rates for currency changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use statement and routes several subcases to alternatives: finalize_workspace_setup for name/framework, set_exchange_rates for removing Fixed rates, and manage_approvals for autonomy evidence. The preview-vs-confirm behavior is also clearly tied to the affected setting groups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources