Free Intro Class
    Botspot Logo

    agenthub · notion.write

    Notion Write

    Update a Notion page or database row's properties. The deterministic write counterpart to the Notion read node.

    category Integrationsin page_id · propertiesout ok · data · errorexecution asyncmodel cost whatever the tool charges

    Why the node earns its place

    The typical use is a status sync: a milestone is reached, so advance a row's Stage. Same per-caller connection as reading, same rule that no secret sits on the canvas.

    Because the write sets a named field to a value, a repeat converges on the same state — which is what makes it safe for a run that resumes and executes it twice.

    How it works at run time

    1. 1
      Resolve the connection for whoever is running.
    2. 2
      Take the page id — usually driven by an upstream row rather than typed in.
    3. 3
      Set either one property to one value, or a whole properties map, which wins when both are given.
    4. 4
      Return the standard ok, data, error envelope.

    What you wire

    Inputs

    • page_id
      string
    • properties
      object

    Outputs

    • ok
      boolean
    • data
      object
    • error
      object

    Configuration

    KeyTypeDefault & optionsWhat it does
    connection *stringdefault "notion"The connection to write through (auth_layer tool_id). Resolved per-caller at run time. Never a secret.
    page_idstringThe page / database-row id to update — the `id` notion.read returns for each row. Overridable via the `page_id` input so an upstream node (e.g. a fan-out row) can drive it.
    propertystringSingle property name to set, e.g. 'Stage'. Use with `value`. For multi-property updates use the `properties` map instead.
    valuestringValue for `property`. Supports {{context_key}} interpolation. For a select, just the option name (e.g. 'account_created'); a number, the bare number; a checkbox, '__YES__' / '__NO__'.
    propertiesobjectAdvanced: a full {name: value} map (wins over property/value). Date props split into 'date:<prop>:start' etc.; checkbox uses '__YES__'/'__NO__'; relations take an array of page ids/URLs.

    What usually goes wrong

    Watch for this

    Property values are typed by Notion, and the encoding is particular: a select takes the bare option name, a number the bare number, a checkbox __YES__ or __NO__, a relation an array of ids, and a date splits across date:<prop>:start. A value in the wrong encoding fails at Notion, not on the canvas.

    Behaviour & provenance

    buildersChat & voice agents, Image workflows, Video workflows, Automations
    routesno
    side effectsexternal_write
    replay safetynatural
    talks tothe tool gateway
    holdsthe caller's own identity