Browse docs

Configured tool · write

set_approval_rule

Change when Postdom asks the person before posting, or pause posting, for the whole workspace or for one connected account.

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. It is not on the agent MCP menu: it writes through the dashboard's rules routes, which refuse every agent credential, and a member is refused with admin_role_required. Level 3 keeps its gate: a daily limit and at least one allowed visibility on the account. The gates are in the API, not in the prompt: a rules tool is refused outright after a tool result. 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. asking_level 3 is confirmed by its own sentence rather than by yes - Post without asking, which is what the onboarding chip sends.

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
account_idOptional
string
A connected account's id from the workspace facts

Scopes the change to one account as an exception to the workspace rule. Omit for the workspace.

asking_levelOptional
0 | 1 | 2 | 3
0 You schedule everything yourself · 1 Ask me before every post · 2 Ask me once per plan · 3 Post without asking

When Postdom asks the person before posting. The L-numbers stay in the API; the chat says the sentence.

pausedOptional
boolean
Workspace: the pause-all brake · account: that account's own pause

Stops new agent work. Anything already handed to a platform still goes out.

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_approval_rule({
  account_id: "acct_example_li",
  asking_level: 1
})

Observed API record

Return shape

Returns the rules_change card: the rules before, the rules after, exactly which fields moved, and a one-line summary. applied is false, with a blocked sentence, when nothing was saved.

kind · subjectrules_change · rules
The card shape the app renders and the chat reports from.
scopeworkspace | account
Whose rules changed. An account scope carries its id, platform and handle.
appliedboolean
Whether the write landed. False means before equals after and blocked says why.
before · afterrules snapshot
asking_level with its sentence, paused, posts_per_day and quiet_hours, read back from the API after the write rather than assumed from the request.
changedfield[]
Exactly the fields that differ between before and after.
blockedobject | null
code and one sentence when nothing was saved. policy_required names what level 3 is missing; policy_version_conflict means someone else saved first, twice.
exceptions · exceptions_not_shownarray · integer
Accounts that keep their own asking level when the workspace's changes, so the card never claims a workspace rule over an exception. A card too large to carry all of them drops from the end and counts what it dropped.
timezone · summarystring
The workspace clock the limits are counted on, and the one-line before → after.

Stop conditions

Agent handoff

applied

Say the change

State before → after in the person's words, from the card, never as a prediction.

policy_required

Say what is missing

Repeat the blocked sentence as written and do not claim the level changed.

policy_version_conflict

Show the latest

The rules changed under the write twice. The card carries the latest saved rules; say so.

post_without_asking_unconfirmed

Ask for the sentence

Level 3 was not set. Propose it and ask them to reply with Post without asking; a yes is not enough for this one.

rules_change_not_asked

Propose, do not retry

Nothing you proposed was confirmed. Say the change in one sentence with its values and where it lands, end with a question, and call again on their yes.

admin_role_required

Refuse truthfully

A workspace owner or admin can change rules.

VERIFIED · 26 AUGUST 2026PUT /v1/dashboard/policies/workspace-defaults/conditional · POST /v1/dashboard/accounts/trust · POST /v1/dashboard/accounts/pause · POST /v1/dashboard/pause

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