Browse docs

Configured tool · write

set_brand_notes

Rewrite the Voice section and/or the Never do section of the workspace brief in the person's words, leaving every other section as it is.

writenon-destructiveclosed-worldchat-only

Human and agent roles

Configured boundary

Configured workspace

Postdom Chat only, with the signed-in owner's or admin's authority. Only the edited sections change: the brief is parsed, the one or two sections are replaced, and the same serializer the Rules page uses writes it back as a new version against the current one. Propose, then confirm: the API refuses any call the assistant's own previous answer did not propose and the person's current message does not agree to. The proposal is read from the end of that answer only: the last sentence ending in a question mark, plus the one sentence before it. Those sentences carry the new value and where it lands - the asking level as its own sentence, posts per day as a digit, quiet hours as HH:MM to HH:MM or the words no quiet hours, a pause as pause or resume, brand notes as the section text in double quotes - with @handle for one account or the word everywhere for the workspace. One change per question: a question that offers two changes, joins alternatives with or, or names two accounts (or an account and the workspace) is refused, because a yes does not say which. Anything else is refused with rules_change_not_asked before the call. Each line of a section has to appear in the answer the person agreed to, which is how a section of any length is normally settled: read it back, then save it on their yes.

This reference describes a connection made with @postdom/mcp@0.4.0 and a workspace-scoped agent key created in Accounts.

Callable schema

Input fields

Field names match the configured tool schema. Runtime-only constraints are labeled separately from schema validation.

FieldTypeContract
voiceOptional
string
1 to 4,000 characters · the whole new section · no heading lines, no bare carriage returns

How the brand should sound. A line beginning with # is refused: the brief is one document split on its headings, and a heading inside a section would take the sections after it. A carriage return with no newline after it is refused too - it ends a line for the parser and for a browser, so the same text would mean two different things.

never_doOptional
string
1 to 4,000 characters · the whole new section · no heading lines, no bare carriage returns

Topics, claims, phrases or treatments the agent must avoid. Refused on a heading line or a bare carriage return, for the same reason.

Synthetic values

Example call

Identifiers and values are examples. They do not represent a connected workspace or accepted media source.

EXAMPLE CALL · CONFIGURED TOOL SCHEMA
set_brand_notes({
  voice: "Calm and specific, first person plural. No hype.",
  never_do: "Never name competitors. Never promise availability dates."
})

Observed API record

Return shape

Returns a rules_change card with subject brand_notes: the two sections before and after, which of them changed, and the brief version they were saved in.

kind · subjectrules_change · brand_notes
The same card shape, over the brief's two sections.
applied · versionboolean · integer | null
Whether a new version was saved, and which.
before · after · changed{ voice, never_do } · field[]
The section text before and after, and which sections moved.
blockedobject | null
brief_version_conflict when someone else saved the brief first, twice; the card then carries the latest sections.
shortenedboolean
True when the section text quoted on the card was cut to keep the card inside the chat's result bound. It says nothing about what was saved: the brief holds the whole text.

Stop conditions

Agent handoff

applied

Say the change

Report which sections changed and the new text, from the card.

brief_version_conflict

Show the latest

Nothing was written; say so and show the sections as they are now.

rules_change_not_asked

Propose, do not retry

The section text has to be in the answer they agreed to. Show them the wording, ask, and save it on their yes.

admin_role_required

Refuse truthfully

A workspace owner or admin can change rules.

VERIFIED · 26 AUGUST 2026GET /v1/dashboard/brief · POST /v1/dashboard/brief with base_version

Examples are synthetic. Human workspace-key creation and revocation remain in the authenticated Accounts screen.