Skip to main content
Glama

update_row

Update specific properties on a Notion database row while leaving the page content unchanged. Provide row reference and property values to modify only the named fields.

Instructions

Set properties on a database row, as {title, url, properties}. Only the named properties change; the page body is untouched. ref: an alias, a notion.so URL, an id, or an exact row title. properties: property name -> value. Call get_database_schema first for the valid names and, for select and status properties, the valid options.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refYes
propertiesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals a key behavior: only named properties change and the page body is untouched. But for a mutation tool, it does not disclose whether this is a partial update (PATCH-like) or replaces the entire row, what auth/permissions are needed, how invalid property names or values are handled, or whether changes are reversible. These gaps leave the agent with incomplete behavioral context.

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 description is compact and dense, with every line contributing useful info. The core behavior is front-loaded, followed by concise parameter definitions. The bullet-like formatting for ref and properties is scannable and doesn't waste tokens. It earns a 4 because it is efficiently structured, though the two-line breaks are slightly unnecessary.

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

Completeness3/5

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

Given zero annotations and no output schema, the description provides a usable but incomplete picture. It explains what the tool does, what the two parameters mean, and the recommended prerequisite call. But it lacks details on return value (does it return the updated row?), error pehavior for non-existent refs or invalid properties, and rquirements like write permissions. For a mutation tool, this is enough to start but not fully self-sufficient.

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

Parameters3/5

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

The schema is minimal: ref is just a string and properties is an open object. The description compensates significantly by explaining the accepted ref formats (alias, notion.so URL, id, or exact row title) and that properties is a property-name-to-value mapping. However, it doesn't add guidance on how to structure complex values (e.g., select/status options, multi-select, date format), which is a common Notion API pain point.

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

Purpose4/5

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

The description starts with a specific verb and resource: 'Set properties on a database row.' It clearly distinguishes the operation from page-body edits by stating 'the page body is untouched.' It does not explicitly differentiate from create_row or append_to_page, but the combination of 'update' in the name and the explicit scope makes the purpose clear.

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

Usage Guidelines3/5

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

The description implies when to use this tool by stating it only affects named properties and not the page body, which contrasts with sibling operations like append_to_page. It also gives the prerequisite 'Call get_database_schema first' for valid names/options. However, it never explicitly states when to prefer this over create_row, query_database, or other siblings, so the usage guidance is mostly implied.

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